USD Reference#

This page lists the main USD elements, hierarchy, and support status currently covered by the MotrixSim USD loading path.

Note

Here, โ€œsupportedโ€ means the converter reads the USD schema or attribute and maps it to an existing MSD / MotrixSim semantic. This page is the current converter support contract, not a complete USD / Omni schema attribute index. For schemas marked as โ€œpartialโ€, only the listed subset and major known gaps are covered. USD / PhysX / Omni schemas or attributes that are not listed should not be assumed to work. Unsupported attributes are usually reported as warnings, or skipped when no usable data is available.

Status Legend#

Marker

Meaning

Supported

Core semantics are converted and are recommended for current use

Partial

Only the listed subset is guaranteed, or some attributes are ignored / warned

Unsupported

Not currently converted to MotrixSim semantics

Index#

USD Stage / Assets Partial
Scene Prim Hierarchy Partial
  • UsdGeom.Xform / instance / instance proxy Supported
  • UsdPhysics.Scene / rigid body attributes Partial
  • UsdPhysics.RigidBodyAPI Partial
  • UsdPhysics.MassAPI Supported
  • ArticulationRootAPI Partial
  • UsdPhysics.Joint family Partial
  • UsdGeom.Gprim geometry Partial
  • UsdLux.LightAPI lights Partial
Joints / Drives Partial
  • FixedJoint, RevoluteJoint, PrismaticJoint, SphericalJoint Supported
  • PhysicsDriveAPI:angular, PhysicsDriveAPI:linear Partial
  • DistanceJoint, PhysicsDriveAPI:transX/rotX... Unsupported
Geometry / Meshes / Collision Partial
  • Mesh, Cube, Cylinder, Capsule, Sphere, Plane Supported
  • GeomSubset, normals, st texcoords Partial
  • CollisionAPI, MeshCollisionAPI, FilteredPairsAPI Partial
  • boundingSphere, boundingCube, convexDecomposition Supported
Materials / Textures Partial
  • OmniPBR, OmniGlass, UsdPreviewSurface Partial
  • PhysicsMaterialAPI, PhysX compliant contact material Partial
  • Unknown shader ids Unsupported
Lights / Environment Partial
  • DistantLight, SphereLight, RectLight Supported
  • DomeLight ambient / HDR skybox Partial
Unsupported Domains Unsupported
  • camera, sensor, tendon, deformable, particle, time-sampled animation schemas

Entry Points#

USD / API element

Status

MotrixSim mapping

motrixsim.load_model(path)

Supported

Convert USD and return SceneModel

motrixsim.msd.from_file(path)

Supported

Convert USD and return editable / composable msd.World

Stage, Files, and Assets#

USD element / feature

Status

MotrixSim mapping

.usd / .usda / .usdc / .usdz

Supported

Opened through OpenUSD Stage.Open

sublayer / reference / payload

Partial

Expanded by OpenUSD; the converter handles the composed prims

resolved texture path

Supported

Converted to MSD texture file source

relative texture path

Supported

Resolved relative to the USD file directory

remote texture URL

Partial

Downloaded into a local cache before conversion

time-sampled stage animation

Unsupported

Currently reads the static scene at the default time

Scene Hierarchy and Transforms#

USD element / attribute

Status

MotrixSim mapping

UsdGeom.Xform hierarchy

Supported

Traverses scene hierarchy and accumulates world transforms

instance / instance proxy

Supported

Traverses instance proxy children

visibility = invisible

Supported

Does not create visual geometry

purpose = guide

Supported

Does not create visual geometry; still creates collision geometry when the prim is a collider

scale / non-uniform scale

Supported

Applied to geometry size or mesh_scale

negative scale

Supported

Flips mesh winding to keep face orientation correct

UsdPhysics.RigidBodyAPI

Partial

Creates Link / Body; non-kinematic top-level rigid bodies get FreeJoint

kinematic rigid body

Supported

Treated as a static link without a free joint

ArticulationRootAPI

Partial

Used to inherit self-collision settings

Physics Scene and Rigid Body Attributes#

USD element / attribute

Status

MotrixSim mapping

UsdPhysics.Scene.gravityDirection + gravityMagnitude

Supported

simulate_option.gravity

physxScene:timeStepsPerSecond

Supported

simulate_option.timestep

UsdPhysics.MassAPI

Supported

Reads the MassAPI attributes below

MassAPI.mass

Supported

link.inertial.mass

MassAPI.centerOfMass

Supported

link.inertial.pos

MassAPI.diagonalInertia

Supported

link.inertial.diag_inertia

MassAPI.principalAxes

Supported

link.inertial.orientation

MassAPI.density

Supported

Collider physics_material.density

physxRigidBody:disableGravity

Supported

link.gravcomp = 1.0

physxRigidBody:linearDamping / angularDamping

Unsupported

Reported as warnings

physxRigidBody:maxLinearVelocity / maxAngularVelocity

Unsupported

Reported as warnings

physxRigidBody:enableCCD / retainAccelerations

Unsupported

Reported as warnings

Non-finite values and non-positive mass values are ignored with warnings. This group is still marked as โ€œpartialโ€ in the index because the PhysX rigid-body extension attributes have unsupported gaps; the listed MassAPI attributes themselves are converted.

Joints and Drives#

USD joint / attribute

Status

MotrixSim mapping

FixedJoint

Supported

Converted to a fixed child link with no DOF

RevoluteJoint

Supported

JointType.Revolute; supports X/Y/Z axis, limits, and reference pose

PrismaticJoint

Supported

JointType.Slide; supports X/Y/Z axis, limits, and reference pose

