NavigationMeshSourceGeometryData3D¶
实验性: This class may be changed or removed in future versions.
继承: Resource < RefCounted < Object
用于导航网格烘焙的解析源几何数据的容器。
描述¶
用于导航网格烘焙的解析源几何数据的容器。
方法¶
void |
add_faces(faces: PackedVector3Array, xform: Transform3D) |
void |
add_mesh(mesh: Mesh, xform: Transform3D) |
void |
add_mesh_array(mesh_array: Array, xform: Transform3D) |
void |
add_projected_obstruction(vertices: PackedVector3Array, elevation: float, height: float, carve: bool) |
void |
append_arrays(vertices: PackedFloat32Array, indices: PackedInt32Array) |
void |
clear() |
void |
|
get_indices() const |
|
get_projected_obstructions() const |
|
get_vertices() const |
|
has_data() |
|
void |
merge(other_geometry: NavigationMeshSourceGeometryData3D) |
void |
set_indices(indices: PackedInt32Array) |
void |
set_projected_obstructions(projected_obstructions: Array) |
void |
set_vertices(vertices: PackedFloat32Array) |
方法说明¶
void add_faces(faces: PackedVector3Array, xform: Transform3D) 🔗
将顶点位置数组添加到用于导航网格烘焙的几何数据中以形成三角面。对于每个面,数组必须具有顺时针缠绕顺序的三个顶点位置。由于NavigationMesh资源没有转换,因此所有顶点位置都需要使用xform由节点的转换偏移。
void add_mesh(mesh: Mesh, xform: Transform3D) 🔗
将Mesh资源的几何数据添加到导航网格烘焙数据中。网格必须具有要考虑的有效三角网格数据。由于NavigationMesh资源没有变换,因此所有顶点位置都需要使用xform由节点的变换偏移。
void add_mesh_array(mesh_array: Array, xform: Transform3D) 🔗
将大小为Mesh.ARRAY_MAX的Array和索引Mesh.ARRAY_VERTEX处的顶点以及索引Mesh.ARRAY_INDEX处的索引添加到导航网格烘焙数据。数组必须具有要考虑的有效三角网格数据。由于NavigationMesh资源没有变换,因此所有顶点位置都需要使用xform由节点的变换偏移。
void add_projected_obstruction(vertices: PackedVector3Array, elevation: float, height: float, carve: bool) 🔗
将投影的障碍物形状添加到源几何中。vertices被认为投影在xz轴平面上,放置在全局y轴elevation上,并由height挤压。如果carve为true,则雕刻的形状不会受到导航网格烘焙过程的额外偏移(例如代理半径)的影响。
void append_arrays(vertices: PackedFloat32Array, indices: PackedInt32Array) 🔗
将vertices和indices的数组附加到现有数组的末尾。将现有索引作为偏移量添加到附加索引中。
void clear() 🔗
清除内部数据。
void clear_projected_obstructions() 🔗
清除所有投射的障碍物。
返回一个覆盖所有存储的几何数据的轴对齐边界框。调用此函数时计算边界,并缓存结果,直到进行进一步的几何更改。
PackedInt32Array get_indices() const 🔗
返回已解析的源几何数据索引数组。
Array get_projected_obstructions() const 🔗
将投影的障碍物作为字典的Array返回。每个Dictionary包含以下条目:
-顶点-定义投影形状的轮廓点的PackedFloat32Array。
-标高-定义y轴上投影形状位置的float。
-高度-一个float,它定义了沿着y轴挤压多少投影形状。
-carve-定义障碍物如何影响导航网格烘焙的bool。如果true,投影形状将不受附加偏移的影响,例如代理半径。
PackedFloat32Array get_vertices() const 🔗
返回解析后的源几何数据顶点数组。
当解析的源几何数据存在时返回true。
void merge(other_geometry: NavigationMeshSourceGeometryData3D) 🔗
将另一个NavigationMeshSourceGeometryData3D的几何数据添加到导航网格烘焙数据中。
void set_indices(indices: PackedInt32Array) 🔗
设置已解析的源几何数据索引。索引需要与指定的顶点匹配。
警告:不适当的数据可能会导致相关第三方库的烘焙过程崩溃。
void set_projected_obstructions(projected_obstructions: Array) 🔗
使用带有以下键值对的字典填充的数组设置投影障碍物:
"vertices" : PackedFloat32Array
"elevation" : float
"height" : float
"carve" : bool
void set_vertices(vertices: PackedFloat32Array) 🔗
设置已解析的源几何数据顶点。顶点需要与适当的索引匹配。
警告:不适当的数据可能会导致相关第三方库的烘焙过程崩溃。