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.pointcloudsomni.usd.fileformat.E57omni.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.
Launch your Kit app.
Install and activate the
omni.kit.pointcloudsextension. The E57 file format extension pulls in automatically.Open File > Import. The Select File dialog opens.
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.mdlmaterial 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
UsdGeomPointsprim (namedPoints_<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
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.mdlmaterial 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
Complete the import. The imported Point Cloud is attached to a newly created Xform (payload) in the Stage and appears in the Stage tree.
Note
After the point cloud import, the default point width can be changed in Render Settings > Common > Geometry > Misc Settings.
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.
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.