Logo
  • Extensions Overview
  • Links to 3rd Party Extensions

Core Extensions

  • Viewport
  • Stage
  • Layers
  • OmniLive
  • Content Browser
  • Version Control
  • Property Panel
  • Extensions Manager
  • Movie Capture
  • Audio
  • Saved Layouts
  • Snap Tool
  • Pivot Tool
  • Browser Extensions
  • Hotkeys

Material Extensions

  • Material Mapper
  • Material Graph
  • Substance SBSAR Support
  • USD Material MDL Export

Bridges

  • Substance 3D Painter Link
  • Modulus Extension
  • Reshade
  • Onshape importer

Simulation Extensions

  • Overview
  • Physics Core
  • Zero Gravity
  • Vehicle Dynamics
  • Blast Destruction
  • Boom Collision Audio
  • OmniPVD - PhysX Visual Debugger
  • Force Fields
  • Fluid Dynamics
  • Particles
  • PointClouds

Synthetic Data

  • Replicator

Animation Extensions

  • Animation
  • Audio2gesture
  • TimeSample to animation Curve
  • Animation Graph
  • Motion Path
  • Animation Recorder
  • Animation Retargeting
  • Pose Tracker
  • Sequencer
  • Navigation Mesh
    • Overview
    • Setup
      • Enabling the Extension
      • Creating a Nav Mesh
      • NavMesh Bake Settings
      • Baked Mesh Settings
    • NavMesh Volumes
    • NavMesh Obstacles
      • Creating a NavMesh Path

Design Extensions

  • Paint Tool
  • Sun Study
  • Section Tool Extension
  • Surface Instancer
  • Playlist Manager
  • Screen Capture
  • Measure Tool
  • Design Render Settings
  • Array Tool
  • Distribute Tool
  • Randomizer Tool

Streaming Extensions

  • Omniverse Streaming Extensions
  • WebRTC Browser Client
  • WebSocket Browser Client
  • Augmented Reality

Programming Extensions

  • Console Extension
  • Command History
  • PIP API
  • Python Scripting Component
  • Script Editor
  • VS Code Link
  • Warp (Preview)

Omnigraph

  • OmniGraph

AI Toybox Extensions

  • Overview
  • AI Animal Explorer Extension
  • GANverse3D Extension
  • Inference API Extensions
  • Machine Learning Library Extensions

Utility Extensions

  • CAD Importer
  • Asset Converter
  • Asset Importer
  • Collect Asset
  • Geometry Streaming
  • Layouts
  • Open Geospatial Consortium (OGC) Map Tile Loader Extension
  • Hotkeys
  • Profiler
  • QuickSearch
  • Scene Optimizer
  • Tagging Extension
  • USD Collections Extension (Preview)
  • USD Paths
  • USD Curve Rendering Support
  • GeoJSON Converter Extension
  • SimScale Converter Extension
  • 3MF Converter Extension

Learning and Feedback

  • Omniverse Glossary of Terms
  • Nvidia On-Demand Video List
  • Documentation Fix Request
  • General Feedback

Licenses

  • NVIDIA OMNIVERSE LICENSE AGREEMENT
  • SOFTWARE SUPPORT SUPPLEMENT
  • Other Licenses
Omniverse Extensions
  • »
  • Navigation Mesh

Navigation Mesh¶

Warning

Navigation Mesh is currently only available in Isaac Sim with plans release fully in 2023.

Warning

Navigation Mesh is currently in Beta. For more information on pre-release and beta terms, please see the Omniverse License Agreement

Overview¶

An example scene of a character traversing a scene utilizing the NavMesh system

Navigation Mesh, or “Nav Mesh”, is a tool used to generate a polygonal mesh that represents the traversable area of one or more agents. From that mesh, a linear path between two points can be generated.

Setup¶

Enabling the Extension¶

