PointClouds

Overview

This feature enables importing and rendering e57 pointcloud files.

ExamplePointcloud

User Manual

../_images/ext_pointclouds_autoload.png

When this extension is enabled, there are two ways to import an e57 file into the scene:

  1. File->Import

  2. In the Content Window, right click and “Convert to USD”.

Import Options

ImportOptions

When importing, there are two main options:

  1. Convert to USD.

  2. Copy into current stage.

Converting to USD does just that, it creates a new usd file (by default in the same location as the .e57 file). This new file can be referenced like any other. Copying into the current stage duplicates the data without creating a reference.

No matter how you choose to import the data, you can also choose to merge multiple scans contained inside a single e57 file.

Rendering

To render the pointclouds immediately upon import, check the option to create a renderer. Renderers are always created in the current stage, not in any generated usd files.

To render a pointcloud that is already in the current stage, select the scan or scans. Then go to Create-> Flow-> Preset-> Add Global Point Cloud. Be sure not to select UsdGeomPoints objects directly, not the parent Xform (see below).

RenderMenus

In order to render a pointcloud, flow needs to create a flowEmitterPoint object, which is linked to a single UsdGeomPoints object. It also needs to create other flow objects that contain specific settings for displaying a pointcloud. These settings are bundled under a single flowPointCloud object.

The Add Global Point Cloud preset (recommended) will create a flow emitter for each selected UsdGeomPoint, and will create the other settings globally if they do not yet exist. These settings should not be duplicated.

The Add Point Cloud preset will create a flow emitter for each selected UsdGeomPoint, and it will add the other settings as children to the first selected UsdGeomPoints object. This can cause the settings to be duplicated if they already exist, with unpredictable results.

Flow Settings for Pointclouds

The flow renderer was originally designed for rendering fluids and gases, but has been repurposed for pointcloud rendering. As such, there are some settings that are important to pointclouds and many that are not.

  1. Cell Size is located in the globally created flowPointCloud object.

    1. By default, flow will try to find the idea cell size automatically (autoCellSize = True). This setting can be lowered to increase pointcloud detail.

    2. Keep in mind cutting cell size in half is an 8x increase in cells and as a result simulation time.

    3. After autoCellSize finds a value, if another pointcloud is added, it will reset and find a new optimal value.

  2. The Max Blocks setting can be found in Render Settings-> Common-> Flow. Setting this higher will require more memory consumption, but will allow higher levels of detail with a lower cell size.

    1. When Flow runs out of blocks, gaps may appear in the pointcloud and a warning will be printed to the console.

      Maximum Flow blocks of [X] in use, either reduce cell size or increase max blocks.

  3. Uncheck updateWhilePaused to boost performance once a scene is loaded. This setting is in the global flowPointCloud object.

  4. To toggle the visibility of a pointcloud, use the enabled option in the UsdGeomPoints child flowPointCloud object.

For more information on the flow renderer, see the Flow docs