View Full Version : moving character with rudimentary rig
acorn
08-10-2008, 04:55 PM
Hi,
I've animated a character with a rig that I made up. Its just an X with the roots in the middle of the character and the effectors at the corners.
I made a walk cycle with this and then tried to move the character forward and it implodes, like the effectors are stuck in place.
-The skin is enveloped to the "rig"
This seems to me the reason why this happening. But I've tried freezing the weights and Freezing the modeling and just Freeze--doesn't work
I made the character into a model hoping that I would get the model node which would include everything under it, didn't work.
here's a screenshot, I hope someone can help me out with this.
562
Thanks,
acorn
The effectors are indeed stuck in place because you have set keys on the global position instead of local position, somehow.
acorn
08-10-2008, 08:15 PM
The effectors are indeed stuck in place because you have set keys on the global position instead of local position, somehow.
thanks for the reply,
I did animate with the Global Position, but it was intentional, I remember now that your supposed to always animate with the local but I also remember that Global supersedes anything else.
thanks for pinpointing the problem, I then looked in the guide a bit and found this:
Local Transformations
While you can animate either the local or the global transformation values, it’s usually better to animate the local transformations . This is because you usually animate relative to the object’s parent instead of animating relative to the world origin. Animating locally lets you branch-select an object’s parent and move it while all objects in the hierarchy keep their relative positions.
When you activate a tool in the Transform panel, the corresponding local transformation parameters are automatically marked for animation, assuming that you usually want to animate this way. You can then immediately key these values (see Animating with Keys (http://community.softimage.com/keys.htm#Rcr19094)) without having to manually specify what you want.
Global Transformations
The global transformation values are the final result of all the local transformations that are propagated down the hierarchy from parent to child.
• If you animate the global transformations, it does not matter if your objects are in a hierarchy or not. Nothing is inherited if you have global transformation keys because they override any parent-to-child inheritance.
• If you want to animate global transformation parameters, you must explicitly mark (and lock) them in the marked parameter list or the Global Transform property editor (see Marking Transformation Parameters (http://community.softimage.com/ani_xform_MarkingTransformationParameters.htm#Rho6 5124)).
• If you always want to manipulate and key an object globally (not have it altered by its parent transformations in any way), you can change how the inheritance works on the Options page in the object’s Local Transform property editor. See Changing the Animation Inheritance (http://community.softimage.com/ani_xform_AnimatingTransformationsinHierarchies.ht m#Rho72210) for information.
I might, after looking at this, be able to fix the problem without animating it again, which is what I hoped for...
I'll post again if I find out more.
-acorn
thanks for the reply,
I might, after looking at this, be able to fix the problem without animating it again, which is what I hoped for...
-acorn
Remove the animation/translation of any parents (so it's in the original position you keyed the global transform in for the poses you wanted), then key the local transform where you set the keys on global transforms and then delete the global transform keys, and all should be well.
You nearly always key the local transforms otherwise you run into problems like this. Sometimes you might want this behavior though (for other reasons), and its awesome to have the option, but all the default keying settings are for local transform, and its best to do it that way.
If you aren't using the keying panel already, seriously consider adding it into your workflow, as it is a much better way of checking keys/marking sets and values while animating a character.
acorn
08-11-2008, 04:33 AM
Remove the animation/translation of any parents (so it's in the original position you keyed the global transform in for the poses you wanted), then key the local transform where you set the keys on global transforms and then delete the global transform keys, and all should be well.
Well... I fortunately had saved scenes sequentially with even minor changes so that I went back to just before I had animated it.
What I did was just animate the effectors with local transformation. I then parented all the roots to one Null (box icon) and animated the Local transformations of that to get the forward motion.
564
You nearly always key the local transforms otherwise you run into problems like this. Sometimes you might want this behavior though (for other reasons), and its awesome to have the option, but all the default keying settings are for local transform, and its best to do it that way.
If you aren't using the keying panel already, seriously consider adding it into your workflow, as it is a much better way of checking keys/marking sets and values while animating a character.
I actually made a custom property set with all the Global transforms on it originally. The second time around I just methodically posed and keyed the effectors one by one. I checked quickly if I could add keyable parameters from multiple objects and it didn't appear that you could. I'll have to look at it more in depth. Below is a snippet of a page in the guide where they explain what the problem that I was encountering is, I think.
Thanks,
-acorn
Animating Transformations in Hierarchies
Transformations are propagated down through hierarchies. Each object’s local position is stored relative to its parent. It’s as if the parent’s center is the origin of the child’s world.
Objects in hierarchies behave differently when they transformed, depending on whether the objects are node-selected or branch-selected. By default:
• When you branch-select a parent object and animate its transformation, the animation is propagated to its children.
• When you node-select a parent and animate its transformation, its children are not transformed unless their respective local transformations are animated. For example, suppose the child’s local translation is animated but its rotation isn’t: if you translate the parent, the child follows; however if you rotate the parent, the child stays in place.
This is because animation on the local transformations is stored relative to the parent’s center. You can make unanimated children follow the parent with the Constrain > Child Transform Compensation command (or ChldComp button) on the Constrain panel (see Transformations and Hierarchies (http://community.softimage.com/transforms_TransformationsandHierarchies.htm#Rax46 846) in the Transformations guide).
• When you animate a child object, its animation is always done relative to its parent (local animation).
• When you animate anything in global, it’s always done in relation to the world origin: it does not matter if your objects are in a hierarchy or not. Nothing is inherited if you have global transformation keys because they override any parent-to-child inheritance.
vBulletin® v3.7.0, Copyright ©2000-2008, Jelsoft Enterprises Ltd.