Upon enabling the omni.anim.navigation.bundle extension, the Navigation menu will be accessible through Window > Navigation. The omni.anim.navigation.core contains the backend, and the omni.anim.navigation.ui contains the frontend elements.

The NavMesh Extensions list in the Omniverse Extension Manager

Creating a Nav Mesh¶

Nav Mesh is a ground-based system and needs one or more meshes that represent a traversable area to build upon. It can build off of simple geometry or a custom polygon mesh.

Once the meshes are in the scene, generate a Nav Mesh by creating a new volume via Create > Navigation > NavMesh Volume. A new NavMesh volume will be created, and the NavMesh automatically built on the ground.

NavMesh Bake Settings¶

The NavMesh Property Panel

There are two ways to access the build settings:

  • The Window > Navigation > NavMesh menu item

  • Select any NavMeshVolume prim in the Stage and and in the Property panel, go to the NavMesh Volume section. Click on the Edit NavMesh Settings button.

Agent Option

Result

Height

The height of the agent size in scene units. The NavMesh will build only in areas where the agent height will fit.

Radius

The radius of the agent size in scene units.The NavMesh will build a buffer area against objects so that the agent cannot get too close to collide through.

Max Slope

The maximum angle in degrees that the NavMesh will build for. If the angle of the base geometry is greater than the slope angle setting, the NavMesh will not build.

Max Climb

The maximum height of objects the agent can step over.

Auto Rebake Option

Result

Auto Rebake

If enabled, upon every stage update the NavMesh will rebuild. WARNING: this can be computationally expensive with large and complex scenes.

Auto Rebake Delay

The time in seconds it takes for the NavMesh to trigger a rebuild after the scene has changed. This is good to use for large and complex scenes.

Cache Option

Result

Enabled

If checked, the system will cache previous results to speed up future bake times.

Bake: Takes the current settings and attempts to create a NavMesh. Cancel All: Cancels the current NavMesh bake.

Baked Mesh Settings¶

The Baked Mesh settings panel

The Baked Mesh panel is used for assigning which objects in the scene will influence NavMesh baking and which ones will not.

Note

By default the NavMesh will exclude rigid Physics bodies. This can be disabled by unchecking Rigid Bodies.

NavMesh Volumes¶

As many NavMesh Volumes can be added to the Scene as needed by going to Create > Navigation > NavMesh Volume.

NavMesh Volumes can be moved, rotated, and scaled to ensure the right fit. Multiple NavMesh volumes can be be placed near each other to extend new areas of the NavMesh.

NavMesh Obstacles¶

An example of a sphere as a NavMesh Obstacle

NavMesh Obstacles can be used to create exclusion zones. Any prim type can have a NavMesh Obstacle attached. To add an Obstacle, right click on a Stage prim and go to Add > Navigation > Add NavMesh Obstacle.

Obstacle shapes can be either boxes or cylinders, and the sizing and offsets can be adjusted.

The properties panel for NavMesh Obstacles

NavMesh Obstacle Property

Result

Box Size

If the shape is a box, non-uniformly adjust the size of the shape independent of the primary volume

Cylinder Height

If the shape is a cylinder, adjust the height.

Cylinder Radius

If the shape is a cylinder, adjust the radius size.

Offset

Offset the position of the Obstacle volume from the Primary volume

Shape

Choose between Box and Cylinder shapes for the Obstacle volume.

Creating a NavMesh Path¶

A linear path can be generated between a valid start and end point within the NavMesh. Path Points can be generated in and out of Play mode in Kit.

import omni.anim.navigation.core as nav
import omni.usd
stage = omni.usd.get_context().get_stage()
inav = nav.acquire_interface()

# Set the start and end points. If valid, new path points will be generated along the Nav Mesh.
path = inav.query_navmesh_path((24, 40, 63), (-960, 106, -258))
points = path.get_points()
print(points)

© Copyright 2019-2023, NVIDIA. Last updated on Mar 28, 2023.

Built with Sphinx using a theme provided by Read the Docs.