Wrong limits axis used during simulation

I’m back! Let’s have a closer look at what’s going on here. :blush:

Here are 3 joint chains - the same applies to regular NURBS controls.

https://user-images.githubusercontent.com/2152766/188846164-931403d3-7644-4dfd-8c69-078f5897bf93.mp4

Notice how each of them have the X axis pointing in a different direction. To Ragdoll, these don’t matter. But to you, visually, it makes the most sense for the X axis to point in the direction of your limbs.

2. Assign Markers

Without limits, we won’t yet notice any effect of these differences.

https://user-images.githubusercontent.com/2152766/188846359-01306994-ce53-4b74-9364-f480150895cb.mp4

3. Limits

But once we apply limits, we’ll notice how the axes look as though they don’t align with the joint/control!

https://user-images.githubusercontent.com/2152766/188846581-543a497d-f427-4ba5-a4f3-1b710f1b402d.mp4

4. Tweak

To Ragdoll, it doesn’t matter what these look like. It will always try and keep the red line within the red shape, and the green line within the green shape. That’s it’s mission, and that’ll work.

https://user-images.githubusercontent.com/2152766/188846664-b036a2d2-41c1-4da8-a130-abc79303c939.mp4

Edit Constraint Frames

As an advanced alternative, you can manually edit the constraints to have different axes to that of your control. Such that the Maya X-axis and Ragdoll X-axis are different. That way, you can edit the physics limits in bulk, and assume that X is always the twist axis.

Let’s have a look at how to do that!

1. Reset Limits

First off, let’s undo all of the things we did to the limits above via Ragdoll → Utilities → Reset Constraint Frames. You can skip this step if you haven’t changed them yet.

https://user-images.githubusercontent.com/2152766/188861750-069bf161-d0ee-44dd-874d-53f2576aac95.mp4

2. Edit Constraint Frames

Next, select the Marker(s) you would like to change the axes for and run Ragdoll → Utilities → Edit Constraint Frames. This will create 2 Maya handles, one for the limits and another for the red/green lines. These are called “Parent Frame” and “Child Frame” respectively.

  • Parent Frame is the space in which the Child Frame can move
  • Child Frame is the current orientation of the Marker

https://user-images.githubusercontent.com/2152766/188861757-a935ec36-82db-48c5-b5f8-7b8b8a2c5605.mp4

3. Display Limits

Per default, limits are only visible when a Marker is selected. To select these frames, we need to make them visible all the time, so go to the Solver Attribute Editor, and set Draw Limits = Always.

https://user-images.githubusercontent.com/2152766/188861765-1731945d-36bf-44e4-9457-0e89b0ca624e.mp4

4. Reorient Limits

This is the tricky part.

  1. Make sure you have both frames selected
  2. Make sure they both rotate the same way

You’ll want to keep the red/green lines within their red/green limits at all times, like in this video here.

https://user-images.githubusercontent.com/2152766/188861769-e6c5364f-b5a2-445e-bcf6-04b804267a17.mp4

Keep an eye out for the red/green lines to rotate differently from the red/green limits. They are parented to different controls, which may have different axes. Set your Rotate Gizmo to World to avoid that. You can orient them separately, just make sure they line up by the time you are done.

5. Manipulate as One

At this point, they all have the X-axis facing in the same direction, so manipulating them now is as easy as a pie.

https://user-images.githubusercontent.com/2152766/188861781-96f9a485-9c8c-4daf-8b74-3721950ed4f0.mp4

Hope it helps! Any questions, fire away.

2 Likes