I find that many Max users, even some quite advanced ones, do not use instanced controllers to their best advantage - if at all. Here I present an extremely simple way to animate a long chain like a neck with a single instanced Orientation Constraint controller.
The Trick's.
There are two tricks to getting this to work
1. The first trick is to parent every vertebra to a helper at the same location and orientation and then link these helpers to the next vertebra… as shown in the hierarchy here…

Here the objects ending with "_p" are the point helpers that are exactly aligned with the vertebra linked to them…. The result is that in the initial pose all the vetebra are in the same orientation (in parent coordinate space) which is zero rotation.
2. The second trick is to apply a single Orientation Constraint controller to all of the vetera. The parameters are in local >> local coordinate space (which means parent coordinate space for liked chains) and the target is a helper which is also exactly aligned with it's parent - so everything has zero rotation when it is set up.
You apply the Orientation controller to a single vertebra first from the Motion Pannel like this…

…and then you make a copy of the rotation controller in the Track View and paste it as an instance on all the other vertebra like so…

How to use it - and how it works:
Nothing moves when you set it up at first because everything has zero rotation in it's parent coordinate space… As you rotate the one helper that everything is oriented to all the vertebra rotate by exactly the same amount. As they are all linked via the point helpers you get a progressive rotation along the spine - with each segment contributing an equal amount to the overall rotation. This is extremely simple and fast to set up. It is very fast in operation as there is a single instanced controller for the entire neck… and it's very easy to control - you have all three orientations in a single point helper at the base of the neck. Neat Hey?
How it can be improved.
I have resisted complicating this… we have used this method extensively with the one addition of having two orientation targets. One for the base and one for the top of the chain. We then have individual Orientation Controllers with different weights to get a blend of control for the top and base of the chain.
What it can't do.
You cant get a true twist along the axis of the chain like this… in fact there is no simple way to get a realistic twist. You need to delve into script controllers to be able to get much better motion. We have found that you either do this simple method or jump straight to full blown script control.
…Anyway. I hope that helps people see just how powerful a simple combination |