joint-multibody-capability#

Code

JT.001

Version

1.0.0

Validator

Compatibility

open-usd

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#

#usda 1.0

def RigidBody "Box" (
   prepend apiSchemas = ["PhysicsRigidBodyAPI"]
)
{
}

def RigidBody "Sphere" (
   prepend apiSchemas = ["PhysicsRigidBodyAPI"]
)
{
}

Valid: Joint between rigid bodies#

#usda 1.0

def PhysicsFixedJoint "FixedJoint"
{
   rel physics:body0 = </Box>
   rel physics:body1 = </Sphere>
}

Valid: Joint between rigid body and World#

#usda 1.0

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.

For More Information#