NavigationMeshSourceGeometryData3D
Container for parsed source geometry data used in navigation mesh baking.
Container for parsed source geometry data used in navigation mesh baking.
Container for parsed source geometry data used in navigation mesh baking.
Declarations checked against C# SDK 1.0.0. Expand a name to see declarations and documentation.
Constructors1
NavigationMeshSourceGeometryData3DConstructor
public NavigationMeshSourceGeometryData3D();Properties3
IndicesProperty
public int[] Indices { get; set; }ProjectedObstructionsProperty
public Reckfell.Collections.Array ProjectedObstructions { get; set; }VerticesProperty
public float[] Vertices { get; set; }Methods21
AddFaces2 overloads
public void AddFaces(Vector3[] faces, Transform3D xform);Adds an array of vertex positions to the geometry data for navigation mesh baking to form triangulated faces. For each face the array must have three vertex positions in clockwise winding order. Since NavigationMesh resources have no transform, all vertex positions need to be offset by the node's transform using xform.
| Name | Type | Default |
|---|---|---|
faces | Vector3[] | — |
xform | Transform3D | — |
public void AddFaces(ReadOnlySpan<Vector3> faces, Transform3D xform);Adds an array of vertex positions to the geometry data for navigation mesh baking to form triangulated faces. For each face the array must have three vertex positions in clockwise winding order. Since NavigationMesh resources have no transform, all vertex positions need to be offset by the node's transform using xform.
| Name | Type | Default |
|---|---|---|
faces | ReadOnlySpan<Vector3> | — |
xform | Transform3D | — |
AddMeshvoid
public void AddMesh(Mesh mesh, Transform3D xform);Adds the geometry data of a Mesh resource to the navigation mesh baking data. The mesh must have valid triangulated mesh data to be considered. Since NavigationMesh resources have no transform, all vertex positions need to be offset by the node's transform using xform.
| Name | Type | Default |
|---|---|---|
mesh | Mesh | — |
xform | Transform3D | — |
AddMeshArrayvoid
public void AddMeshArray(Reckfell.Collections.Array meshArray, Transform3D xform);Adds an Reckfell.Collections.Array the size of Mesh.ArrayType.Max and with vertices at index Mesh.ArrayType.Vertex and indices at index Mesh.ArrayType.Index to the navigation mesh baking data. The array must have valid triangulated mesh data to be considered. Since NavigationMesh resources have no transform, all vertex positions need to be offset by the node's transform using xform.
| Name | Type | Default |
|---|---|---|
meshArray | Reckfell.Collections.Array | — |
xform | Transform3D | — |
AddProjectedObstruction2 overloads
public void AddProjectedObstruction(Vector3[] vertices, float elevation, float height, bool carve);Adds a projected obstruction shape to the source geometry. The vertices are considered projected on an xz-axes plane, placed at the global y-axis elevation and extruded by height. If carve is true the carved shape will not be affected by additional offsets (e.g. agent radius) of the navigation mesh baking process.
| Name | Type | Default |
|---|---|---|
vertices | Vector3[] | — |
elevation | float | — |
height | float | — |
carve | bool | — |
public void AddProjectedObstruction(ReadOnlySpan<Vector3> vertices, float elevation, float height, bool carve);Adds a projected obstruction shape to the source geometry. The vertices are considered projected on an xz-axes plane, placed at the global y-axis elevation and extruded by height. If carve is true the carved shape will not be affected by additional offsets (e.g. agent radius) of the navigation mesh baking process.
| Name | Type | Default |
|---|---|---|
vertices | ReadOnlySpan<Vector3> | — |
elevation | float | — |
height | float | — |
carve | bool | — |
AppendArrays2 overloads
public void AppendArrays(ReadOnlySpan<float> vertices, ReadOnlySpan<int> indices);Appends arrays of vertices and indices at the end of the existing arrays. Adds the existing index as an offset to the appended indices.
| Name | Type | Default |
|---|---|---|
vertices | ReadOnlySpan<float> | — |
indices | ReadOnlySpan<int> | — |
public void AppendArrays(float[] vertices, int[] indices);Appends arrays of vertices and indices at the end of the existing arrays. Adds the existing index as an offset to the appended indices.
| Name | Type | Default |
|---|---|---|
vertices | float[] | — |
indices | int[] | — |
Clearvoid
public void Clear();Clears the internal data.
ClearProjectedObstructionsvoid
public void ClearProjectedObstructions();Clears all projected obstructions.
GetBoundsAabb
public Aabb GetBounds();Returns an axis-aligned bounding box that covers all the stored geometry data. The bounds are calculated when calling this function with the result cached until further geometry changes are made.
AabbGetIndicesint[]
public int[] GetIndices();Returns the parsed source geometry data indices array.
int[]GetProjectedObstructionsReckfell.Collections.Array
public Reckfell.Collections.Array GetProjectedObstructions();Returns the projected obstructions as an Reckfell.Collections.Array of dictionaries. Each Reckfell.Collections.Dictionary contains the following entries:
vertices- Afloat[]that defines the outline points of the projected shape.elevation- A [float] that defines the projected shape placement on the y-axis.height- A [float] that defines how much the projected shape is extruded along the y-axis.carve- A [bool] that defines how the obstacle affects the navigation mesh baking. Iftruethe projected shape will not be affected by addition offsets, e.g. agent radius.
Reckfell.Collections.ArrayGetVerticesfloat[]
public float[] GetVertices();Returns the parsed source geometry data vertices array.
float[]HasDatabool
public bool HasData();Returns true when parsed source geometry data exists.
boolMergevoid
public void Merge(NavigationMeshSourceGeometryData3D otherGeometry);Adds the geometry data of another NavigationMeshSourceGeometryData3D to the navigation mesh baking data.
| Name | Type | Default |
|---|---|---|
otherGeometry | NavigationMeshSourceGeometryData3D | — |
SetIndices2 overloads
public void SetIndices(int[] indices);Sets the parsed source geometry data indices. The indices need to be matched with appropriated vertices. Warning: Inappropriate data can crash the baking process of the involved third-party libraries.
| Name | Type | Default |
|---|---|---|
indices | int[] | — |
public void SetIndices(ReadOnlySpan<int> indices);Sets the parsed source geometry data indices. The indices need to be matched with appropriated vertices. Warning: Inappropriate data can crash the baking process of the involved third-party libraries.
| Name | Type | Default |
|---|---|---|
indices | ReadOnlySpan<int> | — |
SetProjectedObstructionsvoid
public void SetProjectedObstructions(Reckfell.Collections.Array projectedObstructions);Sets the projected obstructions with an Array of Dictionaries with the following key value pairs:
| Name | Type | Default |
|---|---|---|
projectedObstructions | Reckfell.Collections.Array | — |
SetVertices2 overloads
public void SetVertices(ReadOnlySpan<float> vertices);Sets the parsed source geometry data vertices. The vertices need to be matched with appropriated indices. Warning: Inappropriate data can crash the baking process of the involved third-party libraries.
| Name | Type | Default |
|---|---|---|
vertices | ReadOnlySpan<float> | — |
public void SetVertices(float[] vertices);Sets the parsed source geometry data vertices. The vertices need to be matched with appropriated indices. Warning: Inappropriate data can crash the baking process of the involved third-party libraries.
| Name | Type | Default |
|---|---|---|
vertices | float[] | — |