UsdPhysics module

Summary: The UsdPhysics module defines the physics-related prim and property schemas that together form a physics simulation representation.


Classes:

ArticulationRootAPI

PhysicsArticulationRootAPI can be applied to a scene graph node, and marks the subtree rooted here for inclusion in one or more reduced coordinate articulations.

CollisionAPI

Applies collision attributes to a UsdGeomXformable prim.

CollisionGroup

Defines a collision group for coarse filtering.

CollisionGroupTable

DistanceJoint

Predefined distance joint type (Distance between rigid bodies may be limited to given minimum or maximum distance.)

DriveAPI

The PhysicsDriveAPI when applied to any joint primitive will drive the joint towards a given target.

FilteredPairsAPI

API to describe fine-grained filtering.

FixedJoint

Predefined fixed joint type (All degrees of freedom are removed.)

Joint

A joint constrains the movement of rigid bodies.

LimitAPI

The PhysicsLimitAPI can be applied to a PhysicsJoint and will restrict the movement along an axis.

MassAPI

Defines explicit mass properties (mass, density, inertia etc.).

MassUnits

Container class for static double-precision symbols representing common mass units of measure expressed in kilograms.

MaterialAPI

Adds simulation material properties to a Material.

MeshCollisionAPI

Attributes to control how a Mesh is made into a collider.

PrismaticJoint

Predefined prismatic joint type (translation along prismatic joint axis is permitted.)

RevoluteJoint

Predefined revolute joint type (rotation along revolute joint axis is permitted.)

RigidBodyAPI

Applies physics body attributes to any UsdGeomXformable prim and marks that prim to be driven by a simulation.

Scene

General physics simulation properties, required for simulation.

SphericalJoint

Predefined spherical joint type (Removes linear degrees of freedom, cone limit may restrict the motion in a given range.) It allows two limit values, which when equal create a circular, else an elliptic cone limit around the limit axis.

Tokens

class pxr.UsdPhysics.ArticulationRootAPI

PhysicsArticulationRootAPI can be applied to a scene graph node, and marks the subtree rooted here for inclusion in one or more reduced coordinate articulations. For floating articulations, this should be on the root body. For fixed articulations (robotics jargon for e.g. a robot arm for welding that is bolted to the floor), this API can be on a direct or indirect parent of the root joint which is connected to the world, or on the joint itself..

Methods:

Apply

classmethod Apply(prim) -> ArticulationRootAPI

CanApply

classmethod CanApply(prim, whyNot) -> bool

Get

classmethod Get(stage, path) -> ArticulationRootAPI

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

static Apply()

classmethod Apply(prim) -> ArticulationRootAPI

Applies this single-apply API schema to the given prim .

This information is stored by adding”PhysicsArticulationRootAPI”to the token-valued, listOp metadata apiSchemas on the prim.

A valid UsdPhysicsArticulationRootAPI object is returned upon success. An invalid (or empty) UsdPhysicsArticulationRootAPI object is returned upon failure. See UsdPrim::ApplyAPI() for conditions resulting in failure.

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters

prim (Prim) –

static CanApply()

classmethod CanApply(prim, whyNot) -> bool

Returns true if this single-apply API schema can be applied to the given prim .

If this schema can not be a applied to the prim, this returns false and, if provided, populates whyNot with the reason it can not be applied.

Note that if CanApply returns false, that does not necessarily imply that calling Apply will fail. Callers are expected to call CanApply before calling Apply if they want to ensure that it is valid to apply a schema.

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters
  • prim (Prim) –

  • whyNot (str) –

static Get()

classmethod Get(stage, path) -> ArticulationRootAPI

Return a UsdPhysicsArticulationRootAPI holding the prim adhering to this schema at path on stage .

If no prim exists at path on stage , or if the prim at that path does not adhere to this schema, return an invalid schema object. This is shorthand for the following:

UsdPhysicsArticulationRootAPI(stage->GetPrimAtPath(path));
Parameters
static GetSchemaAttributeNames()

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes.

Does not include attributes that may be authored by custom/extended methods of the schemas involved.

Parameters

includeInherited (bool) –

class pxr.UsdPhysics.CollisionAPI

Applies collision attributes to a UsdGeomXformable prim. If a simulation is running, this geometry will collide with other geometries that have PhysicsCollisionAPI applied. If a prim in the parent hierarchy has the RigidBodyAPI applied, this collider is a part of that body. If there is no body in the parent hierarchy, this collider is considered to be static.

Methods:

Apply

classmethod Apply(prim) -> CollisionAPI

CanApply

classmethod CanApply(prim, whyNot) -> bool

CreateCollisionEnabledAttr(defaultValue, ...)

See GetCollisionEnabledAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateSimulationOwnerRel()

See GetSimulationOwnerRel() , and also Create vs Get Property Methods for when to use Get vs Create.

Get

classmethod Get(stage, path) -> CollisionAPI

GetCollisionEnabledAttr()

Determines if the PhysicsCollisionAPI is enabled.

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

GetSimulationOwnerRel()

Single PhysicsScene that will simulate this collider.

static Apply()

classmethod Apply(prim) -> CollisionAPI

Applies this single-apply API schema to the given prim .

This information is stored by adding”PhysicsCollisionAPI”to the token- valued, listOp metadata apiSchemas on the prim.

A valid UsdPhysicsCollisionAPI object is returned upon success. An invalid (or empty) UsdPhysicsCollisionAPI object is returned upon failure. See UsdPrim::ApplyAPI() for conditions resulting in failure.

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters

prim (Prim) –

static CanApply()

classmethod CanApply(prim, whyNot) -> bool

Returns true if this single-apply API schema can be applied to the given prim .

If this schema can not be a applied to the prim, this returns false and, if provided, populates whyNot with the reason it can not be applied.

Note that if CanApply returns false, that does not necessarily imply that calling Apply will fail. Callers are expected to call CanApply before calling Apply if they want to ensure that it is valid to apply a schema.

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters
  • prim (Prim) –

  • whyNot (str) –

CreateCollisionEnabledAttr(defaultValue, writeSparsely) Attribute

See GetCollisionEnabledAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateSimulationOwnerRel() Relationship

See GetSimulationOwnerRel() , and also Create vs Get Property Methods for when to use Get vs Create.

static Get()

classmethod Get(stage, path) -> CollisionAPI

Return a UsdPhysicsCollisionAPI holding the prim adhering to this schema at path on stage .

If no prim exists at path on stage , or if the prim at that path does not adhere to this schema, return an invalid schema object. This is shorthand for the following:

UsdPhysicsCollisionAPI(stage->GetPrimAtPath(path));
Parameters
GetCollisionEnabledAttr() Attribute

Determines if the PhysicsCollisionAPI is enabled.

Declaration

bool physics:collisionEnabled = 1

C++ Type

bool

Usd Type

SdfValueTypeNames->Bool

static GetSchemaAttributeNames()

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes.

Does not include attributes that may be authored by custom/extended methods of the schemas involved.

Parameters

includeInherited (bool) –

GetSimulationOwnerRel() Relationship

Single PhysicsScene that will simulate this collider.

By default this object belongs to the first PhysicsScene. Note that if a RigidBodyAPI in the hierarchy above has a different simulationOwner then it has a precedence over this relationship.

class pxr.UsdPhysics.CollisionGroup

Defines a collision group for coarse filtering. When a collision occurs between two objects that have a PhysicsCollisionGroup assigned, they will collide with each other unless this PhysicsCollisionGroup pair is filtered. See filteredGroups attribute.

A CollectionAPI:colliders maintains a list of PhysicsCollisionAPI rel-s that defines the members of this Collisiongroup.

Methods:

ComputeCollisionGroupTable

classmethod ComputeCollisionGroupTable(stage) -> CollisionGroupTable

CreateFilteredGroupsRel()

See GetFilteredGroupsRel() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateInvertFilteredGroupsAttr(defaultValue, ...)

See GetInvertFilteredGroupsAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateMergeGroupNameAttr(defaultValue, ...)

See GetMergeGroupNameAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

Define

classmethod Define(stage, path) -> CollisionGroup

Get

classmethod Get(stage, path) -> CollisionGroup

GetCollidersCollectionAPI()

Return the UsdCollectionAPI interface used for defining what colliders belong to the CollisionGroup.

GetFilteredGroupsRel()

References a list of PhysicsCollisionGroups with which collisions should be ignored.

GetInvertFilteredGroupsAttr()

Normally, the filter will disable collisions against the selected filter groups.

GetMergeGroupNameAttr()

If non-empty, any collision groups in a stage with a matching mergeGroup should be considered to refer to the same collection.

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

static ComputeCollisionGroupTable()

classmethod ComputeCollisionGroupTable(stage) -> CollisionGroupTable

Compute a table encoding all the collision groups filter rules for a stage.

This can be used as a reference to validate an implementation of the collision groups filters. The returned table is diagonally symmetric.

Parameters

stage (Stage) –

CreateFilteredGroupsRel() Relationship

See GetFilteredGroupsRel() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateInvertFilteredGroupsAttr(defaultValue, writeSparsely) Attribute

See GetInvertFilteredGroupsAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateMergeGroupNameAttr(defaultValue, writeSparsely) Attribute

See GetMergeGroupNameAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

static Define()

classmethod Define(stage, path) -> CollisionGroup

Attempt to ensure a UsdPrim adhering to this schema at path is defined (according to UsdPrim::IsDefined() ) on this stage.

