Newton Schema#
The Newton USD Schema (newton-usd-schemas) defines physics attributes using the
Newton naming conventions. When a prim has
both Newton and PhysX schemas applied, the PhysX runtime resolves attribute values
using a well-defined priority order, allowing scenes authored with Newton schemas
to simulate correctly under PhysX.
The Newton schema is a codeless schema — it has no generated C++ classes.
Attributes are read at runtime via generic UsdAttribute lookups using
TfToken names from the generated NewtonSchemaTokens.h header.
Supported API Schemas#
The following Newton API schemas are recognized by the PhysX runtime:
NewtonSceneAPI#
Applies on top of a PhysicsScene prim.
Attribute |
Default |
Description |
|---|---|---|
|
1000 |
Simulation time step frequency in Hz. |
|
true |
Whether gravity is enabled for the entire scene. |
|
-1 |
Maximum solver iterations. Not mapped to PhysX (different semantics). |
NewtonXpbdSceneAPI / NewtonKaminoSceneAPI#
Extend NewtonSceneAPI with solver-specific parameters (XPBD or Kamino).
These attributes are not currently mapped to PhysX equivalents and are
reserved for Newton-native simulation.
NewtonArticulationRootAPI#
Applies on top of a prim with PhysicsArticulationRootAPI.
Attribute |
Default |
Description |
|---|---|---|
|
true |
Whether self-collisions are enabled for the articulation. |
NewtonCollisionAPI#
Applies on top of a Gprim with collision.
Attribute |
Default |
Description |
|---|---|---|
|
0 |
Outward surface inflation for collision detection (distance units). |
|
-inf |
Additional contact detection gap, additive on top of |
NewtonMeshCollisionAPI#
Applies on top of a Mesh with collision.
Attribute |
Default |
Description |
|---|---|---|
|
-1 |
Maximum vertices in convex hull approximation. |
NewtonMaterialAPI#
Applies on top of a Material prim.
Attribute |
Default |
Description |
|---|---|---|
|
0.25 |
Torsional friction coefficient. Not mapped to PhysX. |
|
0.0005 |
Rolling friction coefficient. Not mapped to PhysX. |
NewtonMimicAPI#
Single-apply schema applied on top of a PhysicsJoint prim that is part of an
articulation. Enforces a linear relationship between the follower joint (the
prim this API is applied to) and a leader joint:
The PhysX runtime implements this via PxArticulationMimicJoint as a hard
constraint. Only single-DOF joints are supported as follower and leader
(PhysicsRevoluteJoint with a finite limit set, or PhysicsPrismaticJoint).
Multi-DOF joints (spherical, D6, fixed, distance, gear, rack-and-pinion) are
rejected at parse time with an error message — use multiple
PhysxMimicJointAPI instances, one per axis, if you need that.
Attribute |
Default |
Description |
|---|---|---|
|
true |
Whether the mimic constraint is active. When |
|
(none) |
Relationship to the leader joint. Must reference exactly one
|
|
0.0 |
Offset term in the mimic equation. Units match the follower joint: a distance (stage linear units) for a prismatic follower, or degrees for a revolute follower. |
|
1.0 |
Scale factor on the leader’s position. A value of
|
Both the follower and the leader must participate in the same articulation
(i.e. excludeFromArticulation = false) and must be enabled
(jointEnabled = true). Toggling newton:mimicEnabled or changing
newton:mimicJoint at runtime triggers a structural re-parse; changes to
newton:mimicCoef0 / newton:mimicCoef1 are applied in-place without a
re-parse.
Attribute Resolution Priority#
When both Newton and PhysX schemas are applied to the same prim, the runtime resolves attribute values using the following priority (highest to lowest):
Priority |
Source |
Description |
|---|---|---|
1 |
PhysX Schema (authored) |
If the PhysX attribute has an explicitly authored value, it is always used. |
2 |
Newton Schema (authored) |
If the PhysX attribute is not authored but the corresponding Newton attribute has an authored value, the Newton value is used as a fallback. |
3 |
PhysX Default |
The PhysX schema default value (set during |
4 |
Newton Default |
The Newton schema default. In practice this is never reached because the PhysX default (priority 3) is always set before Newton fallback is checked. |
This means:
Users who author only Newton schemas get correct PhysX behavior via fallback.
Users who author both schemas always get the PhysX value when it is authored.
Existing scenes with only PhysX schemas are completely unaffected.
Newton to PhysX Attribute Mapping#
Newton Attribute |
PhysX Attribute |
Notes |
|---|---|---|
|
|
Direct mapping. |
|
(scene gravity magnitude) |
When |
|
|
Direct mapping. |
|
|
Direct mapping. Both represent the outward surface inflation distance. |
|
|
Not a direct mapping. Newton |
|
|
Applies to both convex hull and convex decomposition approximations.
Newton’s |
|
|
Newton’s equation |
|
|
Similarly, the PhysX offset is |
|
(presence of the mimic constraint) |
When |
|
|
Relationship to the leader joint. Changing this relationship at runtime triggers a structural re-parse. |
Deprecated PhysX Attributes#
The following PhysX attributes are deprecated in favor of their Newton equivalents.
The NewtonMigrationChecker validation rule in omni.physx.asset_validator
detects authored deprecated attributes and offers an auto-fix that migrates the
value to the Newton schema and removes the PhysX attribute.
Note that the migration of collision offsets involves a conversion:
newton:contactGap = physxCollision:contactOffset - physxCollision:restOffset,
because Newton’s gap is additive on top of margin while PhysX’s contactOffset
is measured from the shape surface.
Deprecated PhysX Attribute |
Replacement Newton Attribute |
Newton API |
|---|---|---|
|
|
NewtonSceneAPI |
|
|
NewtonCollisionAPI |
|
|
NewtonCollisionAPI |
|
|
NewtonArticulationRootAPI |