Workflow User Guide#

This guide explains how to import E57 and PTS Point Cloud files into a USD scene and how to stream Point Cloud data from NavVis IVION. You learn the required extensions, step-by-step import and streaming procedures, and troubleshooting tips for large datasets.

Importing Point Clouds#

You can import E57 Point Cloud files into a USD scene. This option loads the Point Cloud file in its entirety: the extension converts the E57 file to a single USD file and writes it to the same folder. If the converted USD file already exists, the importer loads it as a reference into the scene immediately. If the E57 file contains multiple scans, the conversion process merges them.

The converted data references under an Xform containing a Points prim. The configured renderer displays all points in the scene at once, according to the selected representation.

Required Extensions#

The following extensions are required to import E57 and PTS Point Cloud data:

  • omni.kit.pointclouds

  • omni.usd.fileformat.E57

  • omni.usd.fileformat.PTS

Note

These extensions are included in the Kit App Template as a public release to import E57 or PTS formats. The Point Cloud Streaming bundle also loads these extensions automatically when installed.

Import Steps#

The workflow below serves as an example for the E57 import. PTS works in the same way.

  1. Launch your Kit app.

  2. Install and activate the omni.kit.pointclouds extension. The E57 file format extension pulls in automatically.

  3. Open File > Import. The Select File dialog opens.

  4. Choose the E57 file you want to import. In the Options dialog, you can specify import settings:

    • Set RTX Point Material: Assigns the default FlatPoints.mdl material to the created points primitives and sets the “Invisible to secondary rays” flag for them.

    • Merge scans: E57 files can contain multiple scans. With this feature activated, all scans are combined into a single UsdGeomPoints prim (named Points_<scan_name>).

      Note

      E57 files from LiDAR workflows often contain many scans (for example, 10–50+ scan positions around a building). Without merge: you get 50 separate USD prims each with their own transform, which is heavier for the scene graph. With merge: you get one flat prim with all points baked into a single array — a flatter scene graph, but you lose the per-scan identity and the memory cost is higher (the entire point cloud must fit in a single allocation at once).

    • Custom Point Size: Sets an explicit point size for the loaded data. If this value is 0.0 or lower, the NVIDIA RTX renderer determines an appropriate point size or falls back to the Points Default Width from the common rendering settings.

    • Path: Specifies the path where the extension stores the converted USD file. By default, the extension writes the USD file into the same directory as the source E57 file.

      Import options for E57

      Import options for E57

  5. Select Import.

PTS Import Settings#

For importing PTS files, the Options dialog allows you to specify other Import Settings:

  • Source file up axis: Choose which source axis should be used for the file up axis.

  • Default color: PTS files can be XYZ-only, XYZ+intensity, or XYZ+RGB. When a point has no color data, the Default color is used as the fallback instead of leaving it black.

  • Set RTX Point Material: Sets the default FlatPoints.mdl material to the newly created points primitives and sets the “Invisible to secondary rays” flag for them.

  • Scan Split Factor: PTS files can contain more points than fit in a single GPU buffer. The split factor divides that max-per-prim size. A higher factor creates more, smaller prims — useful if you are hitting GPU memory issues even at the default split.

  • Path: Specifies the path where the converted USD file is stored. By default, the USD file is stored in the same location as the PTS file.

    Import options for PTS

    Import options for PTS

  1. Complete the import. The imported Point Cloud is attached to a newly created Xform (payload) in the Stage and appears in the Stage tree.

    Imported Point Cloud prim in the Stage tree

Note

After the point cloud import, the default point width can be changed in Render Settings > Common > Geometry > Misc Settings.

Render Settings Common Geometry Misc Settings showing Points Default Width

Note

Changing the Points Default Width is set globally and can lead to heavy computing demand. There is also an automatically calculated upper limit for point widths per points primitive. Changing the global Points Default Width can only make points smaller than this limit.

Performance and Limitations#

