G1R AngelScript
Scripting reference for the Gothic 1 Remake
Loading...
Searching...
No Matches
FRecastNavMeshGenerationProperties Struct Reference

Public Member Functions

Functions
void SetbUseExtraTopCellWhenMarkingAreas (bool Value)
 Expand the top of the area nav modifier's bounds by one cell height when applying to the navmesh. If unset, navmesh on top of surfaces might not be marked by marking bounds flush with top surfaces (since navmesh is generated slightly above collision, depending on cell height).
void SetbSortNavigationAreasByCost (bool Value)
 Controls whether Navigation Areas will be sorted by cost before application to navmesh during navmesh generation. This is relevant when there are areas overlapping and we want to have area cost express area relevancy as well. Setting it to true will result in having area sorted by cost, but it will also increase navmesh generation cost a bit.
void SetbPerformVoxelFiltering (bool Value)
 controls whether voxel filtering will be applied (via FRecastTileGenerator::ApplyVoxelFilter). Results in generated navmesh better fitting navigation bounds, but hits (a bit) generation performance
void SetbMarkLowHeightAreas (bool Value)
 mark areas with insufficient free height above instead of cutting them out (accessible only for area modifiers using replace mode)
FRecastNavMeshGenerationProperties & opAssign (FRecastNavMeshGenerationProperties Other)
void SetbFilterLowSpanSequences (bool Value)
 if set, only single low height span will be allowed under valid one
void SetbFilterLowSpanFromTileCache (bool Value)
 if set, only low height spans with corresponding area modifier will be stored in tile cache (reduces memory, can't modify without full tile rebuild)
void SetbFixedTilePoolSize (bool Value)
 if true, the NavMesh will allocate fixed size pool for tiles, should be enabled to support streaming
void SetbIsWorldPartitioned (bool Value)
 In a world partitioned map, is this navmesh using world partitioning.

Public Attributes

Generation
float32 MinRegionArea
 The minimum dimension of area. Areas smaller than this will be discarded.
float32 TileSizeUU
 size of single tile, expressed in uu
float32 CellSize
 horizontal size of voxelization cell
float32 CellHeight
 vertical size of voxelization cell
float32 AgentRadius
 Radius of largest agent that can freely traverse the generated navmesh.
float32 AgentHeight
 Size of the tallest agent that will path with this navmesh.
float32 AgentMaxSlope
 The maximum slope (angle) that the agent can move on.
float32 AgentMaxStepHeight
 Largest vertical step the agent can perform.
int TilePoolSize
 maximum number of tiles NavMesh can hold
float32 MergeRegionSize
 The size limit of regions to be merged with bigger regions (watershed partitioning only).
float32 MaxSimplificationError
 How much navigable shapes can get simplified - the higher the value the more freedom.
int TileNumberHardLimit
 Absolute hard limit to number of navmesh tiles. Be very, very careful while modifying it while having big maps with navmesh. A single, empty tile takes 176 bytes and empty tiles are allocated up front (subject to change, but that's where it's at now) @note TileNumberHardLimit is always rounded up to the closest power of 2.
ERecastPartitioning RegionPartitioning
 partitioning method for creating navmesh polys
ERecastPartitioning LayerPartitioning
 partitioning method for creating tile layers
int RegionChunkSplits
 number of chunk splits (along single axis) used for region's partitioning: ChunkyMonotone
int LayerChunkSplits
 number of chunk splits (along single axis) used for layer's partitioning: ChunkyMonotone

Member Function Documentation

◆ opAssign()

◆ SetbFilterLowSpanFromTileCache()

void SetbFilterLowSpanFromTileCache ( bool Value)

if set, only low height spans with corresponding area modifier will be stored in tile cache (reduces memory, can't modify without full tile rebuild)

◆ SetbFilterLowSpanSequences()

void SetbFilterLowSpanSequences ( bool Value)

if set, only single low height span will be allowed under valid one

◆ SetbFixedTilePoolSize()

void SetbFixedTilePoolSize ( bool Value)

if true, the NavMesh will allocate fixed size pool for tiles, should be enabled to support streaming

◆ SetbIsWorldPartitioned()

void SetbIsWorldPartitioned ( bool Value)

In a world partitioned map, is this navmesh using world partitioning.

◆ SetbMarkLowHeightAreas()

void SetbMarkLowHeightAreas ( bool Value)

mark areas with insufficient free height above instead of cutting them out (accessible only for area modifiers using replace mode)

◆ SetbPerformVoxelFiltering()

void SetbPerformVoxelFiltering ( bool Value)

controls whether voxel filtering will be applied (via FRecastTileGenerator::ApplyVoxelFilter). Results in generated navmesh better fitting navigation bounds, but hits (a bit) generation performance

◆ SetbSortNavigationAreasByCost()

void SetbSortNavigationAreasByCost ( bool Value)

Controls whether Navigation Areas will be sorted by cost before application to navmesh during navmesh generation. This is relevant when there are areas overlapping and we want to have area cost express area relevancy as well. Setting it to true will result in having area sorted by cost, but it will also increase navmesh generation cost a bit.

◆ SetbUseExtraTopCellWhenMarkingAreas()

void SetbUseExtraTopCellWhenMarkingAreas ( bool Value)

Expand the top of the area nav modifier's bounds by one cell height when applying to the navmesh. If unset, navmesh on top of surfaces might not be marked by marking bounds flush with top surfaces (since navmesh is generated slightly above collision, depending on cell height).

Member Data Documentation

◆ AgentHeight

float32 AgentHeight

Size of the tallest agent that will path with this navmesh.

◆ AgentMaxSlope

float32 AgentMaxSlope

The maximum slope (angle) that the agent can move on.

◆ AgentMaxStepHeight

float32 AgentMaxStepHeight

Largest vertical step the agent can perform.

◆ AgentRadius

float32 AgentRadius

Radius of largest agent that can freely traverse the generated navmesh.

◆ CellHeight

float32 CellHeight

vertical size of voxelization cell

◆ CellSize

float32 CellSize

horizontal size of voxelization cell

◆ LayerChunkSplits

int LayerChunkSplits

number of chunk splits (along single axis) used for layer's partitioning: ChunkyMonotone

◆ LayerPartitioning

ERecastPartitioning LayerPartitioning

partitioning method for creating tile layers

◆ MaxSimplificationError

float32 MaxSimplificationError

How much navigable shapes can get simplified - the higher the value the more freedom.

◆ MergeRegionSize

float32 MergeRegionSize

The size limit of regions to be merged with bigger regions (watershed partitioning only).

◆ MinRegionArea

float32 MinRegionArea

The minimum dimension of area. Areas smaller than this will be discarded.

◆ RegionChunkSplits

int RegionChunkSplits

number of chunk splits (along single axis) used for region's partitioning: ChunkyMonotone

◆ RegionPartitioning

ERecastPartitioning RegionPartitioning

partitioning method for creating navmesh polys

◆ TileNumberHardLimit

int TileNumberHardLimit

Absolute hard limit to number of navmesh tiles. Be very, very careful while modifying it while having big maps with navmesh. A single, empty tile takes 176 bytes and empty tiles are allocated up front (subject to change, but that's where it's at now) @note TileNumberHardLimit is always rounded up to the closest power of 2.

◆ TilePoolSize

int TilePoolSize

maximum number of tiles NavMesh can hold

◆ TileSizeUU

float32 TileSizeUU

size of single tile, expressed in uu