Multiple-influence orient constraint flipping on mirrored arm rig

Multiple-influence orient constraint flipping on mirrored arm rig

Anonymous
Not applicable
4,215 Views
6 Replies
Message 1 of 7

Multiple-influence orient constraint flipping on mirrored arm rig

Anonymous
Not applicable

Hi there!

 

So I'm currently rigging a standard bipedal character and just finished the left arm. I started creating the right arm by using the Mirror Joints tool set to Behaviour on a YZ mirror axis to get the joints, and duplicated all the left arm's control nodes by grouping everything, applying a -1 scale on the x axis, then ungrouping everything within and deleting that null group. I then deleted all constraints connected to these duplicated control hierarchies and started reconnecting things from scratch.

 

Everything was going well until I started applying constraints to the controls. Specifically, I noticed something very wrong when I tried establishing space switches for the shoulder control, so that I could toggle via an orient constraint what part of the body influences the shoulder's rotation (clavicle, upper spine, center of gravity, world). I created a null group for each space switch, aligned to the shoulder control and parented to their respective body part control, then applied an orient constraint from all of these group nodes to the shoulder control. First issue I noticed is that there was a -90 value applied to the x offset in the orient constraint, but otherwise visually things still were in place.

 

Once I started setting driven keys to toggle the influences within the constraint on/off is when the arm started flipping 90 degrees.

 

I understand that the issue lies somewhere with an incongruent match of rotation axes, but I haven't grasped what stage in my process initiated this issue. I made sure that everything connected to this constraint (the shoulder control, the parent group of the shoulder control containing the constraint node itself, the null space switch groups) all have the same local rotation axes. So I'm not sure what part of this setup needs adjusting.

 

Any help here would be greatly appreciated! If any specific screenshots are needed I'm happy to oblige!

0 Likes
Accepted solutions (1)
4,216 Views
6 Replies
Replies (6)
Message 2 of 7

gautham.chandran47
Advisor
Advisor

Would you be able to share the file?



Goutham Chandran
Cinematic Animator | Rockstar Games
Linkedin | Instagram | Facebook

Message 3 of 7

Anonymous
Not applicable

I'm currently away from my computer with the file, but I can certainly share it later tonight!

 

Thanks so much for the help!

0 Likes
Message 4 of 7

stephenkmann
Collaborator
Collaborator
Accepted solution

Using the skeleton | Mirror joints  flips your joints differently from scaling in -1 . 

 Take a look at your local rotation axes for the joints, vs the controls.

 

 I just tried what you described and the X axes are pointed in opposite directions. 

 

it's always best to rebuild your rig for the opposite side , rather than try and dupe and flip and scale and rotate. 

 

Message 5 of 7

Anonymous
Not applicable

Thank you for your help! Is there a more stable way to create the right side's controls so that they're identical in shape/size to the left side?

0 Likes
Message 6 of 7

stephenkmann
Collaborator
Collaborator

 

Shapes can be anything under a transform

so I'm assuming you are grouping your controls to keep them having zero in translation, rotation and scale.

( lets call that offsetGRP) 

 

The norm (non scripted) is to create the curve at 0 0 0 ,, then group that curve(offseGRP), and then snap that offsetGRP to the joint. 

 

but,

You can also duplicate the curve, parent it under the opposite sides offsetGRP, and then freeze it. and now have it how you want it.. 

you could also blendShape from LF to RT and then delete history on the curve. 

 

there are  lots of ways, but those two are probably the most common I can think of

hth

-=s

 

 

 

 

 

 

 

 

Message 7 of 7

Anonymous
Not applicable

Awesome, thanks so much for the variety of solutions! 

0 Likes