When doing a twist setup to distribute the rotation uniformly there are some important things to consider. Following are some notes from my experience while working on forearm and shoulder twist setups.
-> Twist cannot be associated with any single axis. Due to the nature of Euler angle, based on your rotation order axis that twist the joint could change.
For example,
A shoulder joint with zxy rotation order in rest position will twist around x-axis. But if you bring shoulders in front by rotating on y axis, now the z-axis is responsible for twist.
Hence, we cannot plug one axis from shoulder joint to the twist joints. Of course we can plug all three axis and it may work, but that's really not the elegant solution. Inspired by this tutorial, I think Aim constraint is the most elegant solution so far.
->Another issue is the source of twist and in which direction its propagating. For example, for forearm twist, rotation originates from the wrist joint and propagates towards the elbow joint. So the direction is from a child joint to its parent joint. However, in shoulder twist the direction is opposite, twist propagates from parent to the child joint. This changes the equation of how to make twist joints inherit motion from shoulder joint and dampen the rotation at the same time.
Depending on the project sometimes I don't have time to setup a complex twist in the arm and so I do use a single twist axis driven by math. Part of the process of setup should be picking the appropriate rotation order so that the twist axis is pointing in the correct direction. If zxy is your rotate order, then z should be pointing down the chain, that way it will still be pointing down the chain whether your rotate y or x. I admit, problems occur if the animators use world or local settings for their rotate tool. When gimbal lock is achieved the rotate tool might not rotate the twist axis but the one that is locked on top of it. If they keep the rotate tool in gimbal mode they can be sure that they are twisting the correct axis though. Great observations though. I think you are on the right track with your single chain IKs that you mentioned in your other post.
ReplyDeleteHey David, you are right. A good rotation order will solve one axis twist in most cases (my example image does not have the right order) and as long as animators work in gimbal and rotate the right axis it should be fine. But from my animating experience in many cases I start getting twist using two axis instead of one when two axis start coming closer in gimbal. But in the end if deformations look good I don't think it matters how twist is achieved. Simplicity is always welcome.
ReplyDeleteMy main concern though is the flipping issue if orient constraints are used with a single axis twist setup. It happens generally when arm is pointing more than 90 degree towards front.