If a prim adhering to this schema at path is already defined on this stage, return that prim. Otherwise author an SdfPrimSpec with specifier == SdfSpecifierDef and this schema’s prim type name for the prim at path at the current EditTarget. Author SdfPrimSpec s with specifier == SdfSpecifierDef and empty typeName at the current EditTarget for any nonexistent, or existing but not Defined ancestors.

The given path must be an absolute prim path that does not contain any variant selections.

If it is impossible to author any of the necessary PrimSpecs, (for example, in case path cannot map to the current UsdEditTarget ‘s namespace) issue an error and return an invalid UsdPrim.

Note that this method may return a defined prim whose typeName does not specify this schema class, in case a stronger typeName opinion overrides the opinion at the current EditTarget.

Parameters
static Get()

classmethod Get(stage, path) -> CollisionGroup

Return a UsdPhysicsCollisionGroup holding the prim adhering to this schema at path on stage .

If no prim exists at path on stage , or if the prim at that path does not adhere to this schema, return an invalid schema object. This is shorthand for the following:

UsdPhysicsCollisionGroup(stage->GetPrimAtPath(path));
Parameters
GetCollidersCollectionAPI() CollectionAPI

Return the UsdCollectionAPI interface used for defining what colliders belong to the CollisionGroup.

GetFilteredGroupsRel() Relationship

References a list of PhysicsCollisionGroups with which collisions should be ignored.

GetInvertFilteredGroupsAttr() Attribute

Normally, the filter will disable collisions against the selected filter groups.

However, if this option is set, the filter will disable collisions against all colliders except for those in the selected filter groups.

Declaration

bool physics:invertFilteredGroups

C++ Type

bool

Usd Type

SdfValueTypeNames->Bool

GetMergeGroupNameAttr() Attribute

If non-empty, any collision groups in a stage with a matching mergeGroup should be considered to refer to the same collection.

Matching collision groups should behave as if there were a single group containing referenced colliders and filter groups from both collections.

Declaration

string physics:mergeGroup

C++ Type

std::string

Usd Type

SdfValueTypeNames->String

static GetSchemaAttributeNames()

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes.

Does not include attributes that may be authored by custom/extended methods of the schemas involved.

Parameters

includeInherited (bool) –

class pxr.UsdPhysics.CollisionGroupTable

Methods:

GetGroups

IsCollisionEnabled

GetGroups()
IsCollisionEnabled()
class pxr.UsdPhysics.DistanceJoint

Predefined distance joint type (Distance between rigid bodies may be limited to given minimum or maximum distance.)

Methods:

CreateMaxDistanceAttr(defaultValue, ...)

See GetMaxDistanceAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateMinDistanceAttr(defaultValue, ...)

See GetMinDistanceAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

Define

classmethod Define(stage, path) -> DistanceJoint

Get

classmethod Get(stage, path) -> DistanceJoint

GetMaxDistanceAttr()

Maximum distance.

GetMinDistanceAttr()

Minimum distance.

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

CreateMaxDistanceAttr(defaultValue, writeSparsely) Attribute

See GetMaxDistanceAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateMinDistanceAttr(defaultValue, writeSparsely) Attribute

See GetMinDistanceAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

static Define()

classmethod Define(stage, path) -> DistanceJoint

Attempt to ensure a UsdPrim adhering to this schema at path is defined (according to UsdPrim::IsDefined() ) on this stage.

If a prim adhering to this schema at path is already defined on this stage, return that prim. Otherwise author an SdfPrimSpec with specifier == SdfSpecifierDef and this schema’s prim type name for the prim at path at the current EditTarget. Author SdfPrimSpec s with specifier == SdfSpecifierDef and empty typeName at the current EditTarget for any nonexistent, or existing but not Defined ancestors.

The given path must be an absolute prim path that does not contain any variant selections.

If it is impossible to author any of the necessary PrimSpecs, (for example, in case path cannot map to the current UsdEditTarget ‘s namespace) issue an error and return an invalid UsdPrim.

Note that this method may return a defined prim whose typeName does not specify this schema class, in case a stronger typeName opinion overrides the opinion at the current EditTarget.

Parameters
static Get()

classmethod Get(stage, path) -> DistanceJoint

Return a UsdPhysicsDistanceJoint holding the prim adhering to this schema at path on stage .

If no prim exists at path on stage , or if the prim at that path does not adhere to this schema, return an invalid schema object. This is shorthand for the following:

UsdPhysicsDistanceJoint(stage->GetPrimAtPath(path));
Parameters
GetMaxDistanceAttr() Attribute

Maximum distance.

If attribute is negative, the joint is not limited. Units: distance.

Declaration

float physics:maxDistance = -1

C++ Type

float

Usd Type

SdfValueTypeNames->Float

GetMinDistanceAttr() Attribute

Minimum distance.

If attribute is negative, the joint is not limited. Units: distance.

Declaration

float physics:minDistance = -1

C++ Type

float

Usd Type

SdfValueTypeNames->Float

static GetSchemaAttributeNames()

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes.

Does not include attributes that may be authored by custom/extended methods of the schemas involved.

Parameters

includeInherited (bool) –

class pxr.UsdPhysics.DriveAPI

The PhysicsDriveAPI when applied to any joint primitive will drive the joint towards a given target. The PhysicsDriveAPI is a multipleApply schema: drive can be set per axis”transX”,”transY”,”transZ”,”rotX”,”rotY”,”rotZ”or its”linear”for prismatic joint or”angular”for revolute joints. Setting these as a multipleApply schema TfToken name will define the degree of freedom the DriveAPI is applied to. Each drive is an implicit force-limited damped spring: Force or acceleration = stiffness * (targetPosition - position)

  • damping * (targetVelocity - velocity)

For any described attribute Fallback Value or Allowed Values below that are text/tokens, the actual token is published and defined in UsdPhysicsTokens. So to set an attribute to the value”rightHanded”, use UsdPhysicsTokens->rightHanded as the value.

Methods:

Apply

classmethod Apply(prim, name) -> DriveAPI

CanApply

classmethod CanApply(prim, name, whyNot) -> bool

CreateDampingAttr(defaultValue, writeSparsely)

See GetDampingAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateMaxForceAttr(defaultValue, writeSparsely)

See GetMaxForceAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateStiffnessAttr(defaultValue, writeSparsely)

See GetStiffnessAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateTargetPositionAttr(defaultValue, ...)

See GetTargetPositionAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateTargetVelocityAttr(defaultValue, ...)

See GetTargetVelocityAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateTypeAttr(defaultValue, writeSparsely)

See GetTypeAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

Get

classmethod Get(stage, path) -> DriveAPI

GetAll

classmethod GetAll(prim) -> list[DriveAPI]

GetDampingAttr()

Damping of the drive.

GetMaxForceAttr()

Maximum force that can be applied to drive.

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

GetStiffnessAttr()

Stiffness of the drive.

GetTargetPositionAttr()

Target value for position.

GetTargetVelocityAttr()

Target value for velocity.

GetTypeAttr()

Drive spring is for the acceleration at the joint (rather than the force).

IsPhysicsDriveAPIPath

classmethod IsPhysicsDriveAPIPath(path, name) -> bool

static Apply()

classmethod Apply(prim, name) -> DriveAPI

Applies this multiple-apply API schema to the given prim along with the given instance name, name .

This information is stored by adding”PhysicsDriveAPI:<i>name</i>”to the token-valued, listOp metadata apiSchemas on the prim. For example, if name is’instance1’, the token’PhysicsDriveAPI:instance1’is added to’apiSchemas’.

A valid UsdPhysicsDriveAPI object is returned upon success. An invalid (or empty) UsdPhysicsDriveAPI object is returned upon failure. See UsdPrim::ApplyAPI() for conditions resulting in failure.

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters
  • prim (Prim) –

  • name (str) –

static CanApply()

classmethod CanApply(prim, name, whyNot) -> bool

Returns true if this multiple-apply API schema can be applied, with the given instance name, name , to the given prim .

If this schema can not be a applied the prim, this returns false and, if provided, populates whyNot with the reason it can not be applied.

Note that if CanApply returns false, that does not necessarily imply that calling Apply will fail. Callers are expected to call CanApply before calling Apply if they want to ensure that it is valid to apply a schema.

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters
  • prim (Prim) –

  • name (str) –

  • whyNot (str) –

CreateDampingAttr(defaultValue, writeSparsely) Attribute

See GetDampingAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateMaxForceAttr(defaultValue, writeSparsely) Attribute

See GetMaxForceAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateStiffnessAttr(defaultValue, writeSparsely) Attribute

See GetStiffnessAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateTargetPositionAttr(defaultValue, writeSparsely) Attribute

See GetTargetPositionAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateTargetVelocityAttr(defaultValue, writeSparsely) Attribute

See GetTargetVelocityAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateTypeAttr(defaultValue, writeSparsely) Attribute

See GetTypeAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

static Get()

classmethod Get(stage, path) -> DriveAPI

Return a UsdPhysicsDriveAPI holding the prim adhering to this schema at path on stage .

If no prim exists at path on stage , or if the prim at that path does not adhere to this schema, return an invalid schema object. path must be of the format<path>.drive:name.

This is shorthand for the following:

TfToken name = SdfPath::StripNamespace(path.GetToken());
UsdPhysicsDriveAPI(
    stage->GetPrimAtPath(path.GetPrimPath()), name);
Parameters

Get(prim, name) -> DriveAPI

Return a UsdPhysicsDriveAPI with name name holding the prim prim .

