I’m back! Let’s have a closer look at what’s going on here.
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.
- Make sure you have both frames selected
- 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.