Skip to content

2020.12.01

ragdoll20201201_4

Lots of good stuff!


Active & Passive Rigid Body

The terminology for "Rigid" and "Collider" wasn't clear. Surely, a "Rigid" collides too?

With this release, I've updated the jargon to make a little more sense.

  • Active Rigid A rigid that moves is active
  • Passive Rigid A rigid that doesn't move is passive

This also goes for the kinematic attribute which has been renamed passive, highlighting that an active rigid can made passive by flicking this switch. Backwards compatibility is preserved by keeping the underlying attribute name, and only changing it in the Channel Box and Attribute Editor (i.e. the "nice name").

image


Character 2.0 - "Auto-Ragger"

This release expands on the "Character" tool with some nifty new features. But since I haven't mentioned what 1.0 was capable of, here's an overall round down of what it is and when to use it.

Character is a one-click character creation tool - and auto-rigger (or auto-ragger, if you will). It's designed to give you the essential tools for turning any native Maya skeleton into an animatable rigid body hierarchy.

Read more about it on this new dedicated page I've made for it.


Dynamic Control Capsules

Now Dynamic Control can be configured to generate capsules between selected controls, instead of assuming that the NURBS CVs neatly wrap around the model.

Current and Default behaviour

The tool uses the Mesh shape per default like before.

ragdolldynamic4

Alternative Capsules

But if your controls do not have volume, or do not nicely wrap the underlying model, you can now use Capsules instead.

ragdolldynamic3

The caveat with capsules is that the tool cannot know how long to make your capsules. Therefore, there is an option to use the last-selected node as a hint for how long to make it.

image

In this example, 5 nodes selected, 1 passive and 3 active rigids comes out. If you don't use a last selection for length, the last selected capsule will have a length of 0 (it'll be a sphere). That can work in some cases, but is generally discouraged. The center of mass would be wrong and you should expect unrealistic results until you tweak it to fit your model.

Gathering information about Dynamic Control on the..


Normalise Shapes

An early version of the "Normalise Sizes" tool, meant to more evenly distribute sizes of shapes across a hierarchy. Per default, shapes are sized based on the geometry of the Maya node. If it's a box, it'll get the dimensions of the box. If it's a joint, it'll get the length and radius of that joint.

But because this mechanism can't see past the one node it's looking at, it's an uphill battle making shapes evenly distributed in a greater network.

The "Normalise Sizes" tool is meant to address that.

ragdollorient

It's still early, and a few things are missing.

  1. Resolve Self-intersections These are more likely to happen the larger shapes get.
  2. Handle spine It tends to become too thin and desperately needs to be thickened up


Time Multiplier

Now you can speed up or slow down your simulation with a multiplier attribute found on the rdScene node!

  • If you need something happening really-really fast, don't forget to also up your Substeps.
  • If you need something even faster, like a bullet moving across the room in 2 frames, activate Continuous Collision Detection to prevent it from flying through stuff without noticing.
  • For anything slower than real-time, remember contacts and constraints are solved each frame, so more frames means more accurate simulation. If you don't like that, you can either (1) half the substeps alongside halving time or (2) bake out the simulation and scale the bake instead.

  • Example Scene

ragdollslowmo


Rotate Order

Now rigids play well with non-standard rotation orders, very common your everyday character animation rigs to ensure axes don't go gimbal.

ragdollrotateorder

Thanks to Peter Jemstedt for help on this one!


Auto Orient

Shapes and constraints can now be automatically oriented based on the parent and child of each joint (soon coming to controls). This should help sort out those pesky joint orientations any manner of skeletons.

ragdollautoorient


Undo Bug

There was this nasty bug that caused rdRigid nodes to remain behind after creating and then undoing. But what got left behind wasn't your normal nodes. They only appeared in the Node Editor and could not be selected or even deleted. They would show themselves out when re-opening the Maya scene which is great.

ragdollundobug

This visibility isn't a problem in itself, if it wasn't for them also being visible from Python. If any command needed to know "hey, animation control, are you connected to a rigid?" then it would happily reply "yes! for sure!".

And that's bad. But not anymore, because it's fixed!


Stick Figures

In a previous release I touched on "angular mass" and what it meant for your simulations.

Let's look at this in practice.

ragdolldance2 ragdolldancethin

Here's one character with identical settings, the only difference is the radius of her capsules, and yet the move differently. Why is that?

Remember that angular mass is 3-dimensional. Just like normal mass, when mass is high, more force is required to introduce motion. In the case of angular mass, the force required is divided into three axes.

image

In this illustration, the angular mass along the X axis is much larger than Y and Z, so in to rotate around this axis you need much more force than the other two axes.

There is however only 1 value for "guide strength". You can think of this force as being distributed across each axis, relative its mass.

For example, if your Guide Strength is 10.0, then the distribution might look something like this.

X Strength = 10
Y Strength = 2
Z Strength = 1

Whereas if angularMassX was equal like a square cube..

image

X Strength = 10
Y Strength = 10
Z Strength = 10

In light of this, what are your options?

  1. Fit your geometry The most realistic behaviour is what you get when model your shapes to the geometry you are animating.
  2. Adjust to taste If there is no geometry, or if the geometry is of an actual stick figure that you would like to act like a person, thicknen up your shapes. To separate between behaviour and collisions, add a second rigid and disable collisions on the first.
  3. Edit angularMass The least intrusive but perhaps most complex option is to manually specify a preferred angular mass.

Here's the scene and one more gif to keep you warm at night.

ragdolldance

Some things to experiment with:

  1. What if she has a really heavy head?
  2. ..really heavy hand?
  3. What if the Guide Strength was halved?
  4. ..or 10x?!
  5. What if you remove Guide Strength on her hip?
  6. What if you add an extra Guide to her head?


Animation in 1995

Stumbled upon this (thanks Jarl!) which I think is a great example of what I think we're ready to move away from as an industry. :)

Here's a prediction for you - about a year from now, you won't be keyframing anymore. You'll be recording.