2021.12.12
Highlight for this release is The Manipulator!
- ADDED Manipulator Edit things faster and visually with these new tricks
- ADDED Independent Pose Axes Control X, Y and Z axes independently
- ADDED Quality of Life Can never have too much of this.
- FIXED Auto Limits II More predictable, more usable
- FIXED Disappearing Limits Two solvers, one removed, caused limit indicators to vanish
- FIXED Lollipop Hierarchy Lollipops could break a hierarchy of markers, but no more
- FIXED Replace Intermediate Mesh Intermediate meshes could make Replace Mesh more complicated
- FIXED White Window on Maya Exit Ragdoll could sometime prevent Maya from exiting properly
- ADDED Customise Recording An advanced topic for big pipelines
Legacy Rigids
This release marks the end of Active Rigid
and Active Chain
.
Important
If you read only one paragraph in this document, read this.
Tutorials have been updated, documentation as well and you are encouraged to use Markers
which are far superior in both performance and usability.
- Rigids remain accessible via the new
Legacy
submenu in the Ragdoll menu - Scenes made with Rigids remain functional, and will continue to run until end of February 2022.
- Documentation for Rigids can be found at the bottom of the left-hand side, under Legacy
Showcase
Let's kick things off with some eye candy!
Flying Lizard
A work-in-progress clip from Jason Snyman.
Ragdoll in 30 Seconds
A brief overview of what Ragdoll is.
Mocap Chap
Footage from one of the the new tutorials.
Now watch what happens when we increase the mass of the box by 50x. 😁
New Tutorials
Have a look!
- Manikin (with Markers!)
- Full Manikin (with the Manipulator!)
- IK (with Retargeting!)
- Mocap Chap (with Fun!)
Manipulators
One of the most challenging aspect of Ragdoll to date is editing shapes and limits. These have now been greatly simplified via the use of "manipulators", similar to your standard Translate/Rotate/Scale manipulators. Except on steroids.
Here's a 21 second overview.
Before
Here's the equivalent process in the last version. Sped up by 4x.
It's is about as boring to watch as it was to make. 😄 Notice how shapes and limits need manual adjustment on both sides, because there was no symmetry. And notice how many clicks it takes to make one change, keep expanding that item in the Channel Box over and over and over.
Activate
You have a few options for activating the manipulator.
- Run
Ragdoll -> Manipulator
- Select a Ragdoll node and press
T
on your keyboard - Select a Ragdoll node and click the
Show Manipulator Tool
in the Toolbar
Any of the Ragdoll nodes can be selected in order to enable the manipulator via the T
keyboard shortcut.
Solver Shape
At the time of this writing, the solver needs its shape selected, not the parent transform. This will be addressed in a future release.
A comfortable workflow is..
- Select any assigned control
- Select the marker DG node in the Channel Box
- Press
T
The selected Marker will be pre-selected in the manipulator.
Alternatively, press the Show Manipulator Tool
button in the Toolbar.
Shape Modes
This release introduces a manipulator with two "modes".
Mode | Description |
---|---|
Shape Mode | Edit shape properties, like Length , Radius , Position and Orientation |
Limit Mode | Edit limit properties, like Twist and Swing along with their pivots. |
In Shape Mode, you currently have 5 manipulators.
Manipulator | Description |
---|---|
Translate |
Affects the Shape Offset attribute |
Rotate |
Affects the Shape Rotation attribute |
Scale |
Affects the Shape Radius and Shape Extents attributes |
Length |
Affects the Shape Length attribute, for the Capsule shape |
HUD |
Individual control over primary attributes, like Shape Extents axes |
Translate
Hold the middle-mouse button to translate.
Rotate
Hold Ctrl + middle-mouse button to rotate.
Scale
Hold Ctrl + left-mouse button to scale.
Length
The Capsule
shape have additional in-view manipulators you can drag to affect each side independently.
HUD
Finally, attributes without a visual handle can be edited via the viewport HUD.
Limit Mode
In Limit Mode, you currently have 2 manipulators.
Manipulator | Description |
---|---|
Limit |
Affects the Limit Range XYZ attributes |
HUD |
For locking and enabling of limits |
Enable and Disable
Click the Axis
button to limit the rotation about a particular axis.
Lock and Unlock
Click the Lock
button to prevent all rotation about the axis.
Asymmetrical Edits
Hold
Ctrl
to make asymmetrical edits
Some limbs start out at the center of their limit. Like your hip and neck. They are typically modeled to enable equal movement in each axis.
Other limbs, like the elbow and knee, are typically modeled in the extreme of their limit. Able to only rotate in one direction. For these cases, they need an asymmetrical limit.
With limits in multiple axes, keep an eye out for how asymmetrical edits to one axis affect the others.
Why are they moving?
Under the hood, each axis must be still be symmetrical; edits only appear to be asymmetrical for your convenience. What's really happening is the entire limit is both changing shape and also rotating and the rotation is causing all axes to move.
This is an inherent limitation of limits (pun!) in Ragdoll and is unlikely to be addressed in the future, so we'll have to work with it.
If you mess up and want to start from scratch, hit the Reset
button, also found under Ragdoll -> Utilities -> Reset Constraint Frames
Symmetry
Enabled per default, symmetry will mirror your edits across an axis.
There are 2 types of symmetry at the time of this writing.
Type | Description |
---|---|
World |
Look for a marker across the current axis in worldspace |
Pose |
Based on the pose at the time of assigning markers, which is typically symmetrical. |
Each of which can be made symmetrical in either the X, Y or Z axes. The Pose
axis means you can make changes even if a character has been posed after having been assigned. A feature particularly useful when assigning to the A- or T-pose of a character rig.
Pose Based Symmetry
Because these controls were assigned in the T-pose of the rig, you can use Pose-based symmetry to make changes even when the character is currently asymmetrical.
Multiple Rigs
If two or more characters are present in the scene, and they were all rigged in the same pose, at the center of the world, then Ragdoll will only look at markers in the same rdGroup
as the selected Marker.
Search Distance
On the right-hand side of the Enable Symmetry
button, there is a Search Distance
gizmo.
Drag to edit this value
When you select a marker on one side, it will search for a marker at the opposite side of the axis you've chosen. Because positions are all approximate, it uses a maximum search distance to look for it.
Matches
Ideally, there should only be one match. But in a crowded hierarchy there may be several. Tune the Search Distance
to control the number of matches, to ensure it doesn't pick the wrong one.
Multi-select
Disable
Symmetry
to enable multi-select
Hold Shift
to select and manipulate multiple markers at once.
Drag-select
Will be added in a future release.
Undo & Redo
No surprises here.
Changes made using the manipulator is undoable as you would expect, with the exception that it currently does not let you undo the selection itself like normal Maya selection does; this will be addressed in a future release.
Fit-to-view
Tap the F
key to fit any selected Marker(s) to the view, like you would expect from selected Maya nodes.
Caveat
This currently only applies if you've activated the manipulator using the Ragdoll -> Manipulator
menu item, or have the rdSolver
shape node selected.
Select Node
Click the
Select Node
button to select this node in Maya
Per default, Ragdoll and Maya selection are separate. You can have Maya select the node(s) currently seleted in Ragdoll by pressing the Select Node
button.
You can automate this using the Synchronise
button at the far-left of the HUD.
Why is this not on per default?
The solver is what is actually being fitted. If the selection is changed to a marker (which is not a DAG node, and therefore lacks a visual representation) then fit-to-view no longer works.
This will be addressed in a future release and made into the default.
With Multi-select or symmetry enabled, all selected markers will be selected in Maya, to make bulk edits via the Channel Box easier.
Manipulator Help
On the right-hand side is an overview of the hotkeys and mouse button combinations you can use, and what they do.
It can be hidden via the HUD button on the upper right-hand side.
Quality of Life
More of this!
1D, 2D and 3D Limits
Ragdoll used to have a preference as to which axes you use for limits.
X
is great for 1D limits, like a hinge, elbow or kneeYZ
is great for 2D limits, like a shoulder or hip
But XY
is no good. XZ
is also bad. And god forbid you should attempt use Y
or Z
as a hinge limit. Ragdoll would try, but try in vain.
Knowing which combination to use is not easy, and now you no longer have to. Pick an axis, any axis or combination of axes and Ragdoll will figure things out on its end. You don't have to worry about it.
As an added bonus, the limit axis now aligns with your Maya axis! (with one caveat, see below)
Here's a table to make this absolutely clear. 🥰
Maya Rotate Axis | Ragdoll Limit Axis | |
---|---|---|
X |
= | X |
Y |
= | Y |
Z |
= | Z |
Caveat
With one exception, see Asymmetrical Limits under Limit Mode above. As soon as they rotate, they will no longer align with Maya; which isn't a problem most of the time, but can be.
Cache On Record
Previously, when you recorded your simulation back onto your character rig, a new simulation would kick in the next time you played. And because your character rig has now changed - to follow the original simulation - the new simulation will be different.
This makes logical sense but can be unexpected. So now, the Cache
attribute on the solver is automatically enabled to let you compare and contrast your character rig with the simulation; and avoid needless re-simulating when what you really wanted was to record-and-forget.
Once you're ready to re-simulate, run the Uncache
command or set the Cache
attribute back to Off
.
Faster Deltas
Pose Deltas are now cleaner and more performant (up to 10x).
Deltas are the triangular-looking shapes drawn to visualise the difference between your animation and the current simulation. They are now only drawn when there is at least some difference, which means the vast majority of them in a complex scene are now not drawn, speeding up your viewport significantly.
Before
After
Notice how they only appear if there is actually a difference between the animation and simulation.
Ground Fits Grid
Previous releases would put a ground underneath the first assigned controls, with a size relative the size of your selection.
Turns out, this wasn't great in practice and usually ended up being too small. In this release, the ground inherits whatever size your viewport grid is.
Auto Limits II
The previous release introduced Auto Limits whereby Ragdoll would look at the locked-state of your Rotate
channels and try to figure out how to replicate this effect physically.
This sometimes worked, sometimes not. This release fixes that, covering all combinations of locked channels, with any manner of joint or rotate axis.
Here's what locking the Rotate channels will result in.
Unlocking them, we can see how much of an effect it has.
Thanks to the more robust and predictable limits in this release, the Maya axis will now always align with the Ragdoll limit axes!
Lollipop Hierarchy
The Create Lollipop
option of Markers generates an extra control shape in the viewport that you can use to manipulate a Marker. The goal being to make it easier to spot a Marker in a potentially busy channel box.
But the last release didn't let you use Assign Hierarchy
with Create Lollipop
without ending up with a broken hierarchy.
Before
After
Disappearing Limits
The limit indicator is drawn using a 2D drawing API which is initialised whenever a Solver is created. It was however uninitialized whenever any Solver was deleted, so if you had 2 solvers you were out of luck. A re-open of the scene would fix it, but it was annoying and incorrect.
This has now been fixed.
Replace Intermediate Mesh
In the previous release, if a mesh had a second "intermediate" mesh it would be more difficult to use it with the Replace Mesh
command.
Before
After
Here's it working with intermediate shapes, and the new Maintain History
option which was always true in the previous release.
Without it, modifications to the original mesh are ignored; such as a skinned mesh.
Transform Limits
Recording onto transforms with Maya's native limits on them could result in this.
This has now been fixed.
How?
Since you asked, they are simply disabled. I've never seen or heard of anyone actually using these and was surprised to find they were in active use by the native motion capture library that ships with Maya.
If you or anyone you know do use them, let me know and they will be given support.
Separate Translate XYZ Amount
The Pose Stiffness
in World
space affected each axis equally.
You can now control each axis independently, to for example follow an input animation closely along the ground plane, the X and Z-axes, but allow for it to deviate along the Y-axis,
Separate Twist and Swing Amount
The Pose Stiffness
and Pose Damping
parameters of Markers apply to both Swing and Twist - that is, rotations around the X and YZ axes.
You can now control these independently, for an even finer control over the resulting simulation.
Maya Exit
There was a memory leak, whereby Maya would sometimes freeze on exit, with an anomymous-looking dialog box appearing on Windows.
This has been fixed.
Customised Recording
Some rigs don't work with Maya's default Parent and Orient constraint. As a result, neither does Record Simulation
or Snap to Simulation
because those commands use these default constraints.
If this is you, then I have good news. You can now override the command responsible for creating these constraints with one that uses your custom in-house constraints instead.