PDA

View Full Version : To gimbal or not to gimbal


goosh
02-18-2003, 11:39 PM
Hi all

Just a little question to see what most people would prefer.

We all know and hate gimbal locks. So here is my question.

Would you rather have to deal with gimbal lock or have to select another controller (or attribute) to control the extra rotation (say the twist in the arm) so that you don't get gimbal lock?

Here is the set up:
Gimbal:
FK and you can rotate on X Y and Z (Y bewing your twist)
Pro: easy and quick.. everything is controlled by the rotate tool
Con: you'll get gimbal.

No gimbal:
You have an extra attribute called Twist and you can only rotate in X and Z and when you want to twist the arm you have to do it by selecting the "Twist" attribute

alternatively:
You have another joint on top of it that rotates only in Y.

Pro: no gimbal
Con: you have to select another joint (or the Twist attribute) to get the arm in the position that you want it.

I hope that makes sense.

I find that gimbal only occurs on the waist and the shoulder.. the wrist even though it can rotate on all three axis, because of the nature of the wrist that can't rotate that much is not that much of a problem... the rest of the joints also rotate don't rotate as much so no gimbal occurs..

So.. my origianl question: which of the two set ups would you rather have?

Gimbal or no gimbal but having to select an extra attribute to get the desired pose?

Goosh

bentllama
02-19-2003, 01:09 AM
the less I have to select, the faster I animate

I don't want 50 controls if 1 will do the same thing...even if I have to care about gimbal...if gimbal occurs I either use the code below or use an extra transform above my gimbal node that I can quickly pickwalk up to...



// EULER: THE FUGITIVE

// CATCH DR GIMBLE!!!

// list animCurves in scene
string $drGimble[] = `ls -typ animCurve`;
// EULER filter on curves
filterCurve $drGimble;



besides, if you are working in games now your engine could be using quaternions...so gimbal is no bother, 'cept when you animate...

Octagon
02-24-2003, 12:24 AM
Originally posted by bentllama
the less I have to select, the faster I animate

I don't want 50 controls if 1 will do the same thing...even if I have to care about gimbal...if gimbal occurs I either use the code below or use an extra transform above my gimbal node that I can quickly pickwalk up to...



// EULER: THE FUGITIVE

// CATCH DR GIMBLE!!!

// list animCurves in scene
string $drGimble[] = `ls -typ animCurve`;
// EULER filter on curves
filterCurve $drGimble;



besides, if you are working in games now your engine could be using quaternions...so gimbal is no bother, 'cept when you animate...

bent, how does that function curve filter of maya interact with the other rotation fcurves? i never used it since i havent run into serious gimbal trouble, mainly because i didn't do so much char anim in maya already (and because the rigs i used where properly build unlike mine ;) )

i mean, it sound good, but then again. how is that filter going to fix the euler issue? if you have an extreme orientation there's no way of getting to the orientation you want without wreaking havoc on your fcurve values on the other two axes that compensate the axis that is going into gimbal mode.

so what good does the filter do?

i personally like the extra transform node approach. it's very easy to do a quick control+g (group) for your control that has gone into gimbal.

matthias

pete
02-24-2003, 03:17 AM
Hi guys,

I'd have to say Gimble Goosh,
I arsed about with all sorts of crazy solutions for the wrist twist problem and in the end found that gimble was probably the best even though it seems a bit anoying......

In Max 4, they don't even show the Gimble rotation so I had no idea, but now Im working in Max 5 and Maya 4.5 and really focusing on Character animation so I have to deal with it.

I still have a bit of trouble with setting the best rotation order though...

bentllama
02-24-2003, 07:11 AM
octagon:

that function does not affect any curves that do not have values outside of a normal range...

take a sec and read this quote from my earlier post...
...if gimbal occurs I either use the code below or use an extra transform above my gimbal node that I can quickly pickwalk up to...

note that I use the funtion to remove minor gimbal where I can still rotate my object with enough freedom in all 3 axis'

when it comes time that I have one axis all bunged up and not able to rotate further, then I use the grouping method or already have placed nodes in the heirarchy to animate...

jschleifer
02-24-2003, 07:34 PM
I do pretty much the same that bentlama does... however, the filter command doesn't always work for me for some reason in 4.0.. haven't tried it in 4.5.

Has something to do with the rotation orders not being xyz, methinks..

bah.

I think we should name it GIMP-al

-jas :)

Octagon
02-25-2003, 12:19 AM
bent and jason, thx for your input.

i'll try the "catch dr. gimbal" code when he's near by ;)

matthias

dantea
02-25-2003, 04:43 AM
Doesn't 4.5 have Quaternion curves? Does anyone know if it's better than TCB controllers?

joie
02-25-2003, 09:59 AM
Well, I use the easy way, or the "technically easy" way however..., I use FK rotation and a "twist" attribute to twist the wrist, you have to make two processes but is the easiest way to me to do it.
I prefer that way, sorry :)

CGTalk Moderation
01-14-2006, 11:00 AM
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.