NavigationMeshBuildUtils Class
Namespace: Stride.NavigationAssembly: Stride.Navigation.dll
Utility function for navigation mesh building
public class NavigationMeshBuildUtils
Name | Description | |
---|---|---|
Methods | ||
BuildPlanePoints(ref Plane, Single, out Vector3[], out Int32[]) | Generates vertices and indices for an infinite size, limited by the parameter |
|
CalculateTileBoundingBox(NavigationMeshBuildSettings, Point) | Calculates X-Z span for a navigation mesh tile. The Y-axis will span from System.Single.MinValue to System.Single.MaxValue |
|
CheckColliderFilter(StaticColliderComponent, CollisionFilterGroupFlags) | Checks if a static collider passes the given filter group |
|
ExtendBoundingBox(ref BoundingBox, Vector3) | Applies an offset vector to a bounding box to make it bigger or smaller |
|
GenerateTangentBinormal(Vector3, out Vector3, out Vector3) | Generates a random tangent and binormal for a given normal, usefull for creating plane vertices or orienting objects (lookat) where the rotation along the normal doesn't matter |
|
GetOverlappingTiles(NavigationMeshBuildSettings, BoundingBox) | Check which tiles overlap a given bounding box |
|
HashEntityCollider(StaticColliderComponent, CollisionFilterGroupFlags) | Hashes and entity's transform and it's collider shape settings |
|
HasLatestColliderShape(StaticColliderComponent) | Checks if a static collider has latest collider shape |
|
SnapBoundingBoxToCellHeight(NavigationMeshBuildSettings, ref BoundingBox) | Snaps a BoundingBox's height according to the given NavigationMeshBuildSettings |
Methods
BuildPlanePoints(ref Plane, Single, out Vector3[], out Int32[])
Generates vertices and indices for an infinite size, limited by the parameter
public static void BuildPlanePoints(ref Plane plane, float size, out Vector3[] points, out int[] inds)
Parameters
Type | Name | Description |
---|---|---|
Plane | plane | |
System.Single | size | the amount from the origin the plane points are placed |
Vector3[] | points | |
System.Int32[] | inds |
CalculateTileBoundingBox(NavigationMeshBuildSettings, Point)
Calculates X-Z span for a navigation mesh tile. The Y-axis will span from System.Single.MinValue to System.Single.MaxValue
public static BoundingBox CalculateTileBoundingBox(NavigationMeshBuildSettings settings, Point tileCoord)
Parameters
Type | Name | Description |
---|---|---|
NavigationMeshBuildSettings | settings | |
Point | tileCoord |
Returns
Type | Description |
---|---|
BoundingBox |
CheckColliderFilter(StaticColliderComponent, CollisionFilterGroupFlags)
Checks if a static collider passes the given filter group
public static bool CheckColliderFilter(StaticColliderComponent collider, CollisionFilterGroupFlags includedCollisionGroups)
Parameters
Type | Name | Description |
---|---|---|
StaticColliderComponent | collider | The collider to check |
CollisionFilterGroupFlags | includedCollisionGroups | The collision filter |
Returns
Type | Description |
---|---|
System.Boolean |
|
ExtendBoundingBox(ref BoundingBox, Vector3)
Applies an offset vector to a bounding box to make it bigger or smaller
public static void ExtendBoundingBox(ref BoundingBox boundingBox, Vector3 offsets)
Parameters
Type | Name | Description |
---|---|---|
BoundingBox | boundingBox | |
Vector3 | offsets |
GenerateTangentBinormal(Vector3, out Vector3, out Vector3)
Generates a random tangent and binormal for a given normal, usefull for creating plane vertices or orienting objects (lookat) where the rotation along the normal doesn't matter
public static void GenerateTangentBinormal(Vector3 normal, out Vector3 tangent, out Vector3 binormal)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | normal | |
Vector3 | tangent | |
Vector3 | binormal |
GetOverlappingTiles(NavigationMeshBuildSettings, BoundingBox)
Check which tiles overlap a given bounding box
public static List<Point> GetOverlappingTiles(NavigationMeshBuildSettings settings, BoundingBox boundingBox)
Parameters
Type | Name | Description |
---|---|---|
NavigationMeshBuildSettings | settings | |
BoundingBox | boundingBox |
Returns
Type | Description |
---|---|
System.Collections.Generic.List<Point> |
HashEntityCollider(StaticColliderComponent, CollisionFilterGroupFlags)
Hashes and entity's transform and it's collider shape settings
public static int HashEntityCollider(StaticColliderComponent collider, CollisionFilterGroupFlags includedCollisionGroups)
Parameters
Type | Name | Description |
---|---|---|
StaticColliderComponent | collider | The collider to hash |
CollisionFilterGroupFlags | includedCollisionGroups | The filter group for active collides, which is used to hash if this colliders participates in the navigation mesh build |
Returns
Type | Description |
---|---|
System.Int32 |
HasLatestColliderShape(StaticColliderComponent)
Checks if a static collider has latest collider shape
public static bool HasLatestColliderShape(StaticColliderComponent collider)
Parameters
Type | Name | Description |
---|---|---|
StaticColliderComponent | collider | The collider to check |
Returns
Type | Description |
---|---|
System.Boolean |
|
SnapBoundingBoxToCellHeight(NavigationMeshBuildSettings, ref BoundingBox)
Snaps a BoundingBox's height according to the given NavigationMeshBuildSettings
public static void SnapBoundingBoxToCellHeight(NavigationMeshBuildSettings settings, ref BoundingBox boundingBox)
Parameters
Type | Name | Description |
---|---|---|
NavigationMeshBuildSettings | settings | The build settings |
BoundingBox | boundingBox | Reference to the bounding box to snap |