Skip to content

2022.11.29

image

Highlight for this release is Live Mode!


Showcase

As is tradition, let's have a look at some of the things people have been up to with Ragdoll since the last release.

Ragdoll 3 Trailer

A 2 minute summary of what you'll find in this document!

image

Pavel Orsher

Some excellent mechanical work by Pavel on the forums.

Live Wyvern

Made with the beta version of Live Mode by @emi on the forums.

Live Dance

Animated with Live Mode, and re-simulated for balance!

Catfish

Made with a beta version of Live Mode by @riccardo_p on the forums.

Halloween

This happened. 😊

Ho Ho Ho

A little early, or is it? 😊

Live Mode Workflow

One example of how to use the new Live Mode from this release.

Interactive Wyvern

Animated in Interactive Mode, with caching enabled.


Ragdoll 3.0

That's right, this is a big one!

Last major release was the introduction of Markers back in January of this year. A major overhaul to both performance and usability of Ragdoll. This release is no different, with the introduction of Live Mode.

This is the direction we have in mind for Ragdoll and, dare I say, for character animation at large. We believe now is the perfect time to leverage much of the untapped technology from the past few decades and throw out much of what we know about animation - starting with how characters are posed.


Ragdoll Freelancer

A new limited edition pricing tier for the individual out there wanting to take Ragdoll to work.

Details

  • $199 for a licence, 1 year of updates included
  • An optional $99 per additional year of updates
  • Individuals can purchase this
  • Companies cannot purchase this
  • Lifetime licences only, no subscription
  • Maximum 1 licence per individual (3 activations for e.g. home and work)
  • Can be used both commercially and non-commercially, namely at work or at home
  • Cannot be activated offline
  • Cannot be activated on a virtual machine
  • Cannot be activated on cloud hardware, like AWS or Google Cloud

Who is this for?

It's exclusively for individuals who work on a project-basis and wants to take their Ragdoll licence with them as they move between studios. It

Is this you? Click here to get yours today!

Buy


Live Mode

Here's "Live Mode" in a nutshell.

Traditional Rig

And here's the equivalent task with the traditional rig.

If you don't make it through all of the 95 seconds that the traditional method takes, I don't blame you. Not only is posing with Live Mode already 3x faster, it also has the following benefits.

  • It's fun! You don't see that every day.
  • No intersections You don't even have to think about it, like playing with an action figure
  • No broken limits That is, skinning and subsequent muscles and cloth are safe
  • No controls Your geometry are the controls!

But perhaps most importantly.

  • You don't need rigging!

This same workflow applies to plain joint hierarchies, meaning an animator could:

  1. Import a mesh
  2. Plot some joints
  3. Skin mesh
  4. Assign markers
  5. Start animating

For example, here's 30 seconds of "rigging" a character from scratch.

And that's where things are going.

Let's have a closer look at what this thing can do today.


General Posing

Clicking and dragging on any marker will affect it the way you'd expect.


Reset

Exiting out of the mode or changing from the Manipulator to e.g. the Maya Translate tool (W hotkey) will reset the simulation to where it originally started.


Drop Press & Hold

Towards the bottom, you'll find a number buttons, one of which is called Drop. This "drops" the character. In other words, it temporarily enables gravity. This can help ease a character onto the ground or generally relax things that are hovering. It's also fun to play with. 😊


Drop Toggle

Hold Shift to toggle gravity on, such that you can throw things around! Also fun to play with 😊


Tense Press & Hold

Next up is Tense. This tenses the character.

What's really happening is that it tries to reach whatever pose your rig is in at that time.


Tense Toggle

Like Drop, the Tense button can be toggled, which would leave the character tense.


Mask

Hold Ctrl whilst clicking to "mask" a Marker. This prevents it from moving at all, it's technically turning the Marker into a Kinematic object temporarily.

Pro tip

You can also press Ctrl whilst dragging and release to leave the Marker you are currently dragging in place, for some cool posing mechanic!

Unmask All

Next up is "unmask" which involves "masking" via Ctrl + Clicking on a Marker. It's how you prevent a Marker from moving.

How does it work?

It temporarily turns any marker Kinematic, identical to the Behaviour = Kinematic attribute.


Mask Parent

Hold Shift whilst dragging to isolate the effect to a marker and it's children.


Transfer Pose

The final button is the Transfer button. It's what transfers the simulation back onto your animation controls.


Transfer Toggle

Like Drop and Tense, this button can also be toggled, meaning the pose is transferred as soon as you let go of the mouse cursor.


