2022.02.01
Highlight for this release is Quality of Life!
- UPDATED Kinematic & Dynamic The two pillars of Ragdoll
- ADDED Group and Ungroup Markers can now be arbitrarily grouped
- ADDED Lollipop 2.0 More powerful, more flexible lollipops
- ADDED Match by Name Importing can now match by name, rather than the full hierarchy
- ADDED Record Range Options Undimmed and ready to go!
- ADDED Offline Activation Wizard Simpler than ever
- FIXED Scaled Limits The manipulator stuggled to display limits when scaled
- FIXED Scaled Replaced Meshes Replaced meshes didn't used to like being scaled
- FIXED More Robust Recording Also interactive and faster!
- FIXED Manipulator and Multiple Viewports Now easier on both the eyes and mind.
Showcase
Let's start with the good stuff.
Pounce
Our Manikin is stuck!
Batman Writes
A behind-the-scenes from Jason's cool constraint setup.
Kinematic & Dynamic
Also known as "Animated" and "Simulated"
Marker behaviour has been simplified.
Groups are now either Kinematic
- for fully animated, no physics involved - or Dynamic
for having things affected by gravity and contacts with other Markers.
In the above example, I'm alternating between Kinematic
and Dynamic
for the entire character.
Changed
As part of this simplification, two things have changed.
Initial State
was removedPose Match
was renamed toDynamic
Initial State can be achieved with Dynamic
and a Pose Stiffness
of 0
.
And like before, individual markers can be overridden to be either Kinematic
or Dynamic
. When set to Inherit
it continues to use whatever value was found in the group.
..speaking of which!
Group
In the previous version, a group was automatically created whenever you assign to a connected series of controls.
This release enables you to group standalone markers too, and to retroactively group markers in any way you please.
New Group
Select some markers, put them in a group.
Move To Group
Select one or more markers, along with a destination group, and move them.
Group on Assign
When assigning markers, you are now also able to pick which group to put it into, or whether to make a new group. Or no group!
Lollipop 2.0
Lollipops now feature Marker and Group attributes in the Channel Box; less clicks!
Customisable
Rotate and scale the resulting lollipops to fit your rig and workflow.
Retroactive Lollipops
Should you have markers without a lollipop, assign them afterwards using the Lollipop menu item. This is also where you can customise which attributes should appear on them.
Pro tip
The Use Proxy Attributes
option makes attributes editable both on the Lollipop and on the original Marker. The downside however is that they make life in the Graph Editor less pleasant. 🤔
With Proxy Attributes | Without Proxy Attributes |
---|---|
Quality of Life
Some improvements and reshufflings to make your life more complete. 🥰
Robust Recording
There hasn't yet been any rig not supported by Ragdoll, until last week when @mandala got in touch with a new challenge. A rig made with an rigging system plug-in called Contour.
Recording this rig results in cycle warnings, presumably because part of how it operates depends on viewport updates.
In this update, there is a (default) Nice and Steady
option for recording which ensures the viewport stays up-to-date with the dependency graph, and that did the trick!
Match By Name
Importing markers onto a character in a different group, or a different character altogether, could be tricky since their hierarchies would differ.
There is now an option to find a matching control by name rather than its full path.
In this example, the character has a different parent group than when it was exported, changing all of the full paths to each control.
Scale Replace
In the case of scaled markers with a replaced mesh, this happened.
Before
But no longer!
After
Offline Activation Wizard
The offline activation process has now been streamlined; no longer requiring an email conversation back and forth. It should take some of our load off, whilst at the same time enabling you to offline activate when we are sleeping. 😅
Activation
Deactivation
Offline Trial Notification
Whenever someone attempts to trial Ragdoll, but their machine is not connected to the internet, they would receive a message about how their Trial has expired.. Even though it was never activated in the first place!
This has now been fixed.
World Translate Visualisation
The translation component of the World Pose Space wasn't very visible before, now it is! It's also drawn using the color of the Marker it's associated with, to aid in figuring out what it's actually affecting. And also make things a little nicer to look at.
Before
After
Record Leaving Joints Behind
Sometimes, Ragdoll could leave some remains after recording your simulation. This has now been fixed.
Existing Constraints Deleted on Record
Under rare circumstances, it's possible to assign a marker onto a control that's been constrained. It wouldn't make sense to record onto this control; because what should you expect to have happen? The control is either animated or it is constrained.
At the moment, this constraint is also recorded and once complete your original constraint is deleted. If possible! If the constraint is from a referenced file, then you'll instead see an error. 🤔
Record Range Options
The Record UI has seen some updates. It used to always record your current playback range, but can now be customised.
Record To Selected Range
You can now drag-select on the timeline to record only that specific region.
Record Full Range
The minimum and maximum range on your timeline, beyond what is played back.
Record Playback Range
Record only the range currently played back, this is the default and current behaviour.
Customise Range
And finally, provide your own values. These values, along with the option of which range to pick from, is remembered alongside your Maya preferences just like all other Ragdoll options.
Existing Constraints
In the rare circumstance of:
- Assigning to a constrained control
- That is also kinematic
- And running
Record
You would find yourself with a missing constraint. As it happens, when Maya encounters an existing constraint it won't actually create a new constraint when you try and constrain again. Instead, it will append to this constraint.
As a result, since Recording constrains your character to the simulation and then bakes the keyframes, once it was complete and went on to clean up any new constraints it had made, it also deleted yours.
This has now been fixed.
Manipulator & Multiple Viewports
The Ragdoll Manipulator didn't like multiple viewports being present at the same time, resulting in a similar situation as 2021.12.15.
Ragdoll now draws and responds to the manipulator in the currently active viewport.
Plug-in Unload and New Scene
Sometimes, especially on a floating licence, you'd like to release your licence such that another artist can pick it up.
To do that, you can either go to the Ragdoll UI and Drop Lease
for a floating licence of Deactivate
for a node-locked licence. Or, you can simply unload the plug-in.
As it happens, if you did then Ragdoll would clear your scene. Without confirmation. 😵
This has now been fixed. You'll still need to ensure no Ragdoll nodes are present in your scene though, like any normal plug-in.
Delete from Selection
A new menu item has been added to delete physics only from the current selection.
Pro tip I
This was possible using the Use Selection
option within the Delete Physics
option dialog.
Pro tip II
Markers can also be manually deleted in the Outliner, they are DG nodes.
Pro tip III
Another way of deleting an individual marker is:
- Select your assigned control
- Select Marker in Channel Box
- Deselect control
- Hit
Delete
orBackspace
on your keyboard
Pro tip IV
Yet another way of deleting an individual marker is:
- Select your assigned control
- Select Marker in Channel Box
- Ctrl + Right-click on marker
- Select
Delete Node
Minor Tweaks
- Limits are now included when importing physics
Drive Space Custom
appears under in the channel box whenDrive Space = Custom
- Pin Constraint now visible in Wireframe mode
- Pin Constraint visible both with solver offset and at the origin
- Distance and Pin Constraints can now be hidden via the Outliner
- The
Include Kinematic
option for record has been fixed - Python API: The
opts
argument ofapi.reinterpret
is repaired