Room

Inherits: Spatial < Node < Object

Room 节点,用于在本地将对象组合在一起以进行 Portal 剔除。

描述

Portal 剔除系统需要使用在称为 Room 的区域中按位置分组在一起的对象来构建关卡。在许多情况下,这些将对应于建筑物中的实际空间,但不一定(峡谷区域可能被视为空间)。

如果 VisualInstanceportal_mode 设置为 STATIC(不移动) 或 DYNAMIC(仅在空间内移动),那么任何作为 Room 的子代或孙代的 VisualInstance 将被分配到该空间。

在内部,空间边界必须形成一个凸多边形,默认情况下,这由您放置在空间内的对象的几何形状自动确定。

您也可以精确指定手动绑定。如果放置一个名称以 Bound_ 为前缀的 MeshInstance,它将关闭几何体的边界生成,而是在转换阶段使用这个MeshInstance 的顶点直接计算凸多边形(见RoomManager)。

为了从一个空间看到相邻的空间,Portal 必须放置在空间之间的非遮挡开口上。这些通常会放置在门窗上。

属性

PoolVector3Array

points

PoolVector3Array(  )

float

room_simplify

0.5

bool

use_default_simplify

true

方法

void

set_point ( int index, Vector3 position )

属性说明

Default

PoolVector3Array(  )

Setter

set_points(value)

Getter

get_points()

如果设置了 points,则会从这些点构建 Room 边界凸多边形。如果未设置点,则空间边界将来自手动边界(MeshInstance 名称前缀为 Bound_),或来自空间内的几何体。

请注意,您可以使用 Generate Points 编辑器按钮开始。这将使用几何体或手动绑定来生成空间外壳,并保存结果点,允许您编辑它们以进一步细化边界。


Default

0.5

Setter

set_room_simplify(value)

Getter

get_room_simplify()

simplify 值通过移除相似的平面来确定空间外壳(边界)的简化程度。值 0 表示不简化,1 表示最大程度的简化。


  • bool use_default_simplify

Default

true

Setter

set_use_default_simplify(value)

Getter

get_use_default_simplify()

空间外壳简化可以使用 RoomManager 中设置的默认值,也可以覆盖它并使用每个空间的设置。

方法说明

设置单个点。主要供编辑器使用。