Home Technical Talk

Rigging question

Binxx
polycounter lvl 9
Offline / Send Message
Binxx polycounter lvl 9
Currently I'm working on a 3d rig in Maya and i was wondering if there was a way to inverse the attribute variables, the main problem i have is that i have a mouth control which is oriented to a mouth joint, however the mouth joint has revered variables, so when i lift my mouth control up, it gives me a negative variable and when i lift down it gives me a negative variable. If you can help me out on how to solve this problem it would be greatly appreciated.

Replies

  • MiAlx
    Offline / Send Message
    MiAlx polycounter lvl 10
    Binxx wrote: »
    The main problem i have is that i have a mouth control which is oriented to a mouth joint, however the mouth joint has revered variables, so when i lift my mouth control up, it gives me a negative variable and when i lift down it gives me a negative variable.


    So let me see if I understand:

    If you rotate the mouth control, say, on the +z axis, the mouth joint moves towards the -z axis?

    If that is the case, then one reason comes to my mind:

    Your mouth control is inverse oriented in relation to your mouth joints (has a mirroring effect). Like you said.

    Now you have two methods that I can think of to solve that problem:

    1) You can re-orient the mouth joints to fit the local rotation axis of the mouth control curve (i.e mouth joint up axis is +y and so will be the mouth control).
    Now while that could solve your problem, the mouth joints should be oriented in the same way the other, facial or body, joints are
    (if y is up and x is the aim axis, then all joints should be like that). By re-orienting your mouth joints, you could in fact cause other, different problems later on, so i don't recommend you approach the problem this way (i still mentioned it, so you know what other solutions there are).

    2) What I prefer: you create a group node on top of that mouth control (select mouth control -not the joint-) and you rotate the mouth control group(!) to fit the mouth-joint's local rotation axis.

    Normally, only one or two of the local rotation axes are inversed so try to put something like -180 in the inversed attribute (and maybe -90 in the other). Just play around a little, until you get the desired effect.

    On a side note, the most common orientation for the joints is the following:
    X is the aim axis, Y is the up axis and Z is the world up axis.

    If you have a special control that is fitted to the mouth and you dont want to lose that position: After(!) you have re-oriented the mouth control, select it, go to component mode and rotate the Shape(!) of that control to put it in the position you like.

    That way, your control is oriented properly, has no values (since the group receives all values) and is positioned the way you like it.

    Now, when you rotate the control in, again say, the +z axis, the joint will rotate on the +z axis as well!

    Hope it helped, good luck!

    edit: If you meant something different, then please tell me so and I'll try to help you on my next break :)
  • Wrath
    Offline / Send Message
    Wrath polycounter lvl 18
    Binxx wrote: »
    Currently I'm working on a 3d rig in Maya and i was wondering if there was a way to inverse the attribute variables, the main problem i have is that i have a mouth control which is oriented to a mouth joint, however the mouth joint has revered variables, so when i lift my mouth control up, it gives me a negative variable and when i lift down it gives me a negative variable. If you can help me out on how to solve this problem it would be greatly appreciated.

    It's been a while since I've worked in Maya, but you shoudl be able to use any of the math utility nodes in your rig. Either 'Reverse' (if it's really in 0 to 1 value range) or 'Multipley Divide' node to invert your value.
Sign In or Register to comment.