Shorthand for UsdPhysicsDriveAPI(prim, name);

Parameters
  • prim (Prim) –

  • name (str) –

static GetAll()

classmethod GetAll(prim) -> list[DriveAPI]

Return a vector of all named instances of UsdPhysicsDriveAPI on the given prim .

Parameters

prim (Prim) –

GetDampingAttr() Attribute

Damping of the drive.

Units: if linear drive: mass/second If angular drive: mass*DIST_UNITS*DIST_UNITS/second/second/degrees.

Declaration

float physics:damping = 0

C++ Type

float

Usd Type

SdfValueTypeNames->Float

GetMaxForceAttr() Attribute

Maximum force that can be applied to drive.

Units: if linear drive: mass*DIST_UNITS/second/second if angular drive: mass*DIST_UNITS*DIST_UNITS/second/second inf means not limited. Must be non-negative.

Declaration

float physics:maxForce = inf

C++ Type

float

Usd Type

SdfValueTypeNames->Float

static GetSchemaAttributeNames()

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes.

Does not include attributes that may be authored by custom/extended methods of the schemas involved.

Parameters

includeInherited (bool) –


GetSchemaAttributeNames(includeInherited, instanceName) -> list[str]

Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes for a given instance name.

Does not include attributes that may be authored by custom/extended methods of the schemas involved. The names returned will have the proper namespace prefix.

Parameters
  • includeInherited (bool) –

  • instanceName (str) –

GetStiffnessAttr() Attribute

Stiffness of the drive.

Units: if linear drive: mass/second/second if angular drive: mass*DIST_UNITS*DIST_UNITS/degree/second/second.

Declaration

float physics:stiffness = 0

C++ Type

float

Usd Type

SdfValueTypeNames->Float

GetTargetPositionAttr() Attribute

Target value for position.

Units: if linear drive: distance if angular drive: degrees.

Declaration

float physics:targetPosition = 0

C++ Type

float

Usd Type

SdfValueTypeNames->Float

GetTargetVelocityAttr() Attribute

Target value for velocity.

Units: if linear drive: distance/second if angular drive: degrees/second.

Declaration

float physics:targetVelocity = 0

C++ Type

float

Usd Type

SdfValueTypeNames->Float

GetTypeAttr() Attribute

Drive spring is for the acceleration at the joint (rather than the force).

Declaration

uniform token physics:type ="force"

C++ Type

TfToken

Usd Type

SdfValueTypeNames->Token

Variability

SdfVariabilityUniform

Allowed Values

force, acceleration

static IsPhysicsDriveAPIPath()

classmethod IsPhysicsDriveAPIPath(path, name) -> bool

Checks if the given path path is of an API schema of type PhysicsDriveAPI.

If so, it stores the instance name of the schema in name and returns true. Otherwise, it returns false.

Parameters
  • path (Path) –

  • name (str) –

class pxr.UsdPhysics.FilteredPairsAPI

API to describe fine-grained filtering. If a collision between two objects occurs, this pair might be filtered if the pair is defined through this API. This API can be applied either to a body or collision or even articulation. The”filteredPairs”defines what objects it should not collide against. Note that FilteredPairsAPI filtering has precedence over CollisionGroup filtering.

Methods:

Apply

classmethod Apply(prim) -> FilteredPairsAPI

CanApply

classmethod CanApply(prim, whyNot) -> bool

CreateFilteredPairsRel()

See GetFilteredPairsRel() , and also Create vs Get Property Methods for when to use Get vs Create.

Get

classmethod Get(stage, path) -> FilteredPairsAPI

GetFilteredPairsRel()

Relationship to objects that should be filtered.

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

static Apply()

classmethod Apply(prim) -> FilteredPairsAPI

Applies this single-apply API schema to the given prim .

This information is stored by adding”PhysicsFilteredPairsAPI”to the token-valued, listOp metadata apiSchemas on the prim.

A valid UsdPhysicsFilteredPairsAPI object is returned upon success. An invalid (or empty) UsdPhysicsFilteredPairsAPI object is returned upon failure. See UsdPrim::ApplyAPI() for conditions resulting in failure.

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters

prim (Prim) –

static CanApply()

classmethod CanApply(prim, whyNot) -> bool

Returns true if this single-apply API schema can be applied to the given prim .

If this schema can not be a applied to the prim, this returns false and, if provided, populates whyNot with the reason it can not be applied.

Note that if CanApply returns false, that does not necessarily imply that calling Apply will fail. Callers are expected to call CanApply before calling Apply if they want to ensure that it is valid to apply a schema.

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters
  • prim (Prim) –

  • whyNot (str) –

CreateFilteredPairsRel() Relationship

See GetFilteredPairsRel() , and also Create vs Get Property Methods for when to use Get vs Create.

static Get()

classmethod Get(stage, path) -> FilteredPairsAPI

Return a UsdPhysicsFilteredPairsAPI holding the prim adhering to this schema at path on stage .

If no prim exists at path on stage , or if the prim at that path does not adhere to this schema, return an invalid schema object. This is shorthand for the following:

UsdPhysicsFilteredPairsAPI(stage->GetPrimAtPath(path));
Parameters
GetFilteredPairsRel() Relationship

Relationship to objects that should be filtered.

static GetSchemaAttributeNames()

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes.

Does not include attributes that may be authored by custom/extended methods of the schemas involved.

Parameters

includeInherited (bool) –

class pxr.UsdPhysics.FixedJoint

Predefined fixed joint type (All degrees of freedom are removed.)

Methods:

Define

classmethod Define(stage, path) -> FixedJoint

Get

classmethod Get(stage, path) -> FixedJoint

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

static Define()

classmethod Define(stage, path) -> FixedJoint

Attempt to ensure a UsdPrim adhering to this schema at path is defined (according to UsdPrim::IsDefined() ) on this stage.

If a prim adhering to this schema at path is already defined on this stage, return that prim. Otherwise author an SdfPrimSpec with specifier == SdfSpecifierDef and this schema’s prim type name for the prim at path at the current EditTarget. Author SdfPrimSpec s with specifier == SdfSpecifierDef and empty typeName at the current EditTarget for any nonexistent, or existing but not Defined ancestors.

The given path must be an absolute prim path that does not contain any variant selections.

If it is impossible to author any of the necessary PrimSpecs, (for example, in case path cannot map to the current UsdEditTarget ‘s namespace) issue an error and return an invalid UsdPrim.

Note that this method may return a defined prim whose typeName does not specify this schema class, in case a stronger typeName opinion overrides the opinion at the current EditTarget.

Parameters
static Get()

classmethod Get(stage, path) -> FixedJoint

Return a UsdPhysicsFixedJoint holding the prim adhering to this schema at path on stage .

If no prim exists at path on stage , or if the prim at that path does not adhere to this schema, return an invalid schema object. This is shorthand for the following:

UsdPhysicsFixedJoint(stage->GetPrimAtPath(path));
Parameters
static GetSchemaAttributeNames()

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes.

Does not include attributes that may be authored by custom/extended methods of the schemas involved.

Parameters

includeInherited (bool) –

class pxr.UsdPhysics.Joint

A joint constrains the movement of rigid bodies. Joint can be created between two rigid bodies or between one rigid body and world. By default joint primitive defines a D6 joint where all degrees of freedom are free. Three linear and three angular degrees of freedom. Note that default behavior is to disable collision between jointed bodies.

Methods:

CreateBody0Rel()

See GetBody0Rel() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateBody1Rel()

See GetBody1Rel() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateBreakForceAttr(defaultValue, writeSparsely)

See GetBreakForceAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateBreakTorqueAttr(defaultValue, ...)

See GetBreakTorqueAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateCollisionEnabledAttr(defaultValue, ...)

See GetCollisionEnabledAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateExcludeFromArticulationAttr(...)

See GetExcludeFromArticulationAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateJointEnabledAttr(defaultValue, ...)

See GetJointEnabledAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateLocalPos0Attr(defaultValue, writeSparsely)

See GetLocalPos0Attr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateLocalPos1Attr(defaultValue, writeSparsely)

See GetLocalPos1Attr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateLocalRot0Attr(defaultValue, writeSparsely)

See GetLocalRot0Attr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateLocalRot1Attr(defaultValue, writeSparsely)

See GetLocalRot1Attr() , and also Create vs Get Property Methods for when to use Get vs Create.

Define

classmethod Define(stage, path) -> Joint

Get

classmethod Get(stage, path) -> Joint

GetBody0Rel()

Relationship to any UsdGeomXformable.

GetBody1Rel()

Relationship to any UsdGeomXformable.

GetBreakForceAttr()

Joint break force.

GetBreakTorqueAttr()

Joint break torque.

GetCollisionEnabledAttr()

Determines if the jointed subtrees should collide or not.

GetExcludeFromArticulationAttr()

Determines if the joint can be included in an Articulation.

GetJointEnabledAttr()

Determines if the joint is enabled.

GetLocalPos0Attr()

Relative position of the joint frame to body0's frame.

GetLocalPos1Attr()

Relative position of the joint frame to body1's frame.

GetLocalRot0Attr()

Relative orientation of the joint frame to body0's frame.

GetLocalRot1Attr()

Relative orientation of the joint frame to body1's frame.

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

CreateBody0Rel() Relationship

See GetBody0Rel() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateBody1Rel() Relationship

See GetBody1Rel() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateBreakForceAttr(defaultValue, writeSparsely) Attribute

See GetBreakForceAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateBreakTorqueAttr(defaultValue, writeSparsely) Attribute

See GetBreakTorqueAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateCollisionEnabledAttr(defaultValue, writeSparsely) Attribute

See GetCollisionEnabledAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateExcludeFromArticulationAttr(defaultValue, writeSparsely) Attribute

See GetExcludeFromArticulationAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateJointEnabledAttr(defaultValue, writeSparsely) Attribute

See GetJointEnabledAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateLocalPos0Attr(defaultValue, writeSparsely) Attribute

See GetLocalPos0Attr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateLocalPos1Attr(defaultValue, writeSparsely) Attribute

See GetLocalPos1Attr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateLocalRot0Attr(defaultValue, writeSparsely) Attribute

See GetLocalRot0Attr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateLocalRot1Attr(defaultValue, writeSparsely) Attribute

See GetLocalRot1Attr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

static Define()

classmethod Define(stage, path) -> Joint

Attempt to ensure a UsdPrim adhering to this schema at path is defined (according to UsdPrim::IsDefined() ) on this stage.

If a prim adhering to this schema at path is already defined on this stage, return that prim. Otherwise author an SdfPrimSpec with specifier == SdfSpecifierDef and this schema’s prim type name for the prim at path at the current EditTarget. Author SdfPrimSpec s with specifier == SdfSpecifierDef and empty typeName at the current EditTarget for any nonexistent, or existing but not Defined ancestors.

The given path must be an absolute prim path that does not contain any variant selections.

If it is impossible to author any of the necessary PrimSpecs, (for example, in case path cannot map to the current UsdEditTarget ‘s namespace) issue an error and return an invalid UsdPrim.

Note that this method may return a defined prim whose typeName does not specify this schema class, in case a stronger typeName opinion overrides the opinion at the current EditTarget.

Parameters
static Get()

classmethod Get(stage, path) -> Joint

Return a UsdPhysicsJoint holding the prim adhering to this schema at path on stage .

If no prim exists at path on stage , or if the prim at that path does not adhere to this schema, return an invalid schema object. This is shorthand for the following:

UsdPhysicsJoint(stage->GetPrimAtPath(path));
Parameters
GetBody0Rel() Relationship

Relationship to any UsdGeomXformable.

GetBody1Rel() Relationship

Relationship to any UsdGeomXformable.

GetBreakForceAttr() Attribute

Joint break force.

If set, joint is to break when this force limit is reached. (Used for linear DOFs.) Units: mass * distance / second / second

Declaration

float physics:breakForce = inf

C++ Type

float

Usd Type

SdfValueTypeNames->Float

GetBreakTorqueAttr() Attribute

Joint break torque.

If set, joint is to break when this torque limit is reached. (Used for angular DOFs.) Units: mass * distance * distance / second / second

Declaration

float physics:breakTorque = inf

C++ Type

float

Usd Type

SdfValueTypeNames->Float

GetCollisionEnabledAttr() Attribute

Determines if the jointed subtrees should collide or not.

Declaration

bool physics:collisionEnabled = 0

C++ Type

bool

Usd Type

SdfValueTypeNames->Bool

GetExcludeFromArticulationAttr() Attribute

Determines if the joint can be included in an Articulation.

Declaration

uniform bool physics:excludeFromArticulation = 0

C++ Type

bool

Usd Type

SdfValueTypeNames->Bool

Variability

SdfVariabilityUniform

GetJointEnabledAttr() Attribute

Determines if the joint is enabled.

Declaration

bool physics:jointEnabled = 1

C++ Type

bool

Usd Type

SdfValueTypeNames->Bool

GetLocalPos0Attr() Attribute

Relative position of the joint frame to body0’s frame.

Declaration

point3f physics:localPos0 = (0, 0, 0)

C++ Type

GfVec3f

Usd Type

SdfValueTypeNames->Point3f

GetLocalPos1Attr() Attribute

Relative position of the joint frame to body1’s frame.

Declaration

point3f physics:localPos1 = (0, 0, 0)

C++ Type

GfVec3f

Usd Type

SdfValueTypeNames->Point3f

GetLocalRot0Attr() Attribute

Relative orientation of the joint frame to body0’s frame.

Declaration

quatf physics:localRot0 = (1, 0, 0, 0)

C++ Type

GfQuatf

Usd Type

SdfValueTypeNames->Quatf

GetLocalRot1Attr() Attribute

Relative orientation of the joint frame to body1’s frame.

Declaration

quatf physics:localRot1 = (1, 0, 0, 0)

C++ Type

GfQuatf

Usd Type

SdfValueTypeNames->Quatf

static GetSchemaAttributeNames()

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes.

Does not include attributes that may be authored by custom/extended methods of the schemas involved.

Parameters

includeInherited (bool) –

class pxr.UsdPhysics.LimitAPI

The PhysicsLimitAPI can be applied to a PhysicsJoint and will restrict the movement along an axis. PhysicsLimitAPI is a multipleApply schema: The PhysicsJoint can be restricted along”transX”,”transY”,”transZ”,”rotX”,”rotY”,”rotZ”,”distance”. Setting these as a multipleApply schema TfToken name will define the degree of freedom the PhysicsLimitAPI is applied to. Note that if the low limit is higher than the high limit, motion along this axis is considered locked.

Methods:

Apply

classmethod Apply(prim, name) -> LimitAPI

CanApply

classmethod CanApply(prim, name, whyNot) -> bool

CreateHighAttr(defaultValue, writeSparsely)

See GetHighAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateLowAttr(defaultValue, writeSparsely)

See GetLowAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

Get

classmethod Get(stage, path) -> LimitAPI

GetAll

classmethod GetAll(prim) -> list[LimitAPI]

GetHighAttr()

Upper limit.

GetLowAttr()

Lower limit.

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

IsPhysicsLimitAPIPath

classmethod IsPhysicsLimitAPIPath(path, name) -> bool

static Apply()

classmethod Apply(prim, name) -> LimitAPI

Applies this multiple-apply API schema to the given prim along with the given instance name, name .

This information is stored by adding”PhysicsLimitAPI:<i>name</i>”to the token-valued, listOp metadata apiSchemas on the prim. For example, if name is’instance1’, the token’PhysicsLimitAPI:instance1’is added to’apiSchemas’.

A valid UsdPhysicsLimitAPI object is returned upon success. An invalid (or empty) UsdPhysicsLimitAPI object is returned upon failure. See UsdPrim::ApplyAPI() for conditions resulting in failure.

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters
  • prim (Prim) –

  • name (str) –

static CanApply()

classmethod CanApply(prim, name, whyNot) -> bool

Returns true if this multiple-apply API schema can be applied, with the given instance name, name , to the given prim .

If this schema can not be a applied the prim, this returns false and, if provided, populates whyNot with the reason it can not be applied.

Note that if CanApply returns false, that does not necessarily imply that calling Apply will fail. Callers are expected to call CanApply before calling Apply if they want to ensure that it is valid to apply a schema.

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters
  • prim (Prim) –

  • name (str) –

  • whyNot (str) –

CreateHighAttr(defaultValue, writeSparsely) Attribute

See GetHighAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateLowAttr(defaultValue, writeSparsely) Attribute

See GetLowAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

static Get()

classmethod Get(stage, path) -> LimitAPI

Return a UsdPhysicsLimitAPI holding the prim adhering to this schema at path on stage .

If no prim exists at path on stage , or if the prim at that path does not adhere to this schema, return an invalid schema object. path must be of the format<path>.limit:name.

This is shorthand for the following:

TfToken name = SdfPath::StripNamespace(path.GetToken());
UsdPhysicsLimitAPI(
    stage->GetPrimAtPath(path.GetPrimPath()), name);
Parameters

Get(prim, name) -> LimitAPI

Return a UsdPhysicsLimitAPI with name name holding the prim prim .

Shorthand for UsdPhysicsLimitAPI(prim, name);

Parameters
  • prim (Prim) –

  • name (str) –

static GetAll()

classmethod GetAll(prim) -> list[LimitAPI]

Return a vector of all named instances of UsdPhysicsLimitAPI on the given prim .

Parameters

prim (Prim) –

GetHighAttr() Attribute

Upper limit.

Units: degrees or distance depending on trans or rot axis applied to. inf means not limited in positive direction.

Declaration

float physics:high = inf

C++ Type

float

Usd Type

SdfValueTypeNames->Float

GetLowAttr() Attribute

Lower limit.

Units: degrees or distance depending on trans or rot axis applied to. -inf means not limited in negative direction.

Declaration

float physics:low = -inf

C++ Type

float

Usd Type

SdfValueTypeNames->Float

static GetSchemaAttributeNames()

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes.

Does not include attributes that may be authored by custom/extended methods of the schemas involved.

Parameters

includeInherited (bool) –


GetSchemaAttributeNames(includeInherited, instanceName) -> list[str]

Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes for a given instance name.

Does not include attributes that may be authored by custom/extended methods of the schemas involved. The names returned will have the proper namespace prefix.

Parameters
  • includeInherited (bool) –

  • instanceName (str) –

static IsPhysicsLimitAPIPath()

classmethod IsPhysicsLimitAPIPath(path, name) -> bool

Checks if the given path path is of an API schema of type PhysicsLimitAPI.

If so, it stores the instance name of the schema in name and returns true. Otherwise, it returns false.

Parameters
  • path (Path) –

  • name (str) –

class pxr.UsdPhysics.MassAPI

Defines explicit mass properties (mass, density, inertia etc.). MassAPI can be applied to any object that has a PhysicsCollisionAPI or a PhysicsRigidBodyAPI.