When importing an E57 file, the importer loads the entire dataset at once. This limits the size of supported datasets to the available system memory and GPU resources. Large files may fail to import if you have insufficient system resources.

Note

Point Clouds larger than 4 GB are split into smaller components during import. Multiple prims in the Stage represent them to avoid single file size issues.

Large Point Cloud split across multiple prims in the Stage tree


Point Cloud dataset rendered in the viewport

The estimation for the scan component-size tries to fit as many points into a GPU buffer that the graphics API provides. With the option scan_split_factor in the folder of the extension ../exts/omni.usd.fileformat.e57, those scan components can be further split into smaller parts. This helps limit the overhead required for building the acceleration structures needed for ray tracing on the GPU.

For import of PTS files the split factor can be set in the Import Options UI.

Troubleshooting#

  • If the converted USD file already exists, the importer loads it as a reference instead of reconverting the E57 file.

  • If rendering performance is poor, try lowering point resolution or using a lower representation mode in the renderer.

  • For very large datasets, consider using the streaming workflow instead of import, following the steps in Point Cloud Streaming from NavVis IVION.

Point Cloud Streaming from NavVis IVION#

Point Cloud Extensions let you connect to the NavVis IVION platform and stream Point Cloud data directly into a USD scene for real-time visualization and integration.

Warning

Point Cloud Streaming uses Geometry Streaming. This feature is experimental. For more information, refer to Geometry Streaming.

Why Stream Instead of Import#

The benefit of point cloud streaming, instead of importing, is the ability to handle extremely large datasets that are often too big to fit entirely within system memory. Streaming relies on converting the data into a Potree-like hierarchical Level-of-Detail (LoD) structure, allowing points to be successively streamed. As you move closer to an object, the resolution is dynamically increased.

Setup Steps#

The following steps describe how to set up a streaming workflow from NavVis IVION:

  1. Ensure the bundle extension omni.pointcloud.streaming.bundle is installed and activated. This extension pulls in the other required extensions automatically.

    Point Cloud Streaming Bundle extension enabled in the Extensions panel
  2. A new folder Point Clouds displays in the Content Browser. Select Add Pointcloud Source URL to connect to NavVis IVION. Paste the URL in the field pointing to your instance. You can name the instance in Display Name.

    Add Pointcloud Source URL dialog in the Content Browser
  3. Select Add and a browser-based login window to the NavVis IVION platform opens.

    NavVis IVION login window for Point Cloud streaming

    Note

    Configure the URL during implementation to point to your individual site on NavVis IVION.

  4. In the login window, click Use your NavVis IVION credentials to enter your credentials and log in.

Note

When launching multiple streams in quick succession, the web browser’s popup blocker may prevent the NavVis login tab from appearing. Disabling the popup blocker for the site and then clicking Retry in Kit fixes this.

When logging in to a partner page, accept all cookies in the browser window.

  1. After successful login, open the Content Browser and navigate to the Point Cloud section.

    Point Clouds folder in the Content Browser

Note

If login fails, select Add Pointcloud Source URL in the Content Browser and confirm the URL to reconnect to NavVis IVION.

  1. Navigate to the folder you have access to that contains the Point Cloud datasets.

  2. Drag-and-drop a dataset (or multiple datasets) from the Content Browser into the default prim in the Stage. Drag-and-drop supports single and multi-dataset selection.

    Drag-and-drop Point Cloud dataset from the Content Browser into the Stage
  3. Press F to frame the streaming Point Cloud in the viewport.

Troubleshooting and Tips#

  • Ensure you correctly configure the NavVis IVION URL for your site.

  • Disable the browser’s pop-up blocker for the NavVis IVION site if the login tab does not appear.

  • Accept cookies on partner login pages when requested.

You can import or stream Point Cloud data into a USD scene using the workflows in this guide. To edit streamed or imported subsets in the viewport, refer to Point Cloud Editing. To enable the extensions in a custom Kit application, refer to Developer Integration Guide.