habitat_sim.nav.NavMeshSettings class

Configuration structure for NavMesh generation with recast. Passed to PathFinder::build to construct the NavMesh. Serialized with saved .navmesh files for later equivalency checks upon re-load.


def read_from_json(self, arg0: str, /) -> None
Overwrite these settings with values from a JSON file.
def set_defaults(self, /) -> None
def write_to_json(self, arg0: str, /) -> None
Write these settings to a JSON file.

Special methods

def __eq__(self, arg0: NavMeshSettings, /) -> bool
Checks for equivalency of (or < eps 1e-5 distance between) each parameter.
def __init__(self, /) -> None
def __ne__(self, arg0: NavMeshSettings, /) -> bool


agent_height: float get set
Minimum floor to ‘ceiling’ height that will still allow the floor area to be considered unobstructed in world units. Will be rounded up to a multiple of cellHeight.
agent_max_climb: float get set
Maximum ledge height that is considered to be traversable in world units (e.g. for stair steps). Will be truncated to a multiple of cellHeight.
agent_max_slope: float get set
The maximum slope that is considered walkable in degrees.
agent_radius: float get set
Agent radius in world units. The distance to erode/shrink the walkable area of the heightfield away from obstructions. Will be rounded up to a multiple of cellSize.
cell_height: float get set
Y-axis cell height in world units. Voxel height.
cell_size: float get set
XZ-plane cell size in world units. Size of square voxel sides in XZ.
detail_sample_dist: float get set
Detail sample distance in voxels. Sets the sampling distance to use when generating the detail mesh. (For height detail only.) [Limits: 0 or >= 0.9] [x cell_size]
detail_sample_max_error: float get set
Detail sample max error in voxel heights. The maximum distance the detail mesh surface should deviate from heightfield data. (For height detail only.) [Limit: >=0] [x cell_height]
edge_max_error: float get set
The maximum distance a simplfied contour’s border edges should deviate the original raw contour. Good values are between 1.1-1.5 (1.3 usually yield good results). More results in jaggies, less cuts corners.
edge_max_len: float get set
Edge max length in world units. The maximum allowed length for contour edges along the border of the mesh. Extra vertices will be inserted as needed to keep contour edges below this length. A value of zero effectively disables this feature. A good value for edgeMaxLen is something like agenRadius*8. Will be rounded to a multiple of cellSize.
filter_ledge_spans: bool get set
Marks spans that are ledges as non-navigable. This filter reduces the impact of the overestimation of conservative voxelization so the resulting mesh will not have regions hanging in the air over ledges. Default True.
filter_low_hanging_obstacles: bool get set
Marks navigable spans as non-navigable if the clearence above the span is less than the specified height. Default True.
filter_walkable_low_height_spans: bool get set
Marks navigable spans as non-navigable if the clearence above the span is less than the specified height. Allows the formation of navigable regions that will flow over low lying objects such as curbs, and up structures such as stairways. Default True.
include_static_objects: bool get set
Whether or not to include STATIC RigidObjects as NavMesh constraints. Note: Used in Simulator recomputeNavMesh pre-process. Default False.
region_merge_size: float get set
Region merge size in voxels. regionMergeSize = sqrt(regionMergeArea) Any 2-D regions with a smaller span (cell count) will, if possible, be merged with larger regions.
region_min_size: float get set
Region minimum size in voxels. regionMinSize = sqrt(regionMinArea) The minimum number of cells allowed to form isolated island areas.
verts_per_poly: float get set
The maximum number of vertices allowed for polygons generated during the contour to polygon conversion process. [Limit: >= 3]