Methods:

Apply

classmethod Apply(prim) -> MassAPI

CanApply

classmethod CanApply(prim, whyNot) -> bool

CreateCenterOfMassAttr(defaultValue, ...)

See GetCenterOfMassAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateDensityAttr(defaultValue, writeSparsely)

See GetDensityAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateDiagonalInertiaAttr(defaultValue, ...)

See GetDiagonalInertiaAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateMassAttr(defaultValue, writeSparsely)

See GetMassAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreatePrincipalAxesAttr(defaultValue, ...)

See GetPrincipalAxesAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

Get

classmethod Get(stage, path) -> MassAPI

GetCenterOfMassAttr()

Center of mass in the prim's local space.

GetDensityAttr()

If non-zero, specifies the density of the object.

GetDiagonalInertiaAttr()

If non-zero, specifies diagonalized inertia tensor along the principal axes.

GetMassAttr()

If non-zero, directly specifies the mass of the object.

GetPrincipalAxesAttr()

Orientation of the inertia tensor's principal axes in the prim's local space.

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

static Apply()

classmethod Apply(prim) -> MassAPI

Applies this single-apply API schema to the given prim .

This information is stored by adding”PhysicsMassAPI”to the token- valued, listOp metadata apiSchemas on the prim.

A valid UsdPhysicsMassAPI object is returned upon success. An invalid (or empty) UsdPhysicsMassAPI object is returned upon failure. See UsdPrim::ApplyAPI() for conditions resulting in failure.

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters

prim (Prim) –

static CanApply()

classmethod CanApply(prim, whyNot) -> bool

Returns true if this single-apply API schema can be applied to the given prim .

If this schema can not be a applied to the prim, this returns false and, if provided, populates whyNot with the reason it can not be applied.

Note that if CanApply returns false, that does not necessarily imply that calling Apply will fail. Callers are expected to call CanApply before calling Apply if they want to ensure that it is valid to apply a schema.

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters
  • prim (Prim) –

  • whyNot (str) –

CreateCenterOfMassAttr(defaultValue, writeSparsely) Attribute

See GetCenterOfMassAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateDensityAttr(defaultValue, writeSparsely) Attribute

See GetDensityAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateDiagonalInertiaAttr(defaultValue, writeSparsely) Attribute

See GetDiagonalInertiaAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateMassAttr(defaultValue, writeSparsely) Attribute

See GetMassAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreatePrincipalAxesAttr(defaultValue, writeSparsely) Attribute

See GetPrincipalAxesAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

static Get()

classmethod Get(stage, path) -> MassAPI

Return a UsdPhysicsMassAPI holding the prim adhering to this schema at path on stage .

If no prim exists at path on stage , or if the prim at that path does not adhere to this schema, return an invalid schema object. This is shorthand for the following:

UsdPhysicsMassAPI(stage->GetPrimAtPath(path));
Parameters
GetCenterOfMassAttr() Attribute

Center of mass in the prim’s local space.

Units: distance.

Declaration

point3f physics:centerOfMass = (-inf, -inf, -inf)

C++ Type

GfVec3f

Usd Type

SdfValueTypeNames->Point3f

GetDensityAttr() Attribute

If non-zero, specifies the density of the object.

In the context of rigid body physics, density indirectly results in setting mass via (mass = density x volume of the object). How the volume is computed is up to implementation of the physics system. It is generally computed from the collision approximation rather than the graphical mesh. In the case where both density and mass are specified for the same object, mass has precedence over density. Unlike mass, child’s prim’s density overrides parent prim’s density as it is accumulative. Note that density of a collisionAPI can be also alternatively set through a PhysicsMaterialAPI. The material density has the weakest precedence in density definition. Note if density is 0.0 it is ignored. Units: mass/distance/distance/distance.

Declaration

float physics:density = 0

C++ Type

float

Usd Type

SdfValueTypeNames->Float

GetDiagonalInertiaAttr() Attribute

If non-zero, specifies diagonalized inertia tensor along the principal axes.

Note if diagonalInertial is (0.0, 0.0, 0.0) it is ignored. Units: mass*distance*distance.

Declaration

float3 physics:diagonalInertia = (0, 0, 0)

C++ Type

GfVec3f

Usd Type

SdfValueTypeNames->Float3

GetMassAttr() Attribute

If non-zero, directly specifies the mass of the object.

Note that any child prim can also have a mass when they apply massAPI. In this case, the precedence rule is’parent mass overrides the child’s’. This may come as counter-intuitive, but mass is a computed quantity and in general not accumulative. For example, if a parent has mass of 10, and one of two children has mass of 20, allowing child’s mass to override its parent results in a mass of -10 for the other child. Note if mass is 0.0 it is ignored. Units: mass.

Declaration

float physics:mass = 0

C++ Type

float

Usd Type

SdfValueTypeNames->Float

GetPrincipalAxesAttr() Attribute

Orientation of the inertia tensor’s principal axes in the prim’s local space.

Declaration

quatf physics:principalAxes = (0, 0, 0, 0)

C++ Type

GfQuatf

Usd Type

SdfValueTypeNames->Quatf

static GetSchemaAttributeNames()

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes.

Does not include attributes that may be authored by custom/extended methods of the schemas involved.

Parameters

includeInherited (bool) –

class pxr.UsdPhysics.MassUnits

Container class for static double-precision symbols representing common mass units of measure expressed in kilograms.

Attributes:

grams

kilograms

slugs

grams = 0.001
kilograms = 1.0
slugs = 14.5939
class pxr.UsdPhysics.MaterialAPI

Adds simulation material properties to a Material. All collisions that have a relationship to this material will have their collision response defined through this material.

Methods:

Apply

classmethod Apply(prim) -> MaterialAPI

CanApply

classmethod CanApply(prim, whyNot) -> bool

CreateDensityAttr(defaultValue, writeSparsely)

See GetDensityAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateDynamicFrictionAttr(defaultValue, ...)

See GetDynamicFrictionAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateRestitutionAttr(defaultValue, ...)

See GetRestitutionAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateStaticFrictionAttr(defaultValue, ...)

See GetStaticFrictionAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

Get

classmethod Get(stage, path) -> MaterialAPI

GetDensityAttr()

If non-zero, defines the density of the material.

GetDynamicFrictionAttr()

Dynamic friction coefficient.

GetRestitutionAttr()

Restitution coefficient.

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

GetStaticFrictionAttr()

Static friction coefficient.

static Apply()

classmethod Apply(prim) -> MaterialAPI

Applies this single-apply API schema to the given prim .

This information is stored by adding”PhysicsMaterialAPI”to the token- valued, listOp metadata apiSchemas on the prim.

A valid UsdPhysicsMaterialAPI object is returned upon success. An invalid (or empty) UsdPhysicsMaterialAPI object is returned upon failure. See UsdPrim::ApplyAPI() for conditions resulting in failure.

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters

prim (Prim) –

static CanApply()

classmethod CanApply(prim, whyNot) -> bool

Returns true if this single-apply API schema can be applied to the given prim .

If this schema can not be a applied to the prim, this returns false and, if provided, populates whyNot with the reason it can not be applied.

Note that if CanApply returns false, that does not necessarily imply that calling Apply will fail. Callers are expected to call CanApply before calling Apply if they want to ensure that it is valid to apply a schema.

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters
  • prim (Prim) –

  • whyNot (str) –

CreateDensityAttr(defaultValue, writeSparsely) Attribute

See GetDensityAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateDynamicFrictionAttr(defaultValue, writeSparsely) Attribute

See GetDynamicFrictionAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateRestitutionAttr(defaultValue, writeSparsely) Attribute

See GetRestitutionAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateStaticFrictionAttr(defaultValue, writeSparsely) Attribute

See GetStaticFrictionAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

static Get()

classmethod Get(stage, path) -> MaterialAPI

Return a UsdPhysicsMaterialAPI holding the prim adhering to this schema at path on stage .

If no prim exists at path on stage , or if the prim at that path does not adhere to this schema, return an invalid schema object. This is shorthand for the following:

UsdPhysicsMaterialAPI(stage->GetPrimAtPath(path));
Parameters
GetDensityAttr() Attribute

If non-zero, defines the density of the material.

This can be used for body mass computation, see PhysicsMassAPI. Note that if the density is 0.0 it is ignored. Units: mass/distance/distance/distance.

Declaration

float physics:density = 0

C++ Type

float

Usd Type

SdfValueTypeNames->Float

GetDynamicFrictionAttr() Attribute

Dynamic friction coefficient.

Unitless.

Declaration

float physics:dynamicFriction = 0

C++ Type

float

Usd Type

SdfValueTypeNames->Float

GetRestitutionAttr() Attribute

Restitution coefficient.

Unitless.

Declaration

float physics:restitution = 0

C++ Type

float

Usd Type

SdfValueTypeNames->Float

static GetSchemaAttributeNames()

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes.

Does not include attributes that may be authored by custom/extended methods of the schemas involved.

Parameters

includeInherited (bool) –

GetStaticFrictionAttr() Attribute

Static friction coefficient.

Unitless.

Declaration

float physics:staticFriction = 0

C++ Type

float

Usd Type

SdfValueTypeNames->Float

class pxr.UsdPhysics.MeshCollisionAPI

Attributes to control how a Mesh is made into a collider. Can be applied to only a USDGeomMesh in addition to its PhysicsCollisionAPI.

