Home Technical Talk

How do I set proper local rotation axis for A-posed arm joints?

hey folks,

I am currently teaching myself in character rigging while working on an educational project. So far I’ve been following the official character rigging tutorial from the maya learning channel on youtube. See the list of videos included in the tutorial here.

Now it comes to the part where I want to create joints for my characters arm. As explained in the tutorial series, it is important to have proper local rotation axis for all joints in order to keep constraining and animating as simple as possible later on.

For the character model in the tutorial series it is quite simple to retain intuitive local rotation axis. As shown on the screenshot below, you can see that the x-axis is pointing down towards the next joint, the y-axis points down and the z-axis points straight to the back. This is good because rotating the first joint on the z-axis allows to rotate the arm down. Rotating the first joint along the y-axis makes it possible to rotate the arm forward. You get the point…


This is working fine, since the character is modeled in a pretty straight T-Pose. This leads me to my actual problem. As you may have guessed, the character I am trying to rig is modeled in a more relaxed pose.


When I try setting up the arm joints and their respective local rotation axis, I end up with a very complicated and unintuitive combination of axes looking something like this.


From this point on I am probably lacking of deeper knowledge and a better understanding of local rotation axis, rotation orders and the over all rigging process to come up with a fine solution and go on developing my arm’s rig. I don’t even know if these local rotation axis might be good for what I am trying to do, but it kind of feels just not right to set up a rig this way. That’s why I am trying to find more answers here, since I couldn’t find any related articles or posts yet.

When thinking of possible solutions or workarounds, the following points come into my mind:

  • Is it a common way to create rigs in a relaxed pose?
  • Is it possible to create the rig in T-Pose to avoid the problem and bind the model later on even if it is modeled in a relaxed pose?
  • Are there any bulletproof and commonly used techniques or solutions to my specific problem that I am just not aware of?

Please bear with me, I might just stand in the tub. But if you have any ideas or more know-how than me, I would really appreciate any piece of help. You can find my maya scene file in the attachments.

Thanks in advance!


Replies

  • Mark Dygert
    martenzander said:
    • Is it a common way to create rigs in a relaxed pose?
    • Is it possible to create the rig in T-Pose to avoid the problem and bind the model later on even if it is modeled in a relaxed pose?
    Yes, it's very common.
    I think that tutorial just tried to make things simple and in doing so made things more complicated than it needed to be. 

    Here are some other tutorials that go through the process with the arms in an A-Pose.
    https://www.youtube.com/watch?v=cOokoFED7QE
    https://www.youtube.com/watch?v=TCANe5sZJ7o

    Most rigging is done in local space in relation to that particular chain of joints, so as far as that chain knows, it's facing flat. Even if it is facing upside down or twisted at an odd angle, when you ask that joint chain which way is up, it knows only one way and doesn't give a flying monkey turd which way is up, in world space. 

    Sometimes you control this by putting something in a group and that group holds the transition from world to local space. It lets your parts think they are zero'ed out. But more often, you just use "Orient Joint Options" to make sure the joint pivots are facing at their children on a particular axis and that they all think up is another axis. OR you mix the two to get what you want

    There are a lot of different ways to rig something up.



    martenzander said:
    • Are there any bulletproof and commonly used techniques or solutions to my specific problem that I am just not aware of?
    I think it's important that people know how to rig manually because you never know when you'll encounter something that requires manual rigging. BUT once you can do that confidently, I think it's ok to use rigging scripts to automate the process, or start to create your own scripts that speed things up.

    Some of my favorite autoriggers are...

    Advanced Skeleton:
    https://www.animationstudios.com.au/advanced-skeleton 
    • I use this script for 95% of my rigging needs. 
    • It's modular and works off of a "fit skeleton" principle where you lay out a small set of joints and it builds the complex pieces and options based on joint names and labels. Bipeds, quadrupeds, bird wings, dinosaurs, snakes, spiders, bugs whatever. Layout the joints, click build. 
    • It's basically what anyone would make if they started automating the rigging process.
    • It does a good job of creating the final skinned skeleton and can generate an Unreal Skeleton and transfer the skinning back and forth. 
    • It does a bang up job of creating really complex systems IK/FK limbs and spine, with various parent spaces, look-at systems. If you need to re position a joint, you jump back to the fit skeleton, move it and rebuild. All of those complex systems recalculate and are built in seconds. If you had to do that by hand it could be hours of work and you might royally muck something up.
    • AS is also freely available with good terms if you ever do end up using it in production. I've spoken to the creator several times, the guy is amazing and has put features in place 

    The Setup Machine:
    http://www.anzovin.com/tsm3
    • This comes in a close second for me. I really like it in theory and I've only heard good things about it but I haven't actually used it in production. Still I know enough people that do use it daily that I would trust it.
    • Great for Biped and quadruped but I've only ever tested their biped workflow. It was simple and easy to go through and built a great rig.
    • It's fairly modular but mostly focuses on Bipedal characters.

    Maya Quick Rig:
    https://www.youtube.com/watch?v=o1L3Unmm588
    • Don't expect much in the way of controls or flexibility, it won't do much more than what it shows you in the 5min video.
    • Its main strength is that it leverages HumanIK which is pretty much Motion Builder (lite) stuffed into Maya.
    • Great for posing characters and making a quick rig to test out something like skinning, joint placement or to dump pre-done animations onto a specific mesh. 
    • If you pass that to just about any animator and ask them to hand key quality animations, they're going to probably toss it back in your face and ask for a laundry list of features that they depend on. Still, it's good to know and to use when appropriate. 
  • martenzander
    Mark Dygert  thank you very much for your feedback! As far as I understand you, there is no single and correct solution. As long as one of my local rotation axes points to the next nested joint, they can not be too wrong, right?

    Since I posted here, I continued the tutorial with my current local orientation axes set up. So far features like FK/IK Stretching and Elbow Snapping work as expected. The only difference I noticed so far is, that I had to tweak the position of my elbow's pole vector constraint a little, so my elbow isn't jumping as soon as I add the constraint. I guess that was an issue due to my slightly pre-bended arm.

    However like you said:
    I think it's important that people know how to rig manually because you never know when you'll encounter something that requires manual rigging. BUT once you can do that confidently, I think it's ok to use rigging scripts to automate the process, or start to create your own scripts that speed things up.
    I probably just could have used one of those quick-rigs to match my rig requirements, but since I want to learn more about how rigging works and I also want to add more features to the rig later on, I think it is a clever decision to jump in that cold water and figure things out by myself.
Sign In or Register to comment.