终止支持通知:2025 年 9 月 10 日, AWS
将停止对的支持。 AWS RoboMaker2025 年 9 月 10 日之后,您将无法再访问 AWS RoboMaker 控制台或 AWS RoboMaker 资源。有关过渡 AWS Batch 到以帮助运行容器化仿真的更多信息,请访问此博客文章。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
常见任务
本节包含创建模拟世界模板的常见任务。许多任务都指定所需的连接或形状。Simulation WorldForge 会尽可能根据模拟世界模板参数生成世界。生成的世界可能并不总是包含所有所需的属性。
指定楼层的房间清单
房间类型通过与哪些房间相邻影响平面图。房间类型还用于确定其地板和墙壁的材料类型以及默认情况下要随机放置的家具类型。您可以按房间类型或房间名称覆盖默认的地板和墙壁材料类型以及家具类型。
您可以从以下房间类型中进行选择:卧室、浴室、客厅、餐厅、厨房、走廊、壁橱。
以下示例指定了三居室的房屋。房间的大小和形状是默认确定的。
- Using the console
-
-
在模拟世界模板编辑屏幕的楼层平面图下,选择房间。
-
在 房间 窗格中,选择 添加房间。
-
添加房间的详细信息。您可以指定房间 名称、房间类型、所需面积和 所需纵横比。
-
选择 保存以保存新房间。重复此操作,直到找到您想要的房间。如果添加的房间太多,则可以从房间窗格中将其删除。
- Using the AWS CLI
-
您可以在 templateBody
中使用以下 JSON 作为 create-world-template
调用的一部分。
"Rooms": [
{
"Type": "Bedroom",
"Name": "My Master Bedroom",
},
{
"Type": "Bathroom",
"Name": "My Ensuite",
},
{
"Type": "Kitchen",
"Name": "My Kitchen",
}
]
请求一条长走廊
您可以使用 DesiredShape
属性要求房间的首选形状。Type
对形状没有影响。在以下示例中,Hallway
纵横比很低。当它与足够大的 Area
组合在一起时,表明您需要一条又长又窄的走廊。Simulation WorldForge 尝试生成与所需形状相似的房间。
- Using the console
-
-
在 模拟世界模版编辑屏幕的 楼层平面图下,选择 房间。
-
在 房间 窗格中,选择 添加房间。
-
指定房间名称,然后为房间类型选择走廊。
-
指定 20
的所需面积及 4:1
D所需纵横比。
-
选择保存以保存走廊。
- Using the AWS CLI
-
您可以在 templateBody
中使用以下 JSON 作为 create-world-template
调用的一部分。
"Rooms": [
{
"Type": "Hallway",
"Name": "My Hallway",
"DesiredShape": {
"Area": 20.0,
"AspectRatio": {
"x": 4, "y": 1
}
}
}
]
房间的有效面积范围为 10 米到 300 米。有效的房间纵横比范围为 1:4 到 4:1。
请求房间之间的门廊
如果您有两个房间,并且这些房间至少共用一堵墙,则可以在两个房间之间请求 DesiredConnections
。Simulation WorldForge 会尝试将房间放置在相邻的相邻墙上,视 ConnectionType
而定,要么将 Doorway
放置在相邻墙上的随机位置,要么通过完全移除相邻的墙来创建 Opening
。
以下示例请求起居室和厨房的开放连接。它还要求卧室和浴室有单独的门口连接:
- Using the console
-
-
在 模拟世界模版编辑屏幕的 楼层平面图下,选择 连接。
-
在 连接 窗格中选择 添加连接。
-
在 所需连接窗格中,为 连接类型选择 打开,然后为 位置 1 和 位置 2 选择一个房间,例如“我的客厅”和“我的厨房”。
-
选择 保存以保存所需的连接。
-
重复此操作,在其他两个位置(例如“我的卧室”和“我的浴室”)之间添加一扇门作为所需的连接。
- Using the AWS CLI
-
您可以在 templateBody
中使用以下 JSON 作为 create-world-template
调用的一部分。
"DesiredConnections": [
{
"Location": [ "My Living Room", "My Kitchen" ],
"ConnectionType": "Opening"
},
{
"Location": [ "My Bedroom", "My Bathroom" ],
"ConnectionType": "Doorway"
}
]
每个房间的有效连接数为 4 个,每对房间最多只能有一个开启连接。
将配置应用于所有房间
您只能使用版本 2 及更高版本的模板将配置应用于所有房间。有关更多信息,请参阅将配置应用于所有房间。
您可以使用 Target.All
关键字将配置应用于所有房间。
以下示例将更改所有门的门状态。
- Using the console
-
以下过程使您能够为世界中的所有门应用配置。您也可以将单一配置应用于所有地板、材料组、墙壁和家具。
-
在 模拟世界模版编辑屏幕的 内部装饰下,选择 门。
-
在 门窗格中,选择 添加自定义门。
-
在 套装名称中,为您的自定义门组指定一个名称。
-
对于 受影响房间,请指定 所有房间。
-
对于 门状态,选择门的打开状态。
-
选择 保存 以保存新配置。
- Using the AWS CLI
-
您可以在 templateBody
中使用以下 JSON 作为 create-world-template
调用的一部分。以下示例以门口集合中的所有门为目标。
"Interior": {
"Doorways": {
"DoorwaySets": [
{
"Name": "your-doorway-set",
"TargetSet": "Target.All",
"Door": {
"InitialState": {
"OpenPosition": {
"Percent": "percentage-that-you-specify"
}
}
}
}
]
}
}
在门廊请求门
您只能使用版本 2 及更高版本的世界模板将门廊配置为有门。
在 AWS RoboMaker Simulation WorldForge 世界中,您可以使用模板来指定门廊的门。
您可以指定以下门的类型:
您可以配置这些门的打开程度。例如,您可以指定以下打开状态:
-
0% 打开 — 已关闭
-
50% 打开 — 半开
-
70% 打开 — 打开大半
-
100% 打开 — 完全打开
你也可以选择让 AWS RoboMaker 为每扇门分配一个随机开启百分比。
您可以通过以下流程为您的门廊添加门。
- Using the console
-
-
在 模拟世界模版编辑屏幕的 内部装饰下,选择 门。
-
在 门窗格中,选择 添加自定义门。
-
在 套装名称中,命名您的自定义门套装。
-
对于 位置下的 受影响房间,请选择要设置门的房间。
-
对于 自定义下的 门类型,选择要添加的门类型。
-
在 门状态下,选择门是打开、关闭、部分打开还是处于随机状态。
-
选择 保存 以保存配置。
- Using the AWS CLI
-
您可以在 templateBody
中使用以下 JSON 作为 create-world-template
调用的一部分。
"Interior": {
"Doorways": {
"DoorwaySets": [
{
"Name": "your-doorway-set",
"TargetSet": "the-doorways-that-you-want-to-target",
"Door": {
"InitialState": {
"OpenPosition": {
"Percent": "the-open-percentage-that-you-specify-for-the-doors-that-you're-targeting"
}
}
}
]
}
}
请求门廊不设置门
您只能使用版本 2 及更高版本的世界模板将门廊配置为无门。
在 AWS RoboMaker Simulation WorldForge 世界中,您可以使用模板明确指定门廊无门。
以下示例要求房间之间的门廊无门。
- Using the console
-
-
在 模拟世界模版编辑屏幕的 内部装饰下,选择 门。
-
在 门窗格中,选择 A添加自定义门。
-
在 位置下的 受影响房间 窗格中,选择 所有房间。
-
对于 自定义下的 门类型,选择 门廊无门。
-
选择 Save(保存)。
- Using the AWS CLI
-
您可以在 templateBody
中使用以下 JSON 作为 create-world-template
调用的一部分。
"Interior": {
"Doorways": {
"DoorwaySets": [
{
"Name": "doorway-set-name
",
"TargetSet": "Target.All",
"Door": null
}
]
}
如果您想要更长或更宽的平面图布局来影响所有房间,你可以为 Footprint
申请 DesiredAspectRatio
。Simulation WorldForge 使用此偏好来影响房间的整体形状和位置,从而使平面图更符合要求的占地面积纵横比。所需纵横比是可选的,默认为正方形。
以下示例将默认的正方形比例 (1:1) 改为更宽的布局,在这种布局中,所有房间都更有可能被拉伸和放置以形成非正方形占地面积:
- Using the console
-
-
在 模拟世界模版编辑屏幕的 楼层平面图下,选择 世界尺寸。
-
在 世界尺寸窗格中,在 所需纵横比下,指定 1
的 宽度及 4
的 长度。
-
选择 保存以保存新房间。
- Using the AWS CLI
-
您可以在 templateBody
中使用以下 JSON 作为 create-world-template
调用的一部分。
"Footprint": {
"DesiredAspectRatio": {
"x": 1, "y": 4
}
}
DesiredAspectRatio
的有效范围为 1:4 到 4:1。
请求自定义天花板高度
平面图的天花板高度决定了所有房间的墙壁高度。默认天花板高度为 2.4 米。在此示例中,我们将默认值改为 3.2 米:
- Using the console
-
-
在 模拟世界模版编辑屏幕的 楼层平面图下,选择 世界尺寸。
-
在 世界尺寸窗格中,指定 3.2
的 天花板高度。
-
选择 保存以保存新房间。
- Using the AWS CLI
-
您可以在 templateBody
中使用以下 JSON 作为 create-world-template
调用的一部分。
"Ceiling": {
"Height": 3.2
}
为不同房间的地板指定相同的材料类型
使用房间类型或房间名称,并在室内地板部分列出多个房间。在以下示例中,所有卧室、起居室和餐厅都随机分配了地板材料。
- Using the console
-
-
在 模拟世界模版编辑屏幕的 内部装饰下,选择 地板。
-
在 地板窗格中,选择 添加地板。
-
在 自定义地板窗格中,指定地板 套装名称,例如“地板材料套装 1”。
-
在 筛选器类型下,选择 按房间类型。
-
在 房间类型下,选择 卧室、客厅和 餐厅。
-
在 自定义地板下,选择 添加材料,然后选择 地板。
-
选择 保存 保存地板设置。
- Using the AWS CLI
-
您可以在 templateBody
中使用以下 JSON 作为 create-world-template
调用的一部分。
"Flooring": {
"MaterialSets": [
{
"Name": "Flooring Material Set 1",
"TargetSet": {
"RoomTypes": [ "Bedroom", "Living", "Dining" ]
},
"SampleSet": {
"MaterialTypes": [ "Floorboards" ]
}
}
]
}
为相同类型的房间之间的地板指定不同的材料类型
在以下示例中,所有卧室、客厅和餐厅都随机分配了地板材料,但 Bedroom 3
除外。它会被随机分配一种地毯材质。
- Using the console
-
-
在 模拟世界模版编辑屏幕的 内部装饰下,选择 地板。
-
在 地板窗格中,选择 添加地板。
-
在 自定义地板窗格中,指定地板 套装名称,例如 Flooring Material Set
1
。
-
在 筛选器类型下,选择 按房间类型。
-
在 房间类型下,选择 卧室、客厅和 餐厅。
-
在 自定义地板下,选择 添加材料,然后选择 地板。
-
选择 保存 保存地板设置。
-
在 地板窗格中,选择 添加地板。
-
在 自定义地板窗格中,指定地板 套装名称,例如 Flooring Material Set for Bedroom
3
。
-
在 筛选器类型下,选择 按房间名称。
-
在 房间名称下,选择一个房间名称,例如 Bedroom
3
。
-
在 自定义地板下,选择 添加材料,然后选择 地毯。
-
选择 保存 保存地板设置。
- Using the AWS CLI
-
您可以在 templateBody
中使用以下 JSON 作为 create-world-template
调用的一部分。
"Flooring": {
"MaterialSets": [
{
"Name": "Flooring Material Set 1",
"TargetSet": {
"RoomTypes": [ "Bedroom", "Living", "Dining" ]
},
"SampleSet": {
"MaterialTypes": [ "Floorboards" ]
}
},
{
"Name": "Flooring Material Set for Bedroom 3",
"TargetSet": {
"RoomNames": [ "Bedroom 3" ]
},
"SampleSet": {
"MaterialTypes": [ "Carpet" ]
}
}
]
}
指定房间内家具的多与少
您可以通过房间名称或房间类型来指定家具的间隔密度。默认情况下,房间随机布置,间距适中。在以下示例中,所有卧室都随机布置了密集的间隔。客厅和餐厅的家具很少。默认情况下,所有其他房间均配有家具。
- Using the console
-
-
在 模拟世界模版编辑屏幕的 内部装饰下,选择 家具。
-
在 家具 窗格中,选择 添加自定义家具。
-
在 自定义家具窗格中,指定自定义家具 套装名称,例如Dense Furniture Arrangement
。
-
在 筛选器类型下,选择 按房间类型。
-
在 房间类型下,选择 卧室。
-
切换 覆盖家具以使用默认家具。
-
在 家具密度下,选择 密集。
-
选择 保存 保存家具设置。
-
在 家具 窗格中,选择 添加自定义家具。
-
在 自定义家具窗格中,指定自定义家具 套装名称,例如Sparse Furniture Arrangement
。
-
在 筛选器类型下,选择 按房间名称。
-
在 房间名称下,选择要保持家具密度稀疏的房间,例如 My Living Room
和 My Dining
Room
。
-
切换 覆盖家具以使用默认家具。
-
在 家具密度下,选择 稀疏。
-
选择 保存 保存家具设置。
- Using the AWS CLI
-
您可以在 templateBody
中使用以下 JSON 作为 create-world-template
调用的一部分。
"Furniture": {
"FurnitureArrangements": [
{
"Name": "Dense Furniture Arrangement",
"TargetSet": {
"RoomTypes": [ "Bedroom" ]
},
"DesiredSpatialDensity": "Dense"
},
{
"Name": "Sparse Furniture Arrangement",
"TargetSet": {
"RoomNames": [ "My Living Room", "My Dining Room" ]
},
"DesiredSpatialDensity": "Sparse"
}
]
}
为所有卧室和一间共用客厅/餐厅添加特定的家具类型
您可以通过房间名称或房间类型来指定房间的家具类型。在以下示例中,所有卧室都布置得适中,配有随机的床、办公桌、梳妆台和落地灯。“我的客厅/餐厅”房间布置密集,里面摆放着随机的餐桌、餐椅、落地灯、沙发和咖啡桌。默认情况下,所有其他房间均配有家具。
- Using the console
-
-
在 S模拟世界模版编辑屏幕的 内部装饰下,选择 家具。
-
在 家具 窗格中,选择 添加自定义家具。
-
在 自定义家具窗格中,指定自定义家具 套装名称,例如Bedroom Furniture
。
-
在 筛选器类型下,选择 按房间类型。
-
在 房间类型下,选择 卧室。
-
确保选择了 覆盖家具。如果未选中,Simulation WorldForge 将使用默认家具。
-
在 家具类型下,选择 添加家具,然后选择 床、桌子、梳妆台和 落地灯。
-
选择 保存 保存家具设置。
-
在 家具 窗格中,选择 添加自定义家具。
-
在 自定义家具窗格中,指定自定义家具 套装名称,例如Living and Dining
Furniture
。
-
在 筛选器类型下,选择 按房间名称。
-
在 房间名称下,选择一个房间名称,例如 My living
and dining room
。
-
确保选择了 覆盖家具。如果未选中,Simulation WorldForge 将使用默认家具。
-
在 家具类型下,选择 餐桌、餐椅、落地灯、沙发和 咖啡桌。
-
在 家具密度下,选择 密集。
-
选择 保存 保存家具设置。
- Using the AWS CLI
-
您可以在 templateBody
中使用以下 JSON 作为 create-world-template
调用的一部分。
"Furniture": {
"FurnitureArrangements": [
{
"Name": "Bedroom Furniture",
"TargetSet": {
"RoomTypes": [ "Bedroom" ]
},
"SampleSet": {
"ModelTypes": [
"Beds",
"Desks",
"Dressers",
"FloorLamps"
]
}
}
{
"Name": "Living and Dining Furniture",
"TargetSet": {
"RoomNames": [ "My living and dining room" ]
},
"SampleSet": {
"ModelTypes": [
"DiningTables",
"DiningChairs",
"FloorLamps",
"Sofas",
"CoffeeTables"
],
"DesiredSpatialDensity": "Dense"
}
}
]
}
指定无家具房间
为家具布置的模型集指定一个空列表。默认情况下,所有其他房间均配有家具:
- Using the console
-
-
在 模拟世界模版编辑屏幕的 内部装饰下,选择 家具。
-
在 家具 窗格中,选择 添加自定义家具。
-
在 自定义家具窗格中,指定自定义家具 套装名称,例如No furniture
。
-
在 筛选器类型下,选择 按房间名称。
-
在房间名称下,选择您想要没有家具的房间,例如 My Spare Room
。
-
确保选择了 覆盖家具。如果未选中,Simulation WorldForge 将使用默认家具。
-
在 家具类型下,确保未选择任何类型。
-
选择 保存 保存家具设置。
- Using the AWS CLI
-
您可以在 templateBody
中使用以下 JSON 作为 create-world-template
调用的一部分。
"Furniture": {
"FurnitureArrangements": [
{
"Name": "No Furniture",
"TargetSet": {
"RoomNames": [ "My Spare Room" ]
},
"SampleSet": {
"ModelTypes": []
}
}
]
}