reckfellENGINE

NavigationMeshSourceGeometryData3D

Container for parsed source geometry data used in navigation mesh baking.

On this page
class NavigationMeshSourceGeometryData3DReckfellSharpInherits Resource

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
# NavigationMeshSourceGeometryData3D
C#
public NavigationMeshSourceGeometryData3D();

Properties3

IndicesProperty
# Indices
C#
public int[] Indices { get; set; }
ProjectedObstructionsProperty
# ProjectedObstructions
C#
public Reckfell.Collections.Array ProjectedObstructions { get; set; }
VerticesProperty
# Vertices
C#
public float[] Vertices { get; set; }

Methods21

AddFaces2 overloads
# AddFaces · 1/2
C#
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.

Parameters
NameTypeDefault
facesVector3[]—
xformTransform3D—
# AddFaces · 2/2
C#
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.

Parameters
NameTypeDefault
facesReadOnlySpan<Vector3>—
xformTransform3D—
AddMeshvoid
# AddMesh
C#
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.

Parameters
NameTypeDefault
meshMesh—
xformTransform3D—
AddMeshArrayvoid
# AddMeshArray
C#
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.

Parameters
NameTypeDefault
meshArrayReckfell.Collections.Array—
xformTransform3D—
AddProjectedObstruction2 overloads
# AddProjectedObstruction · 1/2
C#
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.

Parameters
NameTypeDefault
verticesVector3[]—
elevationfloat—
heightfloat—
carvebool—
# AddProjectedObstruction · 2/2
C#
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.

Parameters
NameTypeDefault
verticesReadOnlySpan<Vector3>—
elevationfloat—
heightfloat—
carvebool—
AppendArrays2 overloads
# AppendArrays · 1/2
C#
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.

Parameters
NameTypeDefault
verticesReadOnlySpan<float>—
indicesReadOnlySpan<int>—
# AppendArrays · 2/2
C#
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.

Parameters
NameTypeDefault
verticesfloat[]—
indicesint[]—
Clearvoid
# Clear
C#
public void Clear();

Clears the internal data.

ClearProjectedObstructionsvoid
# ClearProjectedObstructions
C#
public void ClearProjectedObstructions();

Clears all projected obstructions.

GetBoundsAabb
# GetBounds
C#
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.

Returns Aabb
GetIndicesint[]
# GetIndices
C#
public int[] GetIndices();

Returns the parsed source geometry data indices array.

Returns int[]
GetProjectedObstructionsReckfell.Collections.Array
# GetProjectedObstructions
C#
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 - A float[] 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. If true the projected shape will not be affected by addition offsets, e.g. agent radius.
Returns Reckfell.Collections.Array
GetVerticesfloat[]
# GetVertices
C#
public float[] GetVertices();

Returns the parsed source geometry data vertices array.

Returns float[]
HasDatabool
# HasData
C#
public bool HasData();

Returns true when parsed source geometry data exists.

Returns bool
Mergevoid
# Merge
C#
public void Merge(NavigationMeshSourceGeometryData3D otherGeometry);

Adds the geometry data of another NavigationMeshSourceGeometryData3D to the navigation mesh baking data.

Parameters
NameTypeDefault
otherGeometryNavigationMeshSourceGeometryData3D—
SetIndices2 overloads
# SetIndices · 1/2
C#
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.

Parameters
NameTypeDefault
indicesint[]—
# SetIndices · 2/2
C#
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.

Parameters
NameTypeDefault
indicesReadOnlySpan<int>—
SetProjectedObstructionsvoid
# SetProjectedObstructions
C#
public void SetProjectedObstructions(Reckfell.Collections.Array projectedObstructions);

Sets the projected obstructions with an Array of Dictionaries with the following key value pairs:

Parameters
NameTypeDefault
projectedObstructionsReckfell.Collections.Array—
SetVertices2 overloads
# SetVertices · 1/2
C#
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.

Parameters
NameTypeDefault
verticesReadOnlySpan<float>—
# SetVertices · 2/2
C#
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.

Parameters
NameTypeDefault
verticesfloat[]—
Reckfell Engine documentationBack to top ↑
QUICK LINKSGetting startedEntity hierarchyC# & .NET 10Scenes and prefabs
Reckfell guides and full API K
reckfellENGINE
RECKFELL ACCOUNT

Sign in

Sign in to your Reckfell account.

One account for the entire Reckfell platform.