Rigging legs = problem

Become a member of the CGSociety

Connect, Share, and Learn with our Large Growing CG Art Community. It's Free!

Thread Tools Search this Thread Display Modes
Old 01 January 2013   #1
Unhappy Rigging legs = problem

I've been trying to figure out how to rig a model in XSI, and everything works fine except for the legs.
I've made a low-poly boxmodel that I'm using to move the skeleton. I've orientation constrained the bones to the right parts of the boxmodel, and so far, that worked out. The parts of the boxmodel are parented to each other the way the bones of the skeleton are parented to each other. Everything works fine, except for the legs. When I select a part of the boxmodel and rotate it around its pivot, the bones do not follow properly. The X-axis appears to be the Z-axis or Y-axis. So if I rotate the leg in one axis, the skeleton will follow in another axis.

I think it might have something to do with the constraining of the bones. When I orientation constrain the bones of the leg to the leg of the boxmodel, this makes the bones turn around 80 degrees, so in order to make the skeleton fit the boxmodel properly, I have to turn it back around 80 degrees.

I have got no idea as to how to solve this problem. Can someone help me, please?
Old 01 January 2013   #2
Sounds like you need to apply some chain up-vectors to the limbs.
Check out some of the pre-rigged chacters in Get/Primitive/Character. The XSI Man has up vectors labled K and E. Just move these to see the arms and legs roll. Note: you might need to bend the limbs first to see the roll better.

To apply an upvector:
1. Create a two bone chain for a leg or arm.
2. Creat a primitive null near the limb.
3. Select the first bone of the chain.
4. Select Create / Skeleton / Chain Up-Vector,.
5. Select the null for the element to control the up-vector.

Now when you move the null, you will control the roll of the limb.

Hope this helps,
Old 01 January 2013   #3
Thanks for the advice, I appreciate you took the time to reply.

Just gave your advice a try, but it still doesn't work out as supposed.
When the leg has an upvector, it just doesn't move properly. Besides, the bones are positioned strangely after adding the control. To get the bones to their original position, I got to slide the null quite a distance before the bones are back in the right place. And then I end up with a null that's so far from the model, it is not very clear to which part it's assigned to... I am not sure that's what is supposed to happen, but the result is more spread-out than the basemodel with its nulls...

I am starting to think there's something wrong with the base setup of the bones, but I have no idea how to get them right. I know I should be able to fix the bones in the right position with the use of "Set Neutral Pose", but after "neutralizing", the error remains...

Last edited by Patientnr1043 : 01 January 2013 at 07:49 PM. Reason: Had to be nicer to a helpful person
Old 01 January 2013   #4
If the up-vector is far away you are probably moving it in the wrong directions. Imagine the bones and the nulls on a piece of paper (plane). The null moving perpendicular to the paper would rotate the paper which also effects the chain. Moving the null parallel to the paper would have no effect, thus you could move it 20 kilometers away and would have no effect...and of course if it is far away, move it much closer (parallel to plan) without effecting the rotation. Yes, inserting the up-vector may have moved things, but you would normally do this before you attach geometry to the chain.

I recommned opening a new scene and practice making arms and legs with up-vectors and be able to control them easily. Once you have mastered this, then you can try to rig your box model. You'll also need to master parent/child relationships and how to resolve them. I have found this one issue to be the culprit in almost all rigging problem I have.

If you just want a pre-made rig, you can use Get/Primitive/Biped Rig. If anything, studying these rigs (including XSI Man) is a good way to learn some good approaches to rigging. You can also use the Biped Guide and Rig from Biped Guide to make a similar rig that matches your model easily.

Softimage is a very powerful tool for character work. Just give it sometime and you'll feel at home. There is lots of on-line training specifically for rigging, if you want more organized help. Just ask if you need some places to try.

Hope this helps,
Old 01 January 2013   #5
"...I know I should be able to fix the bones in the right position with the use of "Set Neutral Pose", but after "neutralizing", the error remains."

"Set Neutral Pose" just overrides the Scale,Rotate and Transpose settings so they display 1,1,1 and 0,0,0. That makes it easier to return to a starting or neutral postion.

You can move joints of bones with skeleton move joint/branch (cntl J). Perhaps that is what you are looking for?