Animation

And these are the tools you use to animate. 🙂


Visual Undo

The timeline helps you understand where undo will take you.

You can also interact with the timeline, for fine control over where in history you want to go.


Recording Live Mode

Use Live Mode with Cache = Static to enable recording of your interactions!


Interactive Mode

Toggle the Lock button far-right to keep simulating outside of the Manipulator.

This enables you to use Ragdoll as a normal Maya deformer, and see real-time updates on contacts and limb limits.

Here are some more examples!


Rigging for Live Mode

In order for your characters to work with Live Mode, you'll need to take a few things into consideration. Primarily that your character has FK controls with the ability to disable space switches and other mechanics that differ from a straightforward parent/child relationship.

image


Rigging with Multi-Cut

A quick tutorial on how to setup a character using Maya's multi-cut, and then export and load this character to assemble it alongside our favourite Manikin!

image


Live Rig and Maya Native Rigs

Here's an example of how you can "trick" Live Mode into working for you with any traditional Maya rig.

image


Rendering

The viewport rendering pipeline has seen an overhaul - replacing much of Maya's own API for our own based on OpenGL 4 and DirectX 11.

The result is a much nicer presentation of Markers, especially those with a Mesh.

But that's not all. 😊

It also resulted in a 4x performance improvement to rendering, which means that playback performance is now 2x faster!

image

image


Selection Outline

Selection and anything "wireframe" in general has been significantly improved.

Before

After


Group Selection

This has also seen a major face lift since the last release, resulting in a much more clear idea of what's included in a given group. Rather than the lasso from the prior release, which was great! But, it wasn't able to clearly visualise markers inbetween many other markers, since the lasso would encapsulate those too!

Before

After

Old Rendering

If you prefer, you can still enable the old group drawing. It's merely disabled in the Solver Display section of the Attribute Editor.

image


2x Performance

Here's a simple performance test to give you some idea!

Before

After

Here's one with only rendering and no simulation, meaning that navigating the viewport is even faster than the overall performance improvements.

Before

After

OpenGL vs DirectX

OpenGL is the quickest, use it if you can. DirectX clocks in at 120 fps, versus 200 fps for OpenGL. That's almost half the speed if you desperately need DirectX! But, still faster than the previous version. 😊


Parallelism

Here's what you can expect from parallelism with multiple solvers in this release.

1 Solver

25 solvers

We'd expect a 25x speedup here, but are only getting on the order of 3-4x. Useful, but room to grow!


Load Physics

You can now open a .rag file without anything already existing in your scene.

Before, you could export the layer of physics wrapping around your character rig, and later re-apply this layer via the Import Physics menu item. With this release, you can throw away your character rigs and import and use the physics layer independently!

Asset Library Backend

This is the functionality the new Asset Library builds upon!


Asset Library

You've now got a number of assets at your fingertips, ready for import.

image


Version History

Spot which version you are on, and read more about past versions to see how Ragdoll has evolved over time.

Clicking on a version will take you to the web page for it, assuming you've got internet access. Otherwise, you can copy the resulting address into somewhere you do.


Licence Information

The Asset Library is where you'll now also find information about your licence.

image


Multiple Loads

Load one or load many, they'll all interact with each other and can be manipulated with Live Mode too!


Assets

Along with the new library, and your ability to add your own assets, we've got some default ones for you to play with!


Alien

Let's have a look at what assets you've got to play with in this release, first up is the "Alien".


Dog

A friendly dog, ready for posing.


Manikin

The classic Ragdoll Manikin character as a ragfile.


Spaceman

A zero-gravity astronaut, waiting to be tossed around in space!


Pirate

Argghhhhh! This one's got fingers and a face.


Rhino

A quadruped as well, with fatty bits for some nice secondary motion.


Wasp

The wasp from the tutorial section!


Cowboy

A plastic doll with gun and hat!


Dragon

A deconstructed version of Antoine Verney-Carron's wyvern, used in one of our early Live Streams.


Batty

What do you get if you combine a bat with a frog?


Shark

It's the Rag Shark!


Dude

If Rag Shark had a friend, it'd be the Dude!


Lion

A generic lion, in bad need of limits. Can you help him?


Beta Videos

A series of videos made during the beta, some of which are out of date but still potentially useful!


Translate & Rotate Stiffness

We've making a change to how you animate with the "stiffness" attributes.

image

Primarily, we're removing the Pose Space attribute. If you hadn't yet used it, good on you. It was far too complicated of an attribute to make sense of.

