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,
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,
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,
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,
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,
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,
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,
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
- 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,
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,
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)
- 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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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'#