Highlight for this release is Live Mode!
- ADDED Ragdoll Freelancer Ragdoll for $199
- ADDED Live Mode Physically-based character posing
- ADDED Interactive Mode Real-time physics as you animate
- ADDED Load Physics Lightweight and physically-based character rigs
- ADDED Asset Library Premade assets with room for your own collection
- ADDED 2x Performance 4x faster rendering means 2x faster playback performance
- ADDED Selection Outline Easier and nice-to-look at rendering
- UPDATED Translate & Rotate Stiffness Simpler! No more "pose space", what even was that?!
- ADDED Selective Export Exclude or include individual Markers, Groups or Solvers
- ADDED Keyable Gravity Gravity can now be animated!
- ADDED Replace Mesh API Tweak
- ADDED Plan Duration Control the default duration of a newly assigned plan
- ADDED Viewport Selection Select a solver via regular viewport-select!
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!
- YouTube - Trailer (2:00 mins)
- YouTube - Rigging for Live Mode (4:15 mins)
- YouTube - Rigging with Multi-Cut (10:06 mins)
- YouTube - Live Rig and Maya Native Rigs (5:13 mins)
Some excellent mechanical work by Pavel on the forums.
Made with the beta version of Live Mode by @emi on the forums.
Animated with Live Mode, and re-simulated for balance!
Made with a beta version of Live Mode by @riccardo_p on the forums.
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.
Animated in Interactive Mode, with caching enabled.
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.
A new limited edition pricing tier for the individual out there wanting to take Ragdoll to work.
- $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!
Here's "Live Mode" in a nutshell.
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:
- Import a mesh
- Plot some joints
- Skin mesh
- Assign markers
- 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.
Clicking and dragging on any marker will affect it the way you'd expect.
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.
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 button can be toggled, which would leave the character tense.
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.
You can also press Ctrl whilst dragging and release to leave the Marker you are currently dragging in place, for some cool posing mechanic!
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.
Hold Shift whilst dragging to isolate the effect to a marker and it's children.
The final button is the
Transfer button. It's what transfers the simulation back onto your animation controls.
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.
And these are the tools you use to animate.
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!
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.
- https://youtu.be/fx-BT6eDxDE (4:15 mins)
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!
- https://youtu.be/Si_l8B82c9w (10:06 mins)
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.
- https://youtu.be/kmY5NSmbkZo (5:13 mins)
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!
Selection and anything "wireframe" in general has been significantly improved.
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!
If you prefer, you can still enable the old group drawing. It's merely disabled in the Solver Display section of the Attribute Editor.
Here's a simple performance test to give you some idea!
Here's one with only rendering and no simulation, meaning that navigating the viewport is even faster than the overall performance improvements.
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.
Here's what you can expect from parallelism with multiple solvers in this release.
We'd expect a 25x speedup here, but are only getting on the order of 3-4x. Useful, but room to grow!
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!
You've now got a number of assets at your fingertips, ready for import.
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.
The Asset Library is where you'll now also find information about your licence.
Load one or load many, they'll all interact with each other and can be manipulated with Live Mode too!
Along with the new library, and your ability to add your own assets, we've got some default ones for you to play with!
Let's have a look at what assets you've got to play with in this release, first up is the "Alien".
A friendly dog, ready for posing.
The classic Ragdoll Manikin character as a ragfile.
A zero-gravity astronaut, waiting to be tossed around in space!
Argghhhhh! This one's got fingers and a face.
A quadruped as well, with fatty bits for some nice secondary motion.
The wasp from the tutorial section!
A plastic doll with gun and hat!
A deconstructed version of Antoine Verney-Carron's wyvern, used in one of our early Live Streams.
What do you get if you combine a bat with a frog?
It's the Rag Shark!
If Rag Shark had a friend, it'd be the Dude!
A generic lion, in bad need of limits. Can you help him?
A series of videos made during the beta, some of which are out of date but still potentially useful!
- Live Mode 0 - Asset Library
- Live Mode 1 - Introduction
- Live Mode 2 - Edit Any Frame
- Live Mode 3 - Tense Children
- Live Mode 4 - Shift + Drag
- Live Mode 5 - Timeline
- Live Mode 6 - Drop
- Live Mode 7 - Shift + Drop
- Live Mode 8 - Tense
- Live Mode 9 - Shift + Tense
- Live Mode 10 - Ctrl + Click
- Live Mode 11 - Transfer
- Live Mode 12 - Sync Timeline
- Live Mode 13 - Hierarchy
- Live Mode 14 - Maintain Child Orientation
- Live Mode 15 - Pause When Inactive
- Live Mode 16 - Interactive Mode 3
- Live Mode 17 - Record your Live Mode 2
Translate & Rotate Stiffness
We've making a change to how you animate with the "stiffness" attributes.
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.
Pose Stiffness attributes are still available for the time being.
To use it, untick the
Use Translate/Rotate Stiffness in the
Assign menu options.
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!
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.
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.
"driveStiffness": "is now -> angularStiffness",
"driveDampingRatio": "is now -> angularDampingRatio",
"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!
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! 🥳
// 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
// 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!
Following this release, here are some minor changes made.
Revert incomplete Locomotion 2.0, coming up in the next larger release.
Repair broken Educational licences, they were acting like trial/non-commercial licences.
Keep fields with 0 magnitude from affecting anything.