For any described attribute Fallback Value or Allowed Values below that are text/tokens, the actual token is published and defined in UsdPhysicsTokens. So to set an attribute to the value”rightHanded”, use UsdPhysicsTokens->rightHanded as the value.

Methods:

Apply

classmethod Apply(prim) -> MeshCollisionAPI

CanApply

classmethod CanApply(prim, whyNot) -> bool

CreateApproximationAttr(defaultValue, ...)

See GetApproximationAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

Get

classmethod Get(stage, path) -> MeshCollisionAPI

GetApproximationAttr()

Determines the mesh's collision approximation:"none"- The mesh geometry is used directly as a collider without any approximation.

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

static Apply()

classmethod Apply(prim) -> MeshCollisionAPI

Applies this single-apply API schema to the given prim .

This information is stored by adding”PhysicsMeshCollisionAPI”to the token-valued, listOp metadata apiSchemas on the prim.

A valid UsdPhysicsMeshCollisionAPI object is returned upon success. An invalid (or empty) UsdPhysicsMeshCollisionAPI object is returned upon failure. See UsdPrim::ApplyAPI() for conditions resulting in failure.

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters

prim (Prim) –

static CanApply()

classmethod CanApply(prim, whyNot) -> bool

Returns true if this single-apply API schema can be applied to the given prim .

If this schema can not be a applied to the prim, this returns false and, if provided, populates whyNot with the reason it can not be applied.

Note that if CanApply returns false, that does not necessarily imply that calling Apply will fail. Callers are expected to call CanApply before calling Apply if they want to ensure that it is valid to apply a schema.

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters
  • prim (Prim) –

  • whyNot (str) –

CreateApproximationAttr(defaultValue, writeSparsely) Attribute

See GetApproximationAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

static Get()

classmethod Get(stage, path) -> MeshCollisionAPI

Return a UsdPhysicsMeshCollisionAPI holding the prim adhering to this schema at path on stage .

If no prim exists at path on stage , or if the prim at that path does not adhere to this schema, return an invalid schema object. This is shorthand for the following:

UsdPhysicsMeshCollisionAPI(stage->GetPrimAtPath(path));
Parameters
GetApproximationAttr() Attribute

Determines the mesh’s collision approximation:”none”- The mesh geometry is used directly as a collider without any approximation.

“convexDecomposition”- A convex mesh decomposition is performed. This results in a set of convex mesh colliders.”convexHull”- A convex hull of the mesh is generated and used as the collider.”boundingSphere”- A bounding sphere is computed around the mesh and used as a collider.”boundingCube”- An optimally fitting box collider is computed around the mesh.”meshSimplification”- A mesh simplification step is performed, resulting in a simplified triangle mesh collider.

Declaration

uniform token physics:approximation ="none"

C++ Type

TfToken

Usd Type

SdfValueTypeNames->Token

Variability

SdfVariabilityUniform

Allowed Values

none, convexDecomposition, convexHull, boundingSphere, boundingCube, meshSimplification

static GetSchemaAttributeNames()

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes.

Does not include attributes that may be authored by custom/extended methods of the schemas involved.

Parameters

includeInherited (bool) –

class pxr.UsdPhysics.PrismaticJoint

Predefined prismatic joint type (translation along prismatic joint axis is permitted.)

For any described attribute Fallback Value or Allowed Values below that are text/tokens, the actual token is published and defined in UsdPhysicsTokens. So to set an attribute to the value”rightHanded”, use UsdPhysicsTokens->rightHanded as the value.

Methods:

CreateAxisAttr(defaultValue, writeSparsely)

See GetAxisAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateLowerLimitAttr(defaultValue, writeSparsely)

See GetLowerLimitAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateUpperLimitAttr(defaultValue, writeSparsely)

See GetUpperLimitAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

Define

classmethod Define(stage, path) -> PrismaticJoint

Get

classmethod Get(stage, path) -> PrismaticJoint

GetAxisAttr()

Joint axis.

GetLowerLimitAttr()

Lower limit.

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

GetUpperLimitAttr()

Upper limit.

CreateAxisAttr(defaultValue, writeSparsely) Attribute

See GetAxisAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateLowerLimitAttr(defaultValue, writeSparsely) Attribute

See GetLowerLimitAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateUpperLimitAttr(defaultValue, writeSparsely) Attribute

See GetUpperLimitAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

static Define()

classmethod Define(stage, path) -> PrismaticJoint

Attempt to ensure a UsdPrim adhering to this schema at path is defined (according to UsdPrim::IsDefined() ) on this stage.

If a prim adhering to this schema at path is already defined on this stage, return that prim. Otherwise author an SdfPrimSpec with specifier == SdfSpecifierDef and this schema’s prim type name for the prim at path at the current EditTarget. Author SdfPrimSpec s with specifier == SdfSpecifierDef and empty typeName at the current EditTarget for any nonexistent, or existing but not Defined ancestors.

The given path must be an absolute prim path that does not contain any variant selections.

If it is impossible to author any of the necessary PrimSpecs, (for example, in case path cannot map to the current UsdEditTarget ‘s namespace) issue an error and return an invalid UsdPrim.

Note that this method may return a defined prim whose typeName does not specify this schema class, in case a stronger typeName opinion overrides the opinion at the current EditTarget.

Parameters
static Get()

classmethod Get(stage, path) -> PrismaticJoint

Return a UsdPhysicsPrismaticJoint holding the prim adhering to this schema at path on stage .

If no prim exists at path on stage , or if the prim at that path does not adhere to this schema, return an invalid schema object. This is shorthand for the following:

UsdPhysicsPrismaticJoint(stage->GetPrimAtPath(path));
Parameters
GetAxisAttr() Attribute

Joint axis.

Declaration

uniform token physics:axis ="X"

C++ Type

TfToken

Usd Type

SdfValueTypeNames->Token

Variability

SdfVariabilityUniform

Allowed Values

X, Y, Z

GetLowerLimitAttr() Attribute

Lower limit.

Units: distance. -inf means not limited in negative direction.

Declaration

float physics:lowerLimit = -inf

C++ Type

float

Usd Type

SdfValueTypeNames->Float

static GetSchemaAttributeNames()

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes.

Does not include attributes that may be authored by custom/extended methods of the schemas involved.

Parameters

includeInherited (bool) –

GetUpperLimitAttr() Attribute

Upper limit.

Units: distance. inf means not limited in positive direction.

Declaration

float physics:upperLimit = inf

C++ Type

float

Usd Type

SdfValueTypeNames->Float

class pxr.UsdPhysics.RevoluteJoint

Predefined revolute joint type (rotation along revolute joint axis is permitted.)

For any described attribute Fallback Value or Allowed Values below that are text/tokens, the actual token is published and defined in UsdPhysicsTokens. So to set an attribute to the value”rightHanded”, use UsdPhysicsTokens->rightHanded as the value.

Methods:

CreateAxisAttr(defaultValue, writeSparsely)

See GetAxisAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateLowerLimitAttr(defaultValue, writeSparsely)

See GetLowerLimitAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateUpperLimitAttr(defaultValue, writeSparsely)

See GetUpperLimitAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

Define

classmethod Define(stage, path) -> RevoluteJoint

Get

classmethod Get(stage, path) -> RevoluteJoint

GetAxisAttr()

Joint axis.

GetLowerLimitAttr()

Lower limit.

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

GetUpperLimitAttr()

Upper limit.

CreateAxisAttr(defaultValue, writeSparsely) Attribute

See GetAxisAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateLowerLimitAttr(defaultValue, writeSparsely) Attribute

See GetLowerLimitAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateUpperLimitAttr(defaultValue, writeSparsely) Attribute

See GetUpperLimitAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

static Define()

classmethod Define(stage, path) -> RevoluteJoint

Attempt to ensure a UsdPrim adhering to this schema at path is defined (according to UsdPrim::IsDefined() ) on this stage.

If a prim adhering to this schema at path is already defined on this stage, return that prim. Otherwise author an SdfPrimSpec with specifier == SdfSpecifierDef and this schema’s prim type name for the prim at path at the current EditTarget. Author SdfPrimSpec s with specifier == SdfSpecifierDef and empty typeName at the current EditTarget for any nonexistent, or existing but not Defined ancestors.

The given path must be an absolute prim path that does not contain any variant selections.

If it is impossible to author any of the necessary PrimSpecs, (for example, in case path cannot map to the current UsdEditTarget ‘s namespace) issue an error and return an invalid UsdPrim.

Note that this method may return a defined prim whose typeName does not specify this schema class, in case a stronger typeName opinion overrides the opinion at the current EditTarget.

Parameters
static Get()

classmethod Get(stage, path) -> RevoluteJoint

Return a UsdPhysicsRevoluteJoint holding the prim adhering to this schema at path on stage .

If no prim exists at path on stage , or if the prim at that path does not adhere to this schema, return an invalid schema object. This is shorthand for the following:

UsdPhysicsRevoluteJoint(stage->GetPrimAtPath(path));
Parameters
GetAxisAttr() Attribute

Joint axis.

Declaration

uniform token physics:axis ="X"

C++ Type

TfToken

Usd Type

SdfValueTypeNames->Token

Variability

SdfVariabilityUniform

Allowed Values

X, Y, Z

GetLowerLimitAttr() Attribute

Lower limit.

Units: degrees. -inf means not limited in negative direction.

Declaration

float physics:lowerLimit = -inf

C++ Type

float

Usd Type

SdfValueTypeNames->Float

static GetSchemaAttributeNames()

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes.

Does not include attributes that may be authored by custom/extended methods of the schemas involved.

Parameters

includeInherited (bool) –

GetUpperLimitAttr() Attribute

Upper limit.

Units: degrees. inf means not limited in positive direction.

Declaration

float physics:upperLimit = inf

C++ Type

float

Usd Type

SdfValueTypeNames->Float

class pxr.UsdPhysics.RigidBodyAPI

Applies physics body attributes to any UsdGeomXformable prim and marks that prim to be driven by a simulation. If a simulation is running it will update this prim’s pose. All prims in the hierarchy below this prim should move accordingly.

Classes:

MassInformation

Methods:

Apply

classmethod Apply(prim) -> RigidBodyAPI

CanApply

classmethod CanApply(prim, whyNot) -> bool

ComputeMassProperties(diagonalInertia, com, ...)

Compute mass properties of the rigid body diagonalInertia Computed diagonal of the inertial tensor for the rigid body.

CreateAngularVelocityAttr(defaultValue, ...)

See GetAngularVelocityAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateKinematicEnabledAttr(defaultValue, ...)

See GetKinematicEnabledAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateRigidBodyEnabledAttr(defaultValue, ...)

See GetRigidBodyEnabledAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateSimulationOwnerRel()

See GetSimulationOwnerRel() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateStartsAsleepAttr(defaultValue, ...)

See GetStartsAsleepAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateVelocityAttr(defaultValue, writeSparsely)

See GetVelocityAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

Get

classmethod Get(stage, path) -> RigidBodyAPI

GetAngularVelocityAttr()

Angular velocity in the same space as the node's xform.

GetKinematicEnabledAttr()

Determines whether the body is kinematic or not.

GetRigidBodyEnabledAttr()

Determines if this PhysicsRigidBodyAPI is enabled.

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

GetSimulationOwnerRel()

Single PhysicsScene that will simulate this body.

GetStartsAsleepAttr()

Determines if the body is asleep when the simulation starts.

GetVelocityAttr()

Linear velocity in the same space as the node's xform.

class MassInformation

Attributes:

centerOfMass

inertia

localPos

localRot

volume

property centerOfMass
property inertia
property localPos
property localRot
property volume
static Apply()

classmethod Apply(prim) -> RigidBodyAPI

Applies this single-apply API schema to the given prim .

This information is stored by adding”PhysicsRigidBodyAPI”to the token- valued, listOp metadata apiSchemas on the prim.

A valid UsdPhysicsRigidBodyAPI object is returned upon success. An invalid (or empty) UsdPhysicsRigidBodyAPI object is returned upon failure. See UsdPrim::ApplyAPI() for conditions resulting in failure.

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters

prim (Prim) –

static CanApply()

classmethod CanApply(prim, whyNot) -> bool

Returns true if this single-apply API schema can be applied to the given prim .

If this schema can not be a applied to the prim, this returns false and, if provided, populates whyNot with the reason it can not be applied.

Note that if CanApply returns false, that does not necessarily imply that calling Apply will fail. Callers are expected to call CanApply before calling Apply if they want to ensure that it is valid to apply a schema.

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters
  • prim (Prim) –

  • whyNot (str) –

ComputeMassProperties(diagonalInertia, com, principalAxes, massInfoFn) float

Compute mass properties of the rigid body diagonalInertia Computed diagonal of the inertial tensor for the rigid body.

com Computed center of mass for the rigid body. principalAxes Inertia tensor’s principal axes orienttion for the rigid body. massInfoFn Callback function to get collision mass information.

Computed mass of the rigid body

Parameters
  • diagonalInertia (Vec3f) –

  • com (Vec3f) –

  • principalAxes (Quatf) –

  • massInfoFn (MassInformationFn) –

CreateAngularVelocityAttr(defaultValue, writeSparsely) Attribute

See GetAngularVelocityAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateKinematicEnabledAttr(defaultValue, writeSparsely) Attribute

See GetKinematicEnabledAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateRigidBodyEnabledAttr(defaultValue, writeSparsely) Attribute

See GetRigidBodyEnabledAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateSimulationOwnerRel() Relationship

See GetSimulationOwnerRel() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateStartsAsleepAttr(defaultValue, writeSparsely) Attribute

See GetStartsAsleepAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateVelocityAttr(defaultValue, writeSparsely) Attribute

See GetVelocityAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

static Get()

classmethod Get(stage, path) -> RigidBodyAPI

Return a UsdPhysicsRigidBodyAPI holding the prim adhering to this schema at path on stage .

If no prim exists at path on stage , or if the prim at that path does not adhere to this schema, return an invalid schema object. This is shorthand for the following:

UsdPhysicsRigidBodyAPI(stage->GetPrimAtPath(path));
Parameters
GetAngularVelocityAttr() Attribute

Angular velocity in the same space as the node’s xform.

Units: degrees/second.

Declaration

vector3f physics:angularVelocity = (0, 0, 0)

C++ Type

GfVec3f

Usd Type

SdfValueTypeNames->Vector3f

GetKinematicEnabledAttr() Attribute

Determines whether the body is kinematic or not.

A kinematic body is a body that is moved through animated poses or through user defined poses. The simulation derives velocities for the kinematic body based on the external motion. When a continuous motion is not desired, this kinematic flag should be set to false.

Declaration

bool physics:kinematicEnabled = 0

C++ Type

bool

Usd Type

SdfValueTypeNames->Bool

GetRigidBodyEnabledAttr() Attribute

Determines if this PhysicsRigidBodyAPI is enabled.

Declaration

bool physics:rigidBodyEnabled = 1

C++ Type

bool

Usd Type

SdfValueTypeNames->Bool

static GetSchemaAttributeNames()

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes.

Does not include attributes that may be authored by custom/extended methods of the schemas involved.

Parameters

includeInherited (bool) –

GetSimulationOwnerRel() Relationship

Single PhysicsScene that will simulate this body.

By default this is the first PhysicsScene found in the stage using UsdStage::Traverse() .

GetStartsAsleepAttr() Attribute

Determines if the body is asleep when the simulation starts.

Declaration

uniform bool physics:startsAsleep = 0

C++ Type

bool

Usd Type

SdfValueTypeNames->Bool

Variability

SdfVariabilityUniform

GetVelocityAttr() Attribute

Linear velocity in the same space as the node’s xform.

Units: distance/second.

Declaration

vector3f physics:velocity = (0, 0, 0)

C++ Type

GfVec3f

Usd Type

SdfValueTypeNames->Vector3f

class pxr.UsdPhysics.Scene

General physics simulation properties, required for simulation.

Methods:

CreateGravityDirectionAttr(defaultValue, ...)

See GetGravityDirectionAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateGravityMagnitudeAttr(defaultValue, ...)

See GetGravityMagnitudeAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

Define

classmethod Define(stage, path) -> Scene

Get

classmethod Get(stage, path) -> Scene

GetGravityDirectionAttr()

Gravity direction vector in simulation world space.

GetGravityMagnitudeAttr()

Gravity acceleration magnitude in simulation world space.

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

CreateGravityDirectionAttr(defaultValue, writeSparsely) Attribute

See GetGravityDirectionAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateGravityMagnitudeAttr(defaultValue, writeSparsely) Attribute

See GetGravityMagnitudeAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

static Define()

classmethod Define(stage, path) -> Scene

Attempt to ensure a UsdPrim adhering to this schema at path is defined (according to UsdPrim::IsDefined() ) on this stage.

If a prim adhering to this schema at path is already defined on this stage, return that prim. Otherwise author an SdfPrimSpec with specifier == SdfSpecifierDef and this schema’s prim type name for the prim at path at the current EditTarget. Author SdfPrimSpec s with specifier == SdfSpecifierDef and empty typeName at the current EditTarget for any nonexistent, or existing but not Defined ancestors.

The given path must be an absolute prim path that does not contain any variant selections.

If it is impossible to author any of the necessary PrimSpecs, (for example, in case path cannot map to the current UsdEditTarget ‘s namespace) issue an error and return an invalid UsdPrim.

Note that this method may return a defined prim whose typeName does not specify this schema class, in case a stronger typeName opinion overrides the opinion at the current EditTarget.

Parameters
static Get()

classmethod Get(stage, path) -> Scene

Return a UsdPhysicsScene holding the prim adhering to this schema at path on stage .

If no prim exists at path on stage , or if the prim at that path does not adhere to this schema, return an invalid schema object. This is shorthand for the following:

UsdPhysicsScene(stage->GetPrimAtPath(path));
Parameters
GetGravityDirectionAttr() Attribute

Gravity direction vector in simulation world space.

Will be normalized before use. A zero vector is a request to use the negative upAxis. Unitless.

Declaration

vector3f physics:gravityDirection = (0, 0, 0)

C++ Type

GfVec3f

Usd Type

SdfValueTypeNames->Vector3f

GetGravityMagnitudeAttr() Attribute

Gravity acceleration magnitude in simulation world space.

A negative value is a request to use a value equivalent to earth gravity regardless of the metersPerUnit scaling used by this scene. Units: distance/second/second.

Declaration

float physics:gravityMagnitude = -inf

C++ Type

float

Usd Type

SdfValueTypeNames->Float

static GetSchemaAttributeNames()

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes.

Does not include attributes that may be authored by custom/extended methods of the schemas involved.

Parameters

includeInherited (bool) –

class pxr.UsdPhysics.SphericalJoint

Predefined spherical joint type (Removes linear degrees of freedom, cone limit may restrict the motion in a given range.) It allows two limit values, which when equal create a circular, else an elliptic cone limit around the limit axis.

For any described attribute Fallback Value or Allowed Values below that are text/tokens, the actual token is published and defined in UsdPhysicsTokens. So to set an attribute to the value”rightHanded”, use UsdPhysicsTokens->rightHanded as the value.

Methods:

CreateAxisAttr(defaultValue, writeSparsely)

See GetAxisAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateConeAngle0LimitAttr(defaultValue, ...)

See GetConeAngle0LimitAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

CreateConeAngle1LimitAttr(defaultValue, ...)

See GetConeAngle1LimitAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

Define

classmethod Define(stage, path) -> SphericalJoint

Get

classmethod Get(stage, path) -> SphericalJoint

GetAxisAttr()

Cone limit axis.

GetConeAngle0LimitAttr()

Cone limit from the primary joint axis in the local0 frame toward the next axis.

GetConeAngle1LimitAttr()

Cone limit from the primary joint axis in the local0 frame toward the second to next axis.

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

CreateAxisAttr(defaultValue, writeSparsely) Attribute

See GetAxisAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateConeAngle0LimitAttr(defaultValue, writeSparsely) Attribute

See GetConeAngle0LimitAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

CreateConeAngle1LimitAttr(defaultValue, writeSparsely) Attribute

See GetConeAngle1LimitAttr() , and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false .

Parameters
  • defaultValue (VtValue) –

  • writeSparsely (bool) –

static Define()

classmethod Define(stage, path) -> SphericalJoint

Attempt to ensure a UsdPrim adhering to this schema at path is defined (according to UsdPrim::IsDefined() ) on this stage.

If a prim adhering to this schema at path is already defined on this stage, return that prim. Otherwise author an SdfPrimSpec with specifier == SdfSpecifierDef and this schema’s prim type name for the prim at path at the current EditTarget. Author SdfPrimSpec s with specifier == SdfSpecifierDef and empty typeName at the current EditTarget for any nonexistent, or existing but not Defined ancestors.

The given path must be an absolute prim path that does not contain any variant selections.

If it is impossible to author any of the necessary PrimSpecs, (for example, in case path cannot map to the current UsdEditTarget ‘s namespace) issue an error and return an invalid UsdPrim.

Note that this method may return a defined prim whose typeName does not specify this schema class, in case a stronger typeName opinion overrides the opinion at the current EditTarget.

Parameters
static Get()

classmethod Get(stage, path) -> SphericalJoint

Return a UsdPhysicsSphericalJoint holding the prim adhering to this schema at path on stage .

If no prim exists at path on stage , or if the prim at that path does not adhere to this schema, return an invalid schema object. This is shorthand for the following:

UsdPhysicsSphericalJoint(stage->GetPrimAtPath(path));
Parameters
GetAxisAttr() Attribute

Cone limit axis.

Declaration

uniform token physics:axis ="X"

C++ Type

TfToken

Usd Type

SdfValueTypeNames->Token

Variability

SdfVariabilityUniform

Allowed Values

X, Y, Z

GetConeAngle0LimitAttr() Attribute

Cone limit from the primary joint axis in the local0 frame toward the next axis.

(Next axis of X is Y, and of Z is X.) A negative value means not limited. Units: degrees.

Declaration

float physics:coneAngle0Limit = -1

C++ Type

float

Usd Type

SdfValueTypeNames->Float

GetConeAngle1LimitAttr() Attribute

Cone limit from the primary joint axis in the local0 frame toward the second to next axis.

A negative value means not limited. Units: degrees.

Declaration

float physics:coneAngle1Limit = -1

C++ Type

float

Usd Type

SdfValueTypeNames->Float

static GetSchemaAttributeNames()

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes.

Does not include attributes that may be authored by custom/extended methods of the schemas involved.

Parameters

includeInherited (bool) –

class pxr.UsdPhysics.Tokens

Attributes:

acceleration

angular

boundingCube

boundingSphere

colliders

convexDecomposition

convexHull

distance

drive

drive_MultipleApplyTemplate_PhysicsDamping

drive_MultipleApplyTemplate_PhysicsMaxForce

drive_MultipleApplyTemplate_PhysicsStiffness

drive_MultipleApplyTemplate_PhysicsTargetPosition

drive_MultipleApplyTemplate_PhysicsTargetVelocity

drive_MultipleApplyTemplate_PhysicsType

force

kilogramsPerUnit

limit

limit_MultipleApplyTemplate_PhysicsHigh

limit_MultipleApplyTemplate_PhysicsLow

linear

meshSimplification

none

physicsAngularVelocity

physicsApproximation

physicsAxis

physicsBody0

physicsBody1

physicsBreakForce

physicsBreakTorque

physicsCenterOfMass

physicsCollisionEnabled

physicsConeAngle0Limit

physicsConeAngle1Limit

physicsDensity

physicsDiagonalInertia

physicsDynamicFriction

physicsExcludeFromArticulation

physicsFilteredGroups

physicsFilteredPairs

physicsGravityDirection

physicsGravityMagnitude

physicsInvertFilteredGroups

physicsJointEnabled

physicsKinematicEnabled

physicsLocalPos0

physicsLocalPos1

physicsLocalRot0

physicsLocalRot1

physicsLowerLimit

physicsMass

physicsMaxDistance

physicsMergeGroup

physicsMinDistance

physicsPrincipalAxes

physicsRestitution

physicsRigidBodyEnabled

physicsSimulationOwner

physicsStartsAsleep

physicsStaticFriction

physicsUpperLimit

physicsVelocity

rotX

rotY

rotZ

transX

transY

transZ

x

y

z

acceleration = 'acceleration'
angular = 'angular'
boundingCube = 'boundingCube'
boundingSphere = 'boundingSphere'
colliders = 'colliders'
convexDecomposition = 'convexDecomposition'
convexHull = 'convexHull'
distance = 'distance'
drive = 'drive'
drive_MultipleApplyTemplate_PhysicsDamping = 'drive:__INSTANCE_NAME__:physics:damping'
drive_MultipleApplyTemplate_PhysicsMaxForce = 'drive:__INSTANCE_NAME__:physics:maxForce'
drive_MultipleApplyTemplate_PhysicsStiffness = 'drive:__INSTANCE_NAME__:physics:stiffness'
drive_MultipleApplyTemplate_PhysicsTargetPosition = 'drive:__INSTANCE_NAME__:physics:targetPosition'
drive_MultipleApplyTemplate_PhysicsTargetVelocity = 'drive:__INSTANCE_NAME__:physics:targetVelocity'
drive_MultipleApplyTemplate_PhysicsType = 'drive:__INSTANCE_NAME__:physics:type'
force = 'force'
kilogramsPerUnit = 'kilogramsPerUnit'
limit = 'limit'
limit_MultipleApplyTemplate_PhysicsHigh = 'limit:__INSTANCE_NAME__:physics:high'
limit_MultipleApplyTemplate_PhysicsLow = 'limit:__INSTANCE_NAME__:physics:low'
linear = 'linear'
meshSimplification = 'meshSimplification'
none = 'none'
physicsAngularVelocity = 'physics:angularVelocity'
physicsApproximation = 'physics:approximation'
physicsAxis = 'physics:axis'
physicsBody0 = 'physics:body0'
physicsBody1 = 'physics:body1'
physicsBreakForce = 'physics:breakForce'
physicsBreakTorque = 'physics:breakTorque'
physicsCenterOfMass = 'physics:centerOfMass'
physicsCollisionEnabled = 'physics:collisionEnabled'
physicsConeAngle0Limit = 'physics:coneAngle0Limit'
physicsConeAngle1Limit = 'physics:coneAngle1Limit'
physicsDensity = 'physics:density'
physicsDiagonalInertia = 'physics:diagonalInertia'
physicsDynamicFriction = 'physics:dynamicFriction'
physicsExcludeFromArticulation = 'physics:excludeFromArticulation'
physicsFilteredGroups = 'physics:filteredGroups'
physicsFilteredPairs = 'physics:filteredPairs'
physicsGravityDirection = 'physics:gravityDirection'
physicsGravityMagnitude = 'physics:gravityMagnitude'
physicsInvertFilteredGroups = 'physics:invertFilteredGroups'
physicsJointEnabled = 'physics:jointEnabled'
physicsKinematicEnabled = 'physics:kinematicEnabled'
physicsLocalPos0 = 'physics:localPos0'
physicsLocalPos1 = 'physics:localPos1'
physicsLocalRot0 = 'physics:localRot0'
physicsLocalRot1 = 'physics:localRot1'
physicsLowerLimit = 'physics:lowerLimit'
physicsMass = 'physics:mass'
physicsMaxDistance = 'physics:maxDistance'
physicsMergeGroup = 'physics:mergeGroup'
physicsMinDistance = 'physics:minDistance'
physicsPrincipalAxes = 'physics:principalAxes'
physicsRestitution = 'physics:restitution'
physicsRigidBodyEnabled = 'physics:rigidBodyEnabled'
physicsSimulationOwner = 'physics:simulationOwner'
physicsStartsAsleep = 'physics:startsAsleep'
physicsStaticFriction = 'physics:staticFriction'
physicsUpperLimit = 'physics:upperLimit'
physicsVelocity = 'physics:velocity'
rotX = 'rotX'
rotY = 'rotY'
rotZ = 'rotZ'
transX = 'transX'
transY = 'transY'
transZ = 'transZ'
x = 'X'
y = 'Y'
z = 'Z'