If you have been using it, you'll be pleased to know that the behaviour is now entirely consolidated into the Pin Constraint which performs exactly the same behaviour except without the mental overhead of figuring out what a "Custom" space actually is.

Before

After


Backwards Compatibility

The previous Pose Stiffness attributes are still available for the time being.

To use it, untick the Use Translate/Rotate Stiffness in the Assign menu options.

image


Replace Mesh Tweak

Like removing a pebble from your shoe, the api.replaceMesh() command now automatically changes your rMarker.shapeType attribute to Mesh. A small but helpful change!


Selective Export

Prior to this release, whenever you Export Physics you'd get absolutely everything that Ragdoll knows about. Every Marker, every group and every solver too.

With this release, you can cherry-pick the things you want included in your export, via the new Export attribute, found on all Ragdoll nodes. On by default, if Off then it will be invisible to the export process.

You'd use it when you have things in your scene you know aren't interesting to export. The Ground Plane for example is Off per default, since it's unlikely you'd want that included in a new scene.


Ragfile Schema Update

Two components has seen an update with new members and deprecated members.

  • MarkerUIComponent
  • GroupUIComponent

These won't affect external use of .rag files in e.g. game engines, and shouldn't have effect anywhere really. They are used as a means of passing Maya-specific values in and out of the .rag file for import and export.

"MarkerUIComponent": {
    "driveStiffness": "is now -> angularStiffness",
    "driveDampingRatio": "is now -> angularDampingRatio",
}

"GroupUIComponent": {
    "driveStiffness": "is now -> angularStiffness",
    "driveDampingRatio": "is now -> angularDampingRatio",
}

The prior members remain, but should not be used.


Import Attach Constraint

You can now export and import the Attach Constraint!


Scale Attach Constraint

You can now scale characters that use the Attach Constraint.


Scale Distance Constraints

The minimum and maximum values of the Distance Constraint is now scaled alongside your character, just as you'd expect!

Pro tip

Notice how as the character grows in size, the effect of the Distance Constraint diminishes. That's because with greater size comes greater mass. You can control this via Density = 0 which allows you to give a character a fixed mass regardless of size, which you may or may not want!


Mesh Import in Maya 2023

A tiny little typo slipped in with the prior release, 2022.07.20, which led to you being unable to import anything with replaced meshes. 😭 This has now been fixed! 🥳

ri.import_physics()
// ragdoll._create_solvers() - Creating solver(s)..
// ragdoll._create_groups() - Creating group(s)..
// ragdoll._create_markers() - Creating marker(s)..
// Warning: ragdoll._import_physics_wrapper() - Traceback (most recent call last):
//   File "C:\Users\marcus\Documents\maya\modules\Ragdoll-2022_07_20\scripts\ragdoll\interactive.py", line 3604, in _import_physics_wrapper
//     _singleton_import_loader.reinterpret()
//   File "C:\Users\marcus\Documents\maya\modules\Ragdoll-2022_07_20\scripts\ragdoll\internal.py", line 441, in _undo_chunk
//     return func(*args, **kwargs)
//   File "C:\Users\marcus\Documents\maya\modules\Ragdoll-2022_07_20\scripts\ragdoll\dump.py", line 450, in reinterpret
//     rdmarkers = self._create_markers(rdgroups, rdsolvers)
//   File "C:\Users\marcus\Documents\maya\modules\Ragdoll-2022_07_20\scripts\ragdoll\dump.py", line 665, in _create_markers
//     self._apply_marker(mod, entity, rdmarker)
//   File "C:\Users\marcus\Documents\maya\modules\Ragdoll-2022_07_20\scripts\ragdoll\dump.py", line 1272, in _apply_marker
//     mobj = meshes_to_mobj(Meshes)
//   File "C:\Users\marcus\Documents\maya\modules\Ragdoll-2022_07_20\scripts\ragdoll\dump.py", line 1299, in meshes_to_mobj
//     for index in range(len(polygon_connects) / 3):
// TypeError: 'float' object cannot be interpreted as an integer
// Warning: ragdoll._import_physics_wrapper() - An unexpected error occurred, see Script Editor


Known Issue - Render Gliches from the Inside

Moving the camera inside of a marker with an outline can look a little freaky!


Minor Releases

Following this release, here are some minor changes made.

2022.12.01

Revert incomplete Locomotion 2.0, coming up in the next larger release.

2022.12.05

Repair broken Educational licences, they were acting like trial/non-commercial licences.

2022.12.13

Keep fields with 0 magnitude from affecting anything.