Room
Inherits: Spatial < Node < Object
Room 节点,用于在本地将对象组合在一起以进行 Portal 剔除。
描述
Portal 剔除系统需要使用在称为 Room
的区域中按位置分组在一起的对象来构建关卡。在许多情况下,这些将对应于建筑物中的实际空间,但不一定(峡谷区域可能被视为空间)。
如果 VisualInstance 的 portal_mode
设置为 STATIC
(不移动) 或 DYNAMIC
(仅在空间内移动),那么任何作为 Room
的子代或孙代的 VisualInstance 将被分配到该空间。
在内部,空间边界必须形成一个凸多边形,默认情况下,这由您放置在空间内的对象的几何形状自动确定。
您也可以精确指定手动绑定。如果放置一个名称以 Bound_
为前缀的 MeshInstance,它将关闭几何体的边界生成,而是在转换阶段使用这个MeshInstance 的顶点直接计算凸多边形(见RoomManager)。
为了从一个空间看到相邻的空间,Portal 必须放置在空间之间的非遮挡开口上。这些通常会放置在门窗上。
属性
| ||
| ||
|
方法
void |
属性说明
- PoolVector3Array points
Default |
|
Setter | set_points(value) |
Getter | get_points() |
如果设置了 points
,则会从这些点构建 Room
边界凸多边形。如果未设置点,则空间边界将来自手动边界(MeshInstance 名称前缀为 Bound_
),或来自空间内的几何体。
请注意,您可以使用 Generate Points
编辑器按钮开始。这将使用几何体或手动绑定来生成空间外壳,并保存结果点,允许您编辑它们以进一步细化边界。
- float room_simplify
Default |
|
Setter | set_room_simplify(value) |
Getter | get_room_simplify() |
simplify
值通过移除相似的平面来确定空间外壳(边界)的简化程度。值 0 表示不简化,1 表示最大程度的简化。
- bool use_default_simplify
Default |
|
Setter | set_use_default_simplify(value) |
Getter | get_use_default_simplify() |
空间外壳简化可以使用 RoomManager 中设置的默认值,也可以覆盖它并使用每个空间的设置。
方法说明
设置单个点。主要供编辑器使用。