Skip to content

2021.12.12

Highlight for this release is The Manipulator!


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

image


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!


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.

  1. Run Ragdoll -> Manipulator
  2. Select a Ragdoll node and press T on your keyboard
  3. 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..

  1. Select any assigned control
  2. Select the marker DG node in the Channel Box
  3. 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".

image

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.

image

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.

  1. X is great for 1D limits, like a hinge, elbow or knee
  2. YZ 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

image

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.

image

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.

image

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.