Rotation Order and H-anim


#1

Hi
I’m trying to rig a character and then animate and do some other stuff on him as a part of my bachelor’s.Thing is I’m supposed to rig the character using the h-anim standard for the joints and some other geometry controls which kinda makes things difficult for me as I’m trying to follow digital tutors video tutorials and also adjust them to have a correct effect in the h-anim joint hierarchy instead of the usual simple one or the one digital tutors use for their humanoids.
Anyway the problem is that while I’m trying to make this work the rotation order of the joints is the one thing i can’t seem to get right.
I’d like someone to tell me what is the right and tested way to do things because I need to progress in the overall project and I’m tired of redoing things.
So far I’ve used this(y-down).But I’m not entirely confident for the result.


#2

Keep it simple dood…
Keep your order XYZ
The most important thing…
Is to orient so that the twist happens along the X and the most extreme angle of rotation is along the Z
In XYZ order the Y axis will cross the X and Z… Orient your transforms so that y is the plane with the shortes range of motion :slight_smile:
Good luck!!


#3

a couple of questions…
1)it’s best if the whole joint chain follows the same orientation right?

2)by that you mean,X follows the bone,Y is the up vector and Z goes to the side?

I don’t really know what it means when you say XYZ or YXZ…I know it’s about orientation and the order of the letters has the meaning of where to put each axis but I haven’t figured it out yet.

I saw a video where Delano is rigging a face and he uses Y to follow the bone X to point up and Z to the side.If I was to use that for the rest of the body how would that be different from the order you are saying?(just asking for an explanation to get this…i’m a bit confused by the different opinions about orientation i find here and there)

thx


#4

Euler order has nothing to do with the physical orientation of the joints.
It had to do with the order in which the program will stack x y and z angles to get a particular orientation.
To better understand this…
1)make a locator
2)set the rotation tool to operatate in gimbal space
3)rotate the individual acess to see how gimbal axis start to cross.

In euler order xyz axis x has no effect on any of the other axis becuse it is the first axis being solved. Y will pull x but have no effect on z and z will pull both x and y.
Do a google search on gimbal lock or gimbal rotation.
Once you understand why gimbal lock accours knowing how to aligned your axis will be easy.
Good luck!
Cheers,
Los


#5

Okay I checked out the gimbal lock and understood the principle,let’s say i know what order to use…do I just go to the Root joint and Skeleton->Orient Joint []?That way for the spine half of the joints have the orientation i was picturing and the middle half have one axis to the opposite side.Or do I fiddle with the rig and do what I told you about in the above post?Make sure the axis I want goes to the bone,the up vector axis showing one way(preferably up or even outwards) and the last one to the side but to the same side?

At the time of the previous post I had done the second way.Every joint has one axis parallel to the bone,one going up or outward and the last to the side.

Also is there any way to swap this new skeleton with the old one?Without having to redo every handle control and constraint from scratch?(I already made a thread for it but you are the only one answering so far:P)


#6

using joint orient should be fine.
that would align your x axis properly (along the twist axis) assuming you keep the primary Axis as X, keep in mind this will not orient the last joint on the chain (the knub). as far as the orientation of your other axis that pretty much up to you… and what you need to get out of the setup… if this was a standard biped spine for a character i would set Z to point to the side of the character let’s say that the z axis would always put to the right… but this only matters to objects that are being key framed not objects that are being constrained…
anyway i don’t suggest that you have the y or z axis point in opposite directions in the same limb… unless you have a very strong logical reason to do so…

as far as fixing or rebuilding your setup, well try fixing it first i guess… but don’t be surprised if some of your constraints, specially orientation constraints, start flipping and popping.
unfortunately the more complex your setup is the more likely offsetting this orientation are likely to create unwanted offsets that will throw your entire setup off…
this is one of the reason why scripting some of this setups is greatly advised… seance making changes and rebuilding the setup become much faster and less destructive…
anyway good luck :slight_smile:


#7

I duplicated the skeleton yesterday and used the same orientation order(YXZ that Delano used for the head) in all joints.I tried to do everything from scratch in case there is no other way,doing the leg controls and handles and stuff went well but when I got to the spine where I used the spline handle it got ugly.Unfortunately the orientation of the joints was very different from the world orientation and when I used some of the control vertices and tried to move them on all axes instead of curving forward and downward that I wanted it curved to the side.I’m thinking of using the order you proposed but is it going be the same?Is there sth I’m overlooking?

Also I’ve thought about scripting but it would take a lot of time to learn MEL since I’m in my last semester and this is my bachelor’s thesis.Sure it would be better but no time.At least redoing things gets easier since there aren’t that many things I need to do in comparison to professional rigs.


#8

I’m guessing you’re using a spline IK solver?
if so did you setup the “world Up object” and “world UP object 2” parameters under “advanced twist controls”?
what does the spine joint placement look like? can you post a pic?
cheers,
Los.


#9

darn…i accidentaly saved an attempt to change the order to XYZ as you suggested to the wrong file.this really isn’t my day.

yes i was using a spline IK solver.no i didn’t change anything in the default settings for the solver.would it have been saved if i had used a couple of locators for example as objects in the advanced settings?


#10

Well by default the spline ik use the world to keep the joints aligned…
So if your rigg is turned up side down and the spline I’m is using the world to orient is self it will flip in an undesire way.
So you will alway want to drive those to parameters with your own objects.


#11

Since my save was broken I redid the skeleton orientation to XYZ and did everything up to the spline in a jiffy(one good thing about redoing things…you get faster each time).And this time the control vertices went smooth.One question though…when I use joint orient in the Root joint which in turn is gonna orient the entire spine…why is it that half of the joints have the one axis to the side facing right and the other half facing to the left.So far every time the lower to mid way joints of my spine are facing to the side but left.

here’s an image


#12

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.