Work with USD Data in the Command Panel
Once you have a USD Stage reference, you can work with your USD data directly in 3ds Max. Choose between UsdStage and Prim to access the data for the USD stage or prims, respectively.
USD stage
Stage
Use the Stage rollout in the Command Panel to configure or make changes to your loaded USD stage.
- Select the ellipses (...) next to the Source label to select or change your loaded USD file.
- Select the ellipses (...) next to the Mask label to select the prim and all descendants you want to display in your scene. You can use Stage Mask to configure your display and mask prim objects you don't want to display in the viewport.
- Note: Certain prim types are unavailable for mask selection. Materials and GeomSubsets are not included. Any prim outside this mask hierarchy will be excluded from the stage, including referenced data like materials. See the USD documentation on Stage Population Mask.
- Create Cameras: Select to automatically create a 3ds Max camera object for each USD camera. The 3ds Max camera object will be controlled by its USD counterpart.
Tools
- USD Explorer: Click to open USD Explorer.
- USD Layer Editor: Click to open the USD Layer Editor.
Stage Metadata
This rollout displays all the metadata associated with the USD stage.
Viewport Selection
Use the Viewport Selection Rollout to set your selection preferences.
Selection Level: When the selection level is set to Stage, clicking any USD prim selects the entire stage. When the selection level is set to Prim, only the clicked prim is selected.
Note: You can also set the selection level by right-clicking in the Viewport and choose Prim or Top-level.By Kind
- none: This option is selected by default. When set to "none", prims will not be selected by kind.
- model: This option selects prims categorized as a "model".
- subcomponent: This option selects prims categorized as a "subcomponent".
- component: This option selects prims categorized as a "component".
- group: This option selects prims categorized as a "group".
- assembly: This option selects prims categorized as an "assembly".
Selection Highlight: "Selection" is enabled by default to highlight the selected item. To disable this, uncheck "selection". You can adjust the hightlight color via color bar.
Viewport Display
Use the Show drop-down to select your display preference for the stage. To increase the performance of a stage, the default viewport setting is to show the stage using the stage node’s wire color or 3ds Max Wire Color. You can also display a stage with the USD Display Color (deriving colors from USD Prim data) or USD Preview Surface (which uses the imported material from USD).
Credit: Scene in images above created by Ethan Olson and Shawn Olson.
- Display Purpose: Use to toggle the visibility of assigned purposes in the viewport. In USD, the building block (called prims) can have a purpose, or intended usage. A well-structured USD file will have objects defined with a purpose of Render, Guide or Proxy. Assign purposes in your USD file so you can toggle the display of purposes in this setting.
When a stage is loaded in the viewport, the default state is to just display the Proxy and Default purposes. Prims with the Default purpose are always displayed in the stage node regardless of the stage’s current Display Purpose settings.- Guide: Intended for prims used as markings, arrows or interaction guides.
- Proxy: Intended for prims used as lightweight representations that can load efficiently in the viewport.
- Render: Intended for prims that will be used at render-time.
Tip: Use the Invert toggle to quickly flip states between Proxy and Render.
Wire Color and Proxy
USD Display Color and Proxy
Wire Color and Render
USD Display Color and Render
USD Preview Surface and Render
Create Draw Mode:
- Point Instances: select this option to create a draw mode for point instances. You can choose between three draw modes, Default, Cards(Box) or Cards(Cross).
Icon: When you load a USD stage, a new icon for your USDStage node will display in the viewport, giving you a way to select the node in the viewport when no USD file is loaded into the stage. Toggle to display or hide the icon and use the Scale slider to change the size of the icon in the viewport.
Animation
Use Playback Type settings to configure the animation of your USD stage. You can specify an original range, a custom range, a custom start and speed, or specific USD TimeCode.
Fallback Render Support
- Materials
Minimal support for rendering a USD Stage is available as a fallback when renderers do not support accessing a USD stage directly. The fallback rendering requires that the node in the scene has materials assigned directly onto the USD Stage node. A stage renders with its wire color by default when rendered using the fallback method. To render a stage with USDPreviewSurface
materials using the fallback method, add the materials to the node with the Assign USD Materials button.
Assign USD Materials: Generates and assigns
UsdPreviewSurface
materials to the USD stage node. This lets you work with offline renderers that do not support USD directly.Note: You can track the progress of material assignment with the live progress bar. In 3ds Max 2022 and prior, this bar appears in the Command Panel. In 3ds Max 2023, this progress bar appears below the time key.Warning: This process overrides the material currently assigned to the node referencing the stage.
Rendering process and key considerations
- The fallback renderer utilizes the current stage display settings. This means that if you are viewing a stage with the Proxy purpose and not the Render purpose, the Render purpose geometry will not render.
- The stage object supports a single UV channel in the viewport, however, using the fallback method, multiple UVs are supported for fallback rendering.
- Currently the fallback rendering only works with USD materials that use the
UsdPreviewSurface
shader. - Materials are not automatically applied to a stage node because the generation of materials is time consuming and costly for very large scenes. This is also not required at all when renderers are able to support rendering the USD stage directly.
- For renderers that do have proper support for the USD stage, it is expected that the node’s display purpose is ignored, and USD prims marked as Default or Render purposes will render regardless of the display settings. For these renderers, the materials are derived from the USD data, and no materials need to be applied to the node in the scene. Although these are the expected results, refer to each renderer's documentation for USD compatibility to know its exact implementation.
Viewport Performance
Mesh Merge: This option consolidates the meshes for better viewport performance, but there is no single optimal setting that works across all scenes. Select Static(default), if your USD set contains only static assets. For scenes with transform animations, you may get better performance by choosing Dynamic, especially if the scene is composed of many small objects with animated transforms or vertex animations.
- Use the Visualize toggle to enact your results in the viewport.
- Use the Merge Thresholds options to configure consolidation options for your viewport performance.
Tip: Experiment with Mesh Merge options and thresholds to achieve the best performance with your scene.
Turning on the Visualize option helps to see which meshes have been merged by displaying them with the same color. This only affects the viewport and does not have any effect on the renderer.
USD prims
Edit prim properties
When Viewport Selection Level is set to Prim in the Modify panel, upon selecting a prim, it will display its various properties for inspection, viewing data or making edits.
The following list explains some common properties displayed in the panel.
- General
- Name: Name of the prim.
- Type: Type of the prim.
- Mesh: If the selected prim is a mesh prim, you can adjust the display of the mesh by setting the subdivision scheme, interpolate boundary, face varying linear interpolation, and triangular subdivision rule.
- Subdivision Scheme
- catmullClark (default): Preferred for quad-dominant meshes that generalize B-splines. The interpolation of point data in this scheme is non-linear and displays a smooth appearance.
- loop: Preferred for purely triangular meshes. The interpolation of point data in this scheme is non-linear and displays a smooth appearance.
- bilinear: Topologically similar to catmullCalrk. It reduces all faces to quads. The interpolation of point data in this scheme is bilinear. This scheme produces a similar shape to a polygonal mesh and may improve watertightness and other subdivision features such as holes, but it may not respect authored normals.
- none: No subdivision is applied to the mesh. The interpolatio of point data in this scheme is linear. This option is usually lighter weight and faster to render compared to the other options.
- Interpolate Boundary: Specifies how subdivision is applied to faces adjacent to boundary edges and points.
- none: No boundary interpolation is applied, and boundary faces are treated as holes.
- edgeOnly: The edges of subdivided boundary faces converge to a smooth curve defined by a sequence of boundary edges.
- edgeAndCorner (default): The edges of subdivided boundary faces converge to a poly curve with sharp corner points.
- Subdivision Scheme
- Gprim
- Double Sided: Select this option if you want to view a geometric prim from both sides. Enabling Double Sided instructs all renderers to disable optimizations such as backface culling for the geometric prim and to attempt providing forward-facing normals on both side of the surface for lighting calculations.
- Orientation: Select whether the geometric prim's surface normal should be computed using the right-handed rule or the left-handed rule.
- Imageable
- Visibility
- inherited: The selected prim inherits the display settings from its parent.
- invisible: The selected prim is hidden in the Viewport.
- Purpose: Render purpose of the prim. Choose among default, proxy, render, and guide.
- Visibility
- Metadata
- Prim Path: The path of the selected prim.
- Kind: The kind of the selected prim.
- Active: Turn off to deactivate the selected prim. Once deactivated, the prim will not appear in the Viewport or Render, and will not be included in traversals of the prim hierarchy.
- Instanceable: Select this option to make the prim instanceable.
Properties that do not belong to any USD Schema are listed under the Extra Attributes section.