Table of Contents

Class NavigationMeshSourceGeometryData3D

Namespace
Godot
Assembly
GodotSharp.dll

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

public class NavigationMeshSourceGeometryData3D : Resource, IDisposable
Inheritance
NavigationMeshSourceGeometryData3D
Implements
Inherited Members

Constructors

NavigationMeshSourceGeometryData3D()

public NavigationMeshSourceGeometryData3D()

Methods

AddFaces(Vector3[], Transform3D)

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.

public void AddFaces(Vector3[] faces, Transform3D xform)

Parameters

faces Vector3[]
xform Transform3D

AddMesh(Mesh, Transform3D)

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.

public void AddMesh(Mesh mesh, Transform3D xform)

Parameters

mesh Mesh
xform Transform3D

AddMeshArray(Array, Transform3D)

Adds an Array the size of Max and with vertices at index Vertex and indices at index 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.

public void AddMeshArray(Array meshArray, Transform3D xform)

Parameters

meshArray Array
xform Transform3D

AddProjectedObstruction(Vector3[], float, float, bool)

Adds a projected obstruction shape to the source geometry. The vertices are considered projected on a 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.

public void AddProjectedObstruction(Vector3[] vertices, float elevation, float height, bool carve)

Parameters

vertices Vector3[]
elevation float
height float
carve bool

AppendArrays(float[], int[])

Appends arrays of vertices and indices at the end of the existing arrays. Adds the existing index as an offset to the appended indices.

public void AppendArrays(float[] vertices, int[] indices)

Parameters

vertices float[]
indices int[]

Clear()

Clears the internal data.

public void Clear()

ClearProjectedObstructions()

Clears all projected obstructions.

public void ClearProjectedObstructions()

GetIndices()

Returns the parsed source geometry data indices array.

public int[] GetIndices()

Returns

int[]

GetProjectedObstructions()

Returns the projected obstructions as an Array of dictionaries. Each 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.

public Array GetProjectedObstructions()

Returns

Array

GetVertices()

Returns the parsed source geometry data vertices array.

public float[] GetVertices()

Returns

float[]

HasData()

Returns true when parsed source geometry data exists.

public bool HasData()

Returns

bool

HasGodotClassMethod(in godot_string_name)

Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method.

protected override bool HasGodotClassMethod(in godot_string_name method)

Parameters

method godot_string_name

Name of the method to check for.

Returns

bool

HasGodotClassSignal(in godot_string_name)

Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method.

protected override bool HasGodotClassSignal(in godot_string_name signal)

Parameters

signal godot_string_name

Name of the signal to check for.

Returns

bool

InvokeGodotClassMethod(in godot_string_name, NativeVariantPtrArgs, out godot_variant)

Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method.

protected override bool InvokeGodotClassMethod(in godot_string_name method, NativeVariantPtrArgs args, out godot_variant ret)

Parameters

method godot_string_name

Name of the method to invoke.

args NativeVariantPtrArgs

Arguments to use with the invoked method.

ret godot_variant

Value returned by the invoked method.

Returns

bool

Merge(NavigationMeshSourceGeometryData3D)

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

public void Merge(NavigationMeshSourceGeometryData3D otherGeometry)

Parameters

otherGeometry NavigationMeshSourceGeometryData3D

SetIndices(int[])

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.

public void SetIndices(int[] indices)

Parameters

indices int[]

SetProjectedObstructions(Array)

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

public void SetProjectedObstructions(Array projectedObstructions)

Parameters

projectedObstructions Array

SetVertices(float[])

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.

public void SetVertices(float[] vertices)

Parameters

vertices float[]