Wednesday, September 15, 2004

stop in production

as if you haven't noticed .... my postings have stopped since February as I have returned to work full-time. I'm hoping to be able to get back into the animation of this moose film and am upgrading to XSI 4.0 ... I had been using 3.5 ... more to come (soon I hope).

Tuesday, February 03, 2004

I know its been awhile ... I'm still at it... The timing between the canary and tiger is proving difficult ... I think I'm going to have to bite the bullet and upgrade my graphics card ...

Tonight I am trying to store a constraint ... specifically the phone, which is at one point constrained to the moose's hoof, then is animated "freely" then is constrained to the tiger's paw ... its the animation on the constraint offset that isn't getting stripped off when I store the action, so the rotation isn't working .... grrrrr .... think I'll just use a position constraint and rotation fcurves rather than trying to use the pose constraint ...

Tuesday, January 06, 2004

mixing animation and constraints

The animation of the tiger brought out a few issues when trying to mix constraints and animation ... for example the tiger's stripe needs to be constrained to his head, until he reaches up and pulls it off, at which point it should be constrained to his paw, until he puts it in his mouth when it needs to be constrained to his tongue. This was causing me many problems (mostly with offsets, scaling and rotation) I wasn't able to get them right. Actually, the stripe is the most complex since it also changes shape when it comes off the head, so there is shape animation to mix in as well.

I made a simpler setup to figure out where I was going wrong. Here are the rules that have come out of the simpler setup (although they don't seem so simple ;o):

> constrained objects (to be mixed between different constraining objects) should be immediately beneath the model (not deeper in the hierarchy, else the parent/child relationship will affect the behaviour)
> for constrained objects that are on skinned objects, you need to use a 2 constraint setup ... first use a null as an anchor to a cluster on the skin (null constrained to cluster) .. make the null the child of the closest bone in the skeleton (this will keep the orientation correct .. if you only use the object to cluster you won't get the rotation constraint).. then constrain the object to the null using a pose constraint (or position and orientation if the scaling freaks out using a pose constraint)
> before creating the constraints, make sure the centers of the objects are correctly placed, otherwise you may end up with objects jumping ... if you do, check the location of the centers of your objects (should only happen when there are offsets)
> scale seems to mess up... use position and orientation constraints rather than pose (or possibly freeze the scaling on the constrained object if its not too late)
> don't forget to set extrapolations for the first constraint (to hold before) and for the last constraint, to hold after ...