View Full Version : bone flip

05 May 2007, 03:59 AM
I have an arm setup with a twist bone in the bicep, which is a floating bone, not part of the hierarchy.
I am using a point constraint to link it to the bicep bone, with an orient constraint on zy, so it will rotate on x.
I have used the expression
joint1.rx = 0 + L_UpperArm.rx /2; to rotate the twist bone half of the main bone. (joint1 is the twist bone)
All seems to work fine, until I rotate the arm on Y above the shoulder and it flips.

Any ideas to fix the flipping problem?


05 May 2007, 12:42 PM
mm... there is an option on the Orient constraint where you can change the Interpolation Type ... I think in that situation "Average" works ok. /I`m not infront of Maya so I don`t remember if that was the default one/ Although I haven`t found a decent exxplanation for what these types of Interpolations mean. Hope this will help.

05 May 2007, 03:30 AM
I think a problem stems from the use of the divide by 2 in the expression and the value returned by the orient constraint. When the constraint needs to rotate its value may change from positive to negative, but you dont notice since -90 is the same orientation as +270. However if you divide that by 2 then -45 is quite different to +135, and your twist joint will flip.

This has been a problem I have encountered, and I would love to know how you solve it. (Set driven key has worked for me, but I hate having to set it up like that)

-- David

05 May 2007, 06:16 AM
what I do for my twist joints is parenting them to the forearm bone and orient constrainting them /only on the twist axis/ to both the forearm and the wrist joints. That way you can blend the weights for how much twist you want to occur.

05 May 2007, 10:29 PM
I figured a better way around this to fix it. I am using a bone linked to the upper bicep instead of floating, and using a different expression...

06 June 2007, 05:15 AM
Ok.. here it is ... LeftBicepTwist.rotateX = LeftBicepArm.rotateX * -.5; is half.. I think I actually used .3 on this.
This is a bone directly connected to the upper arm with its orientation aligned to the upper arm explicitly.

scroll-lock is correct on a forearm joint but on the shoulder this way seems to work best without any flipping problem. (yes,.. pun intended) Forearms do not need to rotate on every axis thus his setup works perfectly on the forearm.

This setup for the shoulder requires no orient contraint or parent constraint.

06 June 2007, 05:35 AM
By the way, djx.. thanks for recompiling comet cartoons stuff :)

CGTalk Moderation
06 June 2007, 05:35 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.