Hope this helps,
Old 01 January 2013   #6
Many thanks for the replies.

I think you might have just solved my problem. I'll give it another try tomorrow (I've become a little stressed with everything lately, so I'm taking a break tonight), but you made it all very clear. Also the part of practicing before applying knowledge to the model sounds really good. I'm always trying to make something big even before having the proper knowledge (which resulted in me setting and adjusting the rig about 3 times more often than necessary) and so I forget handy tips like that. I'm really glad you were willing to comment.
Thanks a lot.
Old 01 January 2013   #7
By the way, thanks for explaining the "Set Neutral Pose" function. I didn't really get that precise function at first.
Old 01 January 2013   #8
Well, I've given it some tries, but so far unsuccessfull...
The legs still don't work and they're driving me crazy. Thing is, when I follow your advice and try to move the joints, I get this error. It's saying: "Move Joint Tool: Move Failed - an effected element is controlled in pos or ori"
Point is, I'm trying to get an orientation constraint, so this error is a real horror. The skeleton needs to react to this boxmodel I've made.

I couldn't reply any earlier, since I had to get some stuff finished for school and was just too busy...
Old 01 January 2013   #9
Try this...

To create an arm or leg chain:
0. Do the following in the Front viewport.

1. Select Create/Skeleton/2D Skeleton.

2. Click 3 points to define a "bent" leg or arm.

3. Select the null that was created on the last point you clicked. This is the effector, and should bend the arm/leg as you move it.

4. Select the first null. This is the base of the chain, and will move the entire chain as a parent.

To attach an Up Vector:
1. Place a null in the bend of the limb.

2. Select the first bone in the chain.

3. Select Create/Skeleton/Chain Up Vector and select the null.

4. Select the Up Vector null and move it in one of the other views.
This should cause the plane the chain is in to rotate with the null.

Let's be sure this is all working for you, then we can try to figure out what is going on with your model.

Hope this helps,
Old 01 January 2013   #10
Thanks a lot! I would have never gotten this far if it wasn't for you. Also, you've given me more motivation and hope that the model might become animated.
Your tips really did help.
I am able to turn around the bones with the use of the null and move the bones by grabbing the end effector. For the feet I did the same thing, and I've position constrained them to the leg. The result is a leg that can be moved by moving the nulls and the end effectors.

Just one problem I've still got: how to get the skeleton to move with the use of the boxmodel?

(I've figured out that when I am going to add orientation constraint after going through your small tutorial, the bones go haywire and all positions and options become useless. I've used orientation constraint for the arms and the back, and in those parts it seems to work quite well.)
Old 01 January 2013   #11
Q:"Just one problem I've still got: how to get the skeleton to move with the use of the boxmodel? "

Perhaps I am misunderstanding what you are trying to do.
Wouldn't you be driving the box model with the skeleton? If, the skeleton is driving the boxes, just use a Parent/Child constraint between boxes and nearest bone.

Note: You may need to cut current Parent/Child constraints that already exist.

Old 01 January 2013   #12
What I am trying to do, is having a box model control the skeleton. With the highpoly model being controlled by the skeleton, all I should have to do when it comes to animating, is controlling the box model. So you'd immediately have a clear view of how everyting falls into place and what animations fit best on what type of body. When animating, the skeleton would become animated since it's affected by the box model. I figured this is also because when you're animating, you can make the highpoly model invisible while having a box model for reference, so you and your machine can work faster...When it's getting exported, only the skeleton and highpoly model are exported, but they'd still have the animations.

With you questioning my actions, am I doing something terribly wrong? Since I've got these teachers who've been animating this way, but since I am unexperienced with this, I feel like I'm messing up royally.

Anyway, thanks for taking the time to help me out. I really appreciate it.

Last edited by Patientnr1043 : 01 January 2013 at 10:15 PM.
Old 01 January 2013   #13
Thread automatically closed

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.
CGTalk Policy/Legalities
Note that as CGTalk Members, you agree to the terms and conditions of using this website.
Thread Closed share thread

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Society of Digital Artists

Powered by vBulletin
Copyright 2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump

All times are GMT. The time now is 03:46 AM.

Powered by vBulletin
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.