SphericalJoint

Partial

JointType.Ball; cone angles are approximated as a ball joint limit

DistanceJoint

Unsupported

Reported as a warning

PhysicsDriveAPI:angular

Partial

Applies to revolute joint spring-damper and actuator force limit

PhysicsDriveAPI:linear

Partial

Applies to prismatic joint spring-damper and actuator force limit

drive:maxForce

Supported

joint.actuator_force_limit, and creates MotorActuator.forcerange for one-DOF joints

drive:targetPosition

Supported

Spring target

drive:stiffness / drive:damping

Supported

Joint spring-damper

physxJoint:jointFriction

Supported

joint.friction_loss

physxJoint:armature

Supported

joint.armature

joint:collisionEnabled = false

Supported

Creates a parent-child link collision ignore

PhysicsDriveAPI:transX/transY/transZ/rotX/rotY/rotZ

Unsupported

Reported as warnings

physxJoint:maxJointVelocity

Unsupported

Reported as a warning

Geometry, Meshes, and Collision#

USD geometry / attribute

Status

MotrixSim mapping

UsdGeom.Mesh

Partial

ShapeType.Mesh, with mesh data stored inline in MeshAsset.source = MeshSource::Buffer

Cube

Supported

ShapeType.Box

Cylinder

Supported

ShapeType.Cylinder

Capsule

Supported

ShapeType.Capsule

Sphere

Supported

ShapeType.Sphere

Plane

Supported

ShapeType.Plane

GeomSubset with elementType = "face"

Supported

Splits into per-face-subset submeshes and can preserve subset materials

normals / st texcoords: vertex / varying / faceVarying

Supported

Read and expanded into MSD mesh data

Other normal / texcoord interpolation modes

Unsupported

Reported as warnings

CollisionAPI

Supported

Creates a collider

MeshCollisionAPI

Partial

Can create a mesh collider; only the approximation values below are supported

MeshCollisionAPI.approximation = none

Supported

Default mesh collider

convexHull

Supported

Default mesh collider, without runtime ACD

boundingSphere

Supported

Creates a sphere collider from mesh bounds

boundingCube

Supported

Creates a box collider from mesh bounds; can also preserve the visual mesh

convexDecomposition

Supported

Marks the mesh asset as collision_cooking = ConvexDecomposition and enables CoACDConfig

Unknown MeshCollisionAPI.approximation

Unsupported

Warns and falls back to the default mesh collider

FilteredPairsAPI

Supported

Creates collision ignore pairs

physxCollider:contactOffset

Supported

geometry.margin

physxCollider:restOffset

Unsupported

Reported as a warning

MotrixPhysicsGeomAPI

Supported

Supports Motrix custom impedance contact model and priority

Physics Materials, Visual Materials, and Textures#

USD material / shader

Status

MotrixSim mapping

PhysicsMaterialAPI.staticFriction

Supported

Sliding friction; torsional / rolling friction use fixed ratios

PhysicsMaterialAPI.dynamicFriction

Supported

Fallback when static friction is not authored

PhysicsMaterialAPI.density

Supported

Collider density, lower priority than MassAPI.density

PhysicsMaterialAPI.restitution

Supported

Hard contact restitution

physxMaterial:compliantContactStiffness / Damping

Supported

Force spring or acceleration spring contact model

physxMaterial:compliantContactAccelerationSpring

Supported

Selects acceleration spring

physxMaterial:dampingCombineMode / frictionCombineMode / restitutionCombineMode

Unsupported

Reported as warnings

OmniPBR

Partial

Converts only diffuse / opacity texture merge, diffuse tint, emissive, metallic, roughness, specular level, normal, detail normal, opacity threshold, texture scale / translate

OmniGlass

Partial

Converts only glass color, IOR, reflection color, and roughness; outputs a transparent non-metallic material

UsdPreviewSurface

Partial

Converts only diffuse color / texture, normal, emissive, metallic, roughness, IOR, and UsdTransform2d texture transform

Parseable local MDL material

Partial

Can fall back from local MDL parameters to OmniPBR / OmniGlass mappings

MaterialBindingAPI

Supported

Binds visual material or physics material

doubleSided

Partial

Affects both_side; alpha-blended materials have depth-sorting protection

Unknown shader id

Unsupported

Reported as a warning

Lights and Environment#

USD light

Status

MotrixSim mapping

DistantLight

Supported

Directional light

SphereLight

Supported

Point light

RectLight

Supported

Rect light; preserves width, height, axes, normalize flag, color, and exposure-applied intensity

Large RectLight

Supported

Adds capped ambient brightness

DomeLight without texture

Supported

Ambient light

DomeLight with .hdr texture

Partial

Bakes IBL maps and registers a skybox texture

Other light types

Unsupported

No MotrixSim light is currently generated

When a scene contains USD lights, the default head light is disabled to avoid double illumination. Converted worlds enable SSGI by default.

Current Unsupported or Uncovered Domains#

USD / PhysX domain

Status

Notes

UsdGeom.Camera

Unsupported

Not currently converted to MotrixSim camera

sensor schemas

Unsupported

Not currently converted to MotrixSim sensors

tendon / cable / actuator-like USD schemas

Unsupported

Only a subset of joint drives converts to motor actuators

deformable / particle / cloth

Unsupported

Not handled by the current USD conversion path

time-sampled animation

Unsupported

Currently reads static scenes

Unknown material shaders, unresolved textures, or abnormal mesh data

Partial

May be warned, skipped, or degraded

For complex USD assets, enable logging during loading and inspect warnings before physics validation.