UsdPhysics module
Summary: The UsdPhysics module defines the physics-related prim and property schemas that together form a physics simulation representation.
Classes:
PhysicsArticulationRootAPI can be applied to a scene graph node, and marks the subtree rooted here for inclusion in one or more reduced coordinate articulations. |
|
Applies collision attributes to a UsdGeomXformable prim. |
|
Defines a collision group for coarse filtering. |
|
Predefined distance joint type (Distance between rigid bodies may be limited to given minimum or maximum distance.) |
|
The PhysicsDriveAPI when applied to any joint primitive will drive the joint towards a given target. |
|
API to describe fine-grained filtering. |
|
Predefined fixed joint type (All degrees of freedom are removed.) |
|
A joint constrains the movement of rigid bodies. |
|
The PhysicsLimitAPI can be applied to a PhysicsJoint and will restrict the movement along an axis. |
|
Defines explicit mass properties (mass, density, inertia etc.). |
|
Container class for static double-precision symbols representing common mass units of measure expressed in kilograms. |
|
Adds simulation material properties to a Material. |
|
Attributes to control how a Mesh is made into a collider. |
|
Predefined prismatic joint type (translation along prismatic joint axis is permitted.) |
|
Predefined revolute joint type (rotation along revolute joint axis is permitted.) |
|
Applies physics body attributes to any UsdGeomXformable prim and marks that prim to be driven by a simulation. |
|
General physics simulation properties, required for simulation. |
|
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. |
|
- 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:
classmethod Apply(prim) -> ArticulationRootAPI
classmethod CanApply(prim, whyNot) -> bool
classmethod Get(stage, path) -> ArticulationRootAPI
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
onstage
.If no prim exists at
path
onstage
, 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));
- 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:
classmethod Apply(prim) -> CollisionAPI
classmethod CanApply(prim, whyNot) -> bool
CreateCollisionEnabledAttr
(defaultValue, ...)See GetCollisionEnabledAttr() , and also Create vs Get Property Methods for when to use Get vs Create.
See GetSimulationOwnerRel() , and also Create vs Get Property Methods for when to use Get vs Create.
classmethod Get(stage, path) -> CollisionAPI
Determines if the PhysicsCollisionAPI is enabled.
classmethod GetSchemaAttributeNames(includeInherited) -> list[str]
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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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
onstage
.If no prim exists at
path
onstage
, 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));
- 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:
classmethod ComputeCollisionGroupTable(stage) -> CollisionGroupTable
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.
classmethod Define(stage, path) -> CollisionGroup
classmethod Get(stage, path) -> CollisionGroup
Return the UsdCollectionAPI interface used for defining what colliders belong to the CollisionGroup.
References a list of PhysicsCollisionGroups with which collisions should be ignored.
Normally, the filter will disable collisions against the selected filter groups.
If non-empty, any collision groups in a stage with a matching mergeGroup should be considered to refer to the same collection.
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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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 atpath
at the current EditTarget. Author SdfPrimSpec s withspecifier
== 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.
- static Get()
classmethod Get(stage, path) -> CollisionGroup
Return a UsdPhysicsCollisionGroup holding the prim adhering to this schema at
path
onstage
.If no prim exists at
path
onstage
, 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));
- 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.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.
classmethod Define(stage, path) -> DistanceJoint
classmethod Get(stage, path) -> DistanceJoint
Maximum distance.
Minimum distance.
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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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 atpath
at the current EditTarget. Author SdfPrimSpec s withspecifier
== 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.
- static Get()
classmethod Get(stage, path) -> DistanceJoint
Return a UsdPhysicsDistanceJoint holding the prim adhering to this schema at
path
onstage
.If no prim exists at
path
onstage
, 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));
- 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:
classmethod Apply(prim, name) -> DriveAPI
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.
classmethod Get(stage, path) -> DriveAPI
classmethod GetAll(prim) -> list[DriveAPI]
Damping of the drive.
Maximum force that can be applied to drive.
classmethod GetSchemaAttributeNames(includeInherited) -> list[str]
Stiffness of the drive.
Target value for position.
Target value for velocity.
Drive spring is for the acceleration at the joint (rather than the force).
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 givenprim
.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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- Parameters
defaultValue (VtValue) –
writeSparsely (bool) –
- static Get()
classmethod Get(stage, path) -> DriveAPI
Return a UsdPhysicsDriveAPI holding the prim adhering to this schema at
path
onstage
.If no prim exists at
path
onstage
, 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);
Get(prim, name) -> DriveAPI
Return a UsdPhysicsDriveAPI with name
name
holding the primprim
.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:
classmethod Apply(prim) -> FilteredPairsAPI
classmethod CanApply(prim, whyNot) -> bool
See GetFilteredPairsRel() , and also Create vs Get Property Methods for when to use Get vs Create.
classmethod Get(stage, path) -> FilteredPairsAPI
Relationship to objects that should be filtered.
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
onstage
.If no prim exists at
path
onstage
, 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));
- 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:
classmethod Define(stage, path) -> FixedJoint
classmethod Get(stage, path) -> FixedJoint
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 atpath
at the current EditTarget. Author SdfPrimSpec s withspecifier
== 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.
- static Get()
classmethod Get(stage, path) -> FixedJoint
Return a UsdPhysicsFixedJoint holding the prim adhering to this schema at
path
onstage
.If no prim exists at
path
onstage
, 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));
- 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:
See GetBody0Rel() , and also Create vs Get Property Methods for when to use Get vs Create.
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.
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.
classmethod Define(stage, path) -> Joint
classmethod Get(stage, path) -> Joint
Relationship to any UsdGeomXformable.
Relationship to any UsdGeomXformable.
Joint break force.
Joint break torque.
Determines if the jointed subtrees should collide or not.
Determines if the joint can be included in an Articulation.
Determines if the joint is enabled.
Relative position of the joint frame to body0's frame.
Relative position of the joint frame to body1's frame.
Relative orientation of the joint frame to body0's frame.
Relative orientation of the joint frame to body1's frame.
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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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 atpath
at the current EditTarget. Author SdfPrimSpec s withspecifier
== 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.
- static Get()
classmethod Get(stage, path) -> Joint
Return a UsdPhysicsJoint holding the prim adhering to this schema at
path
onstage
.If no prim exists at
path
onstage
, 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));
- 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:
classmethod Apply(prim, name) -> LimitAPI
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.
classmethod Get(stage, path) -> LimitAPI
classmethod GetAll(prim) -> list[LimitAPI]
Upper limit.
Lower limit.
classmethod GetSchemaAttributeNames(includeInherited) -> list[str]
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 givenprim
.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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- Parameters
defaultValue (VtValue) –
writeSparsely (bool) –
- static Get()
classmethod Get(stage, path) -> LimitAPI
Return a UsdPhysicsLimitAPI holding the prim adhering to this schema at
path
onstage
.If no prim exists at
path
onstage
, 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);
Get(prim, name) -> LimitAPI
Return a UsdPhysicsLimitAPI with name
name
holding the primprim
.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:
classmethod Apply(prim) -> MassAPI
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.
classmethod Get(stage, path) -> MassAPI
Center of mass in the prim's local space.
If non-zero, specifies the density of the object.
If non-zero, specifies diagonalized inertia tensor along the principal axes.
If non-zero, directly specifies the mass of the object.
Orientation of the inertia tensor's principal axes in the prim's local space.
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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- Parameters
defaultValue (VtValue) –
writeSparsely (bool) –
- static Get()
classmethod Get(stage, path) -> MassAPI
Return a UsdPhysicsMassAPI holding the prim adhering to this schema at
path
onstage
.If no prim exists at
path
onstage
, 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));
- 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 = 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:
classmethod Apply(prim) -> MaterialAPI
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.
classmethod Get(stage, path) -> MaterialAPI
If non-zero, defines the density of the material.
Dynamic friction coefficient.
Restitution coefficient.
classmethod GetSchemaAttributeNames(includeInherited) -> list[str]
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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- Parameters
defaultValue (VtValue) –
writeSparsely (bool) –
- static Get()
classmethod Get(stage, path) -> MaterialAPI
Return a UsdPhysicsMaterialAPI holding the prim adhering to this schema at
path
onstage
.If no prim exists at
path
onstage
, 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));
- 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) –
- 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:
classmethod Apply(prim) -> MeshCollisionAPI
classmethod CanApply(prim, whyNot) -> bool
CreateApproximationAttr
(defaultValue, ...)See GetApproximationAttr() , and also Create vs Get Property Methods for when to use Get vs Create.
classmethod Get(stage, path) -> MeshCollisionAPI
Determines the mesh's collision approximation:"none"- The mesh geometry is used directly as a collider without any approximation.
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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- Parameters
defaultValue (VtValue) –
writeSparsely (bool) –
- static Get()
classmethod Get(stage, path) -> MeshCollisionAPI
Return a UsdPhysicsMeshCollisionAPI holding the prim adhering to this schema at
path
onstage
.If no prim exists at
path
onstage
, 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));
- 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.
classmethod Define(stage, path) -> PrismaticJoint
classmethod Get(stage, path) -> PrismaticJoint
Joint axis.
Lower limit.
classmethod GetSchemaAttributeNames(includeInherited) -> list[str]
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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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 atpath
at the current EditTarget. Author SdfPrimSpec s withspecifier
== 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.
- static Get()
classmethod Get(stage, path) -> PrismaticJoint
Return a UsdPhysicsPrismaticJoint holding the prim adhering to this schema at
path
onstage
.If no prim exists at
path
onstage
, 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));
- 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) –
- 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.
classmethod Define(stage, path) -> RevoluteJoint
classmethod Get(stage, path) -> RevoluteJoint
Joint axis.
Lower limit.
classmethod GetSchemaAttributeNames(includeInherited) -> list[str]
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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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 atpath
at the current EditTarget. Author SdfPrimSpec s withspecifier
== 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.
- static Get()
classmethod Get(stage, path) -> RevoluteJoint
Return a UsdPhysicsRevoluteJoint holding the prim adhering to this schema at
path
onstage
.If no prim exists at
path
onstage
, 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));
- 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) –
- 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:
Methods:
classmethod Apply(prim) -> RigidBodyAPI
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.
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.
classmethod Get(stage, path) -> RigidBodyAPI
Angular velocity in the same space as the node's xform.
Determines whether the body is kinematic or not.
Determines if this PhysicsRigidBodyAPI is enabled.
classmethod GetSchemaAttributeNames(includeInherited) -> list[str]
Single PhysicsScene that will simulate this body.
Determines if the body is asleep when the simulation starts.
Linear velocity in the same space as the node's xform.
- class MassInformation
Attributes:
- 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
- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- Parameters
defaultValue (VtValue) –
writeSparsely (bool) –
- static Get()
classmethod Get(stage, path) -> RigidBodyAPI
Return a UsdPhysicsRigidBodyAPI holding the prim adhering to this schema at
path
onstage
.If no prim exists at
path
onstage
, 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));
- 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() .
- 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.
classmethod Define(stage, path) -> Scene
classmethod Get(stage, path) -> Scene
Gravity direction vector in simulation world space.
Gravity acceleration magnitude in simulation world space.
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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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 atpath
at the current EditTarget. Author SdfPrimSpec s withspecifier
== 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.
- static Get()
classmethod Get(stage, path) -> Scene
Return a UsdPhysicsScene holding the prim adhering to this schema at
path
onstage
.If no prim exists at
path
onstage
, 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));
- 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.
classmethod Define(stage, path) -> SphericalJoint
classmethod Get(stage, path) -> SphericalJoint
Cone limit axis.
Cone limit from the primary joint axis in the local0 frame toward the next axis.
Cone limit from the primary joint axis in the local0 frame toward the second to next axis.
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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.- 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 atpath
at the current EditTarget. Author SdfPrimSpec s withspecifier
== 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.
- static Get()
classmethod Get(stage, path) -> SphericalJoint
Return a UsdPhysicsSphericalJoint holding the prim adhering to this schema at
path
onstage
.If no prim exists at
path
onstage
, 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));
- 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 = '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'