View Full Version : resetting joint location to 0

 jwr3802 February 2007, 11:22 AMI am building a FK rig and I have parented the shape node of my control objects to my joints. the thing is that the joints have values in it. How do I zero out the joint while keeping the joint in the same location? I want to do this so it is quick and easy to set it back into default pose?
02 February 2007, 12:55 PM
If I understand your question, the easiest would probably be to just create a group for the joint to be under that 0's its transform. Create a group, parent it to the joint, 0 out its transform, parent it to the joint's parent, parent the joint to it.

HTH

jwr38
02 February 2007, 07:43 PM
I really sorry but I am really unsure what I am parent to what in your answer. I have played for the last half an hour and I still can't get the controller to stay in the right location .. or get the 0 transforms. can you please break it down a little easier for me?? My main problem is that I am not sure what you are refering to when you say "it".

dragonlair81
02 February 2007, 08:50 PM
to zero out the rotation what you could try is going into your joints attributes and change the values of the joint orient to the values of your joints rotation. For example if your joint is rotated 20 degrees in x then put a 20 in the joint orients x spot. once you change your joint orient values you should be able to zero out your joint rotation and it should be in the correct place.

to change the translation values if its in the middle of a joint chain i can't help you with that but if its a single joint what i would do is take a empty group then group it so you have two nodes then i would parent constrain the top node to your joint so it moves to your joint and rotates with your joint then delete the constraint and then make your joint a child of the second node. What you will have is a group with your joints value, another node a child to that one, then your joint a child to that one. That should zero out the rotation of your joint.

02 February 2007, 12:41 AM
Sorry, I see now that that was a bit dense. I'll unpack.

1. Create a null group.
2. Parent the group to the joint.
3. 0 out the transform on the group.
4. Parent the group to the parent of the joint.
5. Parent the joint to the group.

If you did this correctly, the joint should have 0 in its transform, no translate, rotate or scale.

Does that help?

jwr38
02 February 2007, 11:07 AM
1. Create a null group.
2. Parent the group to the joint.
3. 0 out the transform on the group.

to this point it is easy. I have the null group in the same location as the joint. The local rotation axis is the same. All happy here.

4. Parent the group to the parent of the joint.

This is where I am (was) having problems. Say I parented null1 to joint1, there is nothing to parent it to. I have tried removing it from the group but then the null group gets values (as it can't take them from the parent). If I frezze transforms I lose the orientation of the axis that I need.

I tried also with joint2 so it would have something to parent too. When I change the null group from being parented to joint2 (the null is at joint2 location) and parented it to joint1 it gained values in the null. I tried frezzing transforms and then adding a orient constraint to get the same axis orientation. This only added values into the null group.

5. Parent the joint to the group.

If you did this correctly, the joint should have 0 in its transform, no translate, rotate or scale.

And then I read your last line .... the JOINT should have 0 transforms (of course it should as i takes it's information from it's parent)... hahah here I am just looking in the null group transforms. Okay so it is now working ... and I had the same set up from your first example.

thanks a lot ... sometimes dense people like me take a while to get things to sink in :):D cheers mate.

02 February 2007, 12:51 PM
Glad you figured it out. Yeah, the null is sort of taking over the responsibility of keeping the joint's transform, so the joint can have a 0.

CGTalk Moderation
02 February 2007, 12:51 PM
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.

1