Skip to content

2021.01.14

Highlight for this release are the new Multiplier Nodes!


Multiplier Nodes

Work procedurally, with this centralised place to edit any number of rigids or constraints simultaneously. The idea is to facilitate a top-level node which govern the overall look of your simulation; withouth having to find and select each control individually.

Workflow

  1. Select any number of rigids or constraints
  2. Click Multiply Selected Constraints (or Rigids)

The order in which you select matters, the first selection gets the node. The recommended workflow is to start with the root and work your way out. But your selection can span multiple hierarchies or even the whole character. A quick "Select Hierarchy" across an entire character is possible also.

A constraint and rigid can only have 1 multiplier connected at any one time.

Demo

ragdollmultiplier2

The most common attributes are made available currently, let me know if you find something missing!

YouTube


Environment Variables

Added these suckers for you to play around with.

Variable Description Default
RAGDOLL_PLUGIN Absolute path to binary plugin, .mll on Windows .so on Linux. This overrides whatever is on MAYA_PLUG_IN_PATH "ragdoll"
RAGDOLL_NO_AUTOLOAD Do not automatically load the plug-in and add the menu on startup of Maya. False
RAGDOLL_NO_STARTUP_DIALOG Do not display the startup-dialog on first launch. False
RAGDOLL_AUTO_SERIAL Automatically activate Ragdoll on install using this serial number. Unset

For up to date information, see here.


EnTT

Getting some more recognition on the interwebs from EnTT, the library used to keep Ragdoll fast and clean!

image


Dynamic Shape Type Attributes

Now only relevant attributes are visible in the Channel Box, dynamically based on the current type.

ragdollshapetype

I've added an option to disable this in the Global Preferences.

image


Bounding Box

Maya uses bounding box information to avoid drawing things that aren't visible in camera. The previous version of Ragdoll didn't provide Maya with any bounding box, which left Maya with no choice but to draw these always; even when behind the camera.

Now this isn't so. You shouldn't notice much for smaller scenes, but drawing typically consumes 20-30% of the total CPU impact Ragdoll has on your character rigs. So for larger scenes this should reap a significant performance boost.

Pro tip: You can also disable drawing of all Ragdoll primitives by disabling Locators in your viewport; that's how Maya classifies any and all Ragdoll nodes.

ragdollboundinbox


Cycle Warnings

TLDR; you should now experience fewer cycle warnings.

Whenever you create a rigid from any Maya node, like an animation control, Ragdoll makes a note of the position and orientation of that control. It takes into account that you may not be on the start frame when you create the control, which is what you most likely intended to do. When that happens, Maya will silently roll back time in the background to query an attribute at the start frame.

This silent roll-back has a tendency to trigger evaluation of unrelated nodes, like IK handles, which in turn trigger other nodes, ultimately leading back to where it came from, and thus cause a cycle. These were somewhat harmless, but could mask a real cycle from happening.

In this release, this silent roll back only happens when you actually aren't on the start frame. So you should see less of it. There's still room for improvement however, so if you still find warnings or any odd behaviors being due to cycles, do reach out!


NaN

If you've ever gotten these, you can now rest easy. They are gone. They could happen on occasion, especially after repeated undo. It had to do with memory access violation by Maya being naughty, something it really shouldn't be able to do in the first place. We now guard against this, so all is well.

image