eek
04-29-2007, 12:51 AM
Ive been thinking about this for the pat 2 weeks or so, the rig I have and have used for many years well the idea of it is very simple; a general system: hips, chest, head independance and no counter rotation (hopefully). Ive been talking to animators about relativity - and most prefer the idea of keeping things seperate in there own transform space but also need the ability to transform them into new spaces on the fly, keyable and without popping.
A good example of this would be the arms for instance, the ability to transform them into the torsos space or the chest space when you want. Now yes you could do this with a blend but essentially you blending two spaces without any relativity to the arms themselves i.e the arms will slightly rotate between each space: chest/torso as its just a constraint relative to its original transform.
Now one method is to make a rollout tool with a transform dialog, [x,y,z] so you could transform any object about any other object transform. The problem with this ofcourse is that its in world space - it has to be. And if you where to do this in a realtime method for instance using a when handler, the problem would be the transformed object would always get world transform keys even if you werent keying it.
One method i was thinking is a simple snap method, using the blend method, but also integrating a transform offset difference added onto the constraint. For example you press snap, and it stores the transform space of the arm to its target at that point on that frame, also switches the blend. But because you know the difference you could key the blend with no pop whatsoever.
Storing this transform space offset is another matter - i guess you could just key the arm ontop? with the difference if its happening over 2 frames. Even if its not for instance with a slider, on mouse down you could store the tm space difference and blend it onto the arm inconjuction with the actual orientation constraint.
Is anyone doing anything like this? I know when handlers wouldnt probably work because its always gunna key its world transform relative to a target, so you'd get keys you wouldnt want. The other issues that could happen is drifting of animation space.
Im kinda treating rigs nowadays as layers of systems, and modularity is the key.
A good example of this would be the arms for instance, the ability to transform them into the torsos space or the chest space when you want. Now yes you could do this with a blend but essentially you blending two spaces without any relativity to the arms themselves i.e the arms will slightly rotate between each space: chest/torso as its just a constraint relative to its original transform.
Now one method is to make a rollout tool with a transform dialog, [x,y,z] so you could transform any object about any other object transform. The problem with this ofcourse is that its in world space - it has to be. And if you where to do this in a realtime method for instance using a when handler, the problem would be the transformed object would always get world transform keys even if you werent keying it.
One method i was thinking is a simple snap method, using the blend method, but also integrating a transform offset difference added onto the constraint. For example you press snap, and it stores the transform space of the arm to its target at that point on that frame, also switches the blend. But because you know the difference you could key the blend with no pop whatsoever.
Storing this transform space offset is another matter - i guess you could just key the arm ontop? with the difference if its happening over 2 frames. Even if its not for instance with a slider, on mouse down you could store the tm space difference and blend it onto the arm inconjuction with the actual orientation constraint.
Is anyone doing anything like this? I know when handlers wouldnt probably work because its always gunna key its world transform relative to a target, so you'd get keys you wouldnt want. The other issues that could happen is drifting of animation space.
Im kinda treating rigs nowadays as layers of systems, and modularity is the key.
