Convert a simulation into keyframes using
Markers can be recorded all together, or independently. For example, say you wanted animation from frame 1-100, simulate 101-150 and return to animation from 151-200. You can do that.
Furthermore, say you liked what the simulation was doing, but only on one half of the body. Or only on the hip, driving the main trajectory in a physically-plausible way. Keeping the rest of your animation intact.
With nothing selected, Ragdoll will record all marked controls to the current Maya playback range.
Record Selected Markers
Select a few controls to control what gets recorded.
Limit the Maya playback range for control over when recording takes place.
Record Selected Range
Or, select an explicit range interactively.
Record to Animation Layer
Ragdoll will record to a layer per default.
Update the viewport whilst recording, or not. That's
Nice and Steady and
Fast and Loose respectively. There's a performance benefit to not updating the viewport, however some character rigs depend on viewport updates to evaluate properly, so it may not always work.
Here's an example with an almost 2x performance difference!
Let's have a look at how you would use markers to transition between simulation and animation.
Notice how we're animated up until the jump, and then Ragdoll takes over.
- Once he approaches that box, we turn our
Worldand have him reach the target pose in worldspace.
- Once he's close, we switch
Kinematicand kinematically move him.
- Until we once again transition to
Guide, this time with
Pose Space = Local.
Record to Custom Attributes
Sometimes, rotation isn't coming from
Rotate X but rather a custom
Ball Roll attribute on a different IK control.
As Ragdoll only understands
Rotate, how would you go about recording onto this attribute!? Here's what you can do.
- Create a new Locator
- Retarget the foot to this Locator
Locator.rotateX -> R_foot_CTL.ballRoll
Now Ragdoll will record onto a familiar channel, and Maya will handle the conversion back onto the rig.
Get data out of the solver and into a baked joint hierarchy.
You can use this to build a library of animations, or to handle the retargeting from simulation to animation manually by just constraining to the resulting joint hierarchy.
Notice how fast this is!
A Debugging Companion
It can also be used for situations where
Record Simulation doesn't do what you need it to. The extracted skeleton will be a plain joint hierarchy, with no scale, and guaranteed to match the simulation exactly. So you can extract it, and constrain your rig to it.