Home Technical Talk

[Maya][Rigging] other ways of getting control and joint alignment to match?

ben_chang
polycounter lvl 5
Offline / Send Message
ben_chang polycounter lvl 5
Hi,

I'm curious if anyone has other methods of accomplishing, or explaining, the "Make The Control And Joint Internal Axes Match Up So The Joint Doesn't Flip Out When You Orient Constraint" techniques.   To prevent the problem when, for example, making FK controls for wrists, elbows, shoulders, etc, where the orient constraint causes the joint to flip 90 degrees.

I habitually use what I guess is a common method?
  1. Make a buffer GRP
  2. Orient Constrain JNT->GRP
  3. Delete orient constraint on the GRP
  4. Parent CTRL to GRP
  5. Freeze Transform on CTRL
  6. Orient Constrain CTRL->JNT. 

It works fine.  But, I don't really understand why, at least not to the level of being able to find a visual representation or the numbers that represent why the problem happens, and what is changing in Step 2. 

So, I find it kind of tough to teach this method because for some students it just seems arbitrary and counterintuitive, and therefore hard to remember the steps. 

Is there another technique for doing this that's more intuitive? 



Replies

  • antweiler
    Options
    Offline / Send Message
    antweiler polycounter lvl 8
    Why do you want to match the orientations of the joints and the controls? While the joints orientations may have their own requirements, the controls orientation should be chosen for the comfort of the animator. I never had any problems with flipping orientconstriants in a simple setup like ik-fk switching.
  • ben_chang
    Options
    Offline / Send Message
    ben_chang polycounter lvl 5
    I just meant this basic problem:



    it's all good though, my wife told me a better way to do it:

    - just use Match Transform on the buffer Group node above the control curve
    - you do this on the group, not the control, because it will copy non-zero rotations into it and you want your control to be zero-able (not sure I understand why Freeze Transform doesn't work in this case, but it's ok)
    - and make sure the control is created with its primary axis the same as the primary axis that points down the bone from the joint you're going to control.



  • Zodd
    Options
    Offline / Send Message
    Zodd polycounter lvl 11
    Been a long time since last time i rigged stuff but i think i can shed some light on whats going on with "buffer groups"

    You have a bone and you need control curve to drive that bone and as antweiler said the end result should be chosen for the comfort of the animator so it's really not standardized :smile:
    Also your wife is right :smile:
    What is happening essentially is because the controller is inside the group, its rotation is relative to the parent (like bones) and since you've only oriented the group, and not the controller inside the group its transforms are zeroed out, so its already "frozen"
    Now if you try and un-parent the controller you would see that it has some rotations, which are the exact ones that the group had, now if you have some transforms to freeze.
    TLDR;
    You are essentially translating/rotating the coordinate system in which the controller operates :smile:

    Cheers, and happy rigging



Sign In or Register to comment.