joint-multibody-capability#
Code |
JT.001 |
---|---|
Validator |
|
Compatibility |
openusd |
Tags |
🔑 |
Summary#
Rigid bodies which are not free floating should be connected using joints.
Description#
Rigid bodies that need to move in relation to each other or are fixed in the world, should use a UsdPhysicsJoint prim or one of its subtypes to properly constrain their motion.
Why is it required?#
To describe constraints between rigid bodies for simulation in a physics engine.
Examples#
# Invalid: No joint between rigid bodies
def RigidBody "Box" (
prepend apiSchemas = ["PhysicsRigidBodyAPI"]
)
{
}
def RigidBody "Sphere" (
prepend apiSchemas = ["PhysicsRigidBodyAPI"]
)
{
}
# Valid: Joint between rigid bodies
def PhysicsFixedJoint "FixedJoint"
{
rel physics:body0 = </Box>
rel physics:body1 = </Sphere>
}
# Valid: Joint between rigid body and World
def PhysicsFixedJoint "FixedJoint"
{
rel physics:body0 = </Box>
}
How to comply#
Use a UsdPhysicsJoint prim or one of its subtypes to constrain rigid bodies together.
Use a UsdPhysicsJoint prim or one of its subtypes to constrain a rigid body to the World.