PDA

View Full Version : Animation with constraints


AndreasBJ
05-29-2006, 05:03 PM
I'm working on a larger project, and I have come to the part of animating my main character. But it is not an ordinary character. Becuase my character is one of those wooden men you sketch after, it consists of a number of objects instead of being one object which skeletons can be aplied to.
Now i have used parenting on the character to make all the limbs stick together in the right order, so now I can move the torso and make the arms follow and so on.
Now to my problem: I can easily move the limbs and key them, but when I have to move the torso, which is the main parent, everything else follows (which is obvious) I would like to make the legs bend when i drag the torso down, just as if it was a skeleton having a central part moved.
I hope you understand what i mean.

If someone has an idea of what to do I would be pleased.

Andreas

http://www.industrieltdesign.dk/woodman4.jpg

dwigfor
05-29-2006, 05:30 PM
Create nulls at the joints (Hips and at feet), and then pos constrain the items to the nulls. Take a look at www.mesmer.com (http://www.mesmer.com) - they have a free pdf book that should help you out in setting up your hierarchy.

AndreasBJ
05-29-2006, 05:43 PM
Okay I'll give it a try.

mocaw
05-29-2006, 05:59 PM
Couldn't you also apply a 100% envelope per bone to each part? Basicly reassign locally on each part? I'm probably missing something here though...

AndreasBJ
05-29-2006, 07:38 PM
I can't seem to get it to work. When I position constrain the joints to nulls they are just fixed and not movable. Is there a way to make a skeleton of the character and get it to work?

I don't quite understand what you mean, Mocaw.

mocaw
05-29-2006, 10:11 PM
Normally when you envelope and object to another (in this case and IK or FK bone chain) XSI semi-automaticly sets it up to it's best guess. For soft body objects it's nice to have some falloff between two major bones, some overlap if you will, with their enveloped weights. This is often seen/uesed on a joint. On a model like your own, however, it is essential that there is NO envelope overlap and that they are rigid.

In XSI what you would do is select the object, say a forearm, select all it's points, then go and reapply the envelope locally to all those points by selecting the forearm bone. Then that arm is affecting ONLY that part.

Sbowling
05-29-2006, 11:39 PM
Why not just set up a normal bones skeleton and parent the parts of you model to it? Unless I'm missing something, you should have full Ik setup and no need to mess with weights or anything else.

mocaw
05-29-2006, 11:49 PM
Why not just set up a normal bones skeleton and parent the parts of you model to it? Unless I'm missing something, you should have full Ik setup and no need to mess with weights or anything else.

Even simpler! Good call.

Meteoro
05-30-2006, 12:00 AM
Why not just set up a normal bones skeleton and parent the parts of you model to it? Unless I'm missing something, you should have full Ik setup and no need to mess with weights or anything else.

If I'm not wrong this is what he is doing.
Maybe you can try the default biped rig at least as a guide to learn how it works.
And, as sbowling says, read about IK FK blending.

dwigfor
05-30-2006, 07:37 AM
I must have read his post wrong... I thought he wanted to be able to move his hips and legs independantly..

Mocaw, wouldn't that just slow it down, at least for playback, cause it needs to calculate the weights?

I'm still slowly learning rigging, so I could be entirely off on this.. But as to your second reply, I think you need to add a parent to your setup, so that you could move the parent, and it would raise both the hips and the feet. Otherwise, that stays on the ground, and you can animate the hips and feet independantly.

Take a look at the mesmer book; I believe it talks about setting up a hierarchy to do what you want to do.

AndreasBJ
05-30-2006, 10:11 AM
Thank you for all the inputs.

I'm new to bone set up and skeletons but have made some tutorials involving it.
What I'm basically trying to do is make this character ready for animation. When animating the beck character (in the XSI tutorials) i can move the hips around whitout the feet moving, because of the skeleton. I just thought that because my character was made of a number of objects instead of just one, it wasn't possible to make a skeleton.

But now I will try to do a skeleton. I just don't think i know how to envelope the skeleton to my character and get all the parts to funktion rightly.

AndreasBJ
05-30-2006, 10:48 AM
Okay now I have made 2D chains for both arms and both legs and parented the objects to the bones and i seems to work as it should. Now I just wonder if i should make a 3D chain for the upperbody or what to do with this?

Sbowling
05-30-2006, 11:38 AM
Okay now I have made 2D chains for both arms and both legs and parented the objects to the bones and i seems to work as it should. Now I just wonder if i should make a 3D chain for the upperbody or what to do with this?

Your best bet is to go through some rigging tutorials. What you want is a normal rig, but instead of enveloping the mesh, you are just parenting the objects to the bones. From what I've heard and read, you usually want to stick to a 2d chain, but there may be cases where you want to use a 3d chain.

If you just want a quick skeleton, you may want to use the basic man (get/primitive/model/skeleton-man-basic) and use the move joint/branch tool with snapping to match it up to your model.

You will still need to do things like setting up the up vectors, etc., so knowing something about rigging will still really help out.

AndreasBJ
05-31-2006, 09:37 AM
Okay..Now I have made an entire skeleton for my character and made all objects childs of the bones. But I still can't get what I need.

I studied the beck character from the xsi tutorials and found out that his legs roots where not a part of the entire parent (called the COG) instead they were attached to a hip_control object through clusters. Then this hip_control unit is a child of the COG. When the COG is moved, all the upperbody moves downwards and the legs bend, just like I want.

I tried to make an object and attaching my leg roots to clusters on this object and then making this object a child of the COG. But it still won't work. What am I missing. It seems like some constrain on the feet is missing but I can't figure out what. I really need some guidance because I have to start animating my character today. I have also read the PDF from mesmer, which gave me a greater knowledge but not the exact idea of what to do next.

dwigfor
05-31-2006, 07:56 PM
Try this:http://www.joncrow.com/tutorials/xsi_tuts/Character_rig/character_rig.htm . Also, take a look at the other rigging tutorials on www.edharriss.com (http://www.edharriss.com/)

3DQUAKERS
05-31-2006, 09:05 PM
If you're serious about rigging, you can check out RiggingPRO (http://3dquakers1.com/webroot5/index.php)

Sbowling
06-06-2006, 10:59 AM
If you're serious about rigging, you can check out RiggingPRO (http://3dquakers1.com/webroot5/index.php)

I have to say this is a great set of videos for setting up a character rig. While this is not a hard body rig, the techniques are very good and there are tons of tips that are usefull in any kind of rig. I'm actually going through it again as I type this. This rig also does not seem to suffer the occasional undo problems I've had with other rigs.



I tried to make an object and attaching my leg roots to clusters on this object and then making this object a child of the COG. But it still won't work. What am I missing.

Try constraining the end effectors of the lower leg bones (not the feeet) to a cube of a null and see what happens when you move the hips around.

mdee
06-06-2006, 10:35 PM
Okay..Now I have made an entire skeleton for my character and made all objects childs of the bones. But I still can't get what I need.


1. Draw 2 bones 2D chain
2. Cut effector of this chain
3. Set a key on transformations (press V and then K) on this effector
4. Grab a root and move around, see what happens.

By default, end effector of the chain is a child of the root of this chain. Child follows its parent when you move parent around. If you want feet to stick when you move around root, you need to cut the effector and make it independent and set key on it's transformation.

If you want you can copy and paste this code into the script editor and run it (it's javascript), it will show you the process


NewScene(null, null);
Create2DSkeleton(0, 3.53413849255583, 0.127201565557117, 0, 2.02650046526055, 1.12524461839469, -90, -33.5042071777172, -90, 4, null, null);
AppendBone("eff", 0, 0.420963864764268, 0.381604696672576, null);
SelectObj("eff", null, true);
CutObj(null);
SaveKeyOnKeyable("eff", 1, null, null);
SelectObj("root", null, true);

Sbowling
06-07-2006, 02:03 AM
By default, end effector of the chain is a child of the root of this chain. Child follows its parent when you move parent around. If you want feet to stick when you move around root, you need to cut the effector and make it independent and set key on it's transformation.


This only seems to be true when parenting. If you use a constraint, this doesn't seem to be a problem. You also have the advantage of being able to keep your constraining object out of the object hierachy, so it's real easy to find in the explorer (not a big deal, but still a plus).

CGTalk Moderation
06-07-2006, 02:03 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.