Link multiple rigid bodies together to form a "chain".
From the Ragdoll menu, select the
Active Chain option.
Some of the most relevant attributes of the
rdRigid node type.
||Toggle between animation and simulation|
Animate without physics, and then turn physics back on.
Affect all guide strengths in a chain or tree.
Each connection between two rigids have its own
Guide Strength you can use to tweak values at an individual control level.
- 2 chains make a branch
- 3+ chains make a tree
That's how ragdolls are made!
Every chain has a "root", namely the first selected object. This is where the
Global Strength attributes are put and may also start its life as a
Passive Rigid; configurable in the Active Chain Options.
Anything with a
Rotate channel can be made into chain.
- NURBS Controls
- Polygon Meshes
- Empty Groups
Ragdoll tries generating shapes that best represent the underlying joints, but sometimes the result can have overlapping shapes.
There are 3 typical solutions for this.
|Avoid overlap||Ideally the shapes would not overlap, but this is not always possible|
||Disable collisions for the offending rigid(s)|
|Ignore Contact Constraint||Disable collisions between the two overlapping rigids|
Here's how to use the Active Chain from the Ragdoll API.
from maya import cmds from ragdoll import api as rd ctrl1 = cmds.createNode("joint") ctrl2 = cmds.createNode("joint", parent=ctrl1) ctrl3 = cmds.createNode("joint", parent=ctrl2) cmds.move(0, 5, 0, ctrl1) cmds.move(5, 5, 0, ctrl2) cmds.move(10, 5, 0, ctrl3) cmds.rotate(0, 0, 30, ctrl1) scene = rd.createScene() chain = rd.createChain([ctrl1, ctrl2, ctrl3], scene) cmds.setAttr(ctrl1 + ".globalStrength", 0.02) cmds.evalDeferred(cmds.play)