View Full Version : Mirror joints with set driven keys

06 June 2003, 04:35 PM
How do you all go about mirroring joints in your skeletons. I tried a technique from a gnomon video which I thought would work. I exported my arm which had set drivens in the hand. I imported the arm, grouped it to itself, then parented the group node to the hierarchy. The set driven keys seemed to still work, but 2 of the 3 the rotations were reversed. Why, I don't know. No matter how I tweaked the axis, all I could accomplish was changing which axis were screwed and which one wasn't. My first question is, can I just go with this and animate my character with one side being sort of opposite? I think I can work with it, but I don't want to go through all the trouble of skinning only to have this bite me in the ass later on down the road.

Now here was my other idea. I thougt I would just go ahead mirror the branch with the mirror joint tool, and then just redo all the set driven again on the other hand manually. It wasn't that big of a deal I thought. But, for some reason, Maya seems incabable of trully "mirroring" this branch! True, the joints look the same and are in the same relative position, but the local rotation axis aren't trully reflected! WTF! I can't even do this manually if I want to! I have to mirror the joints, and then go in and eyebal all my LRA to get them to be a mirror copy of the other arm. Is this normal? How the hell do people work like this? What is the point of the mirror joint tool if you have to do most of the rough work manually anyway?

I have my skel posted here if anyone would like to take a look. maya 5

06 June 2003, 01:45 PM
Z its just my opinion that its easier to just do one hand at a time. i have a few things i do though.

1. if im making some SDK for like a hand, i will select all joints for the Lhand and also the Rhand. if im rotating the index finger, i rotate both index fingers, i have both my Drivers in the SDK window. so i then after rotating, select my Ldriver key the joints for the Lhand. then since the Rindex has been rotated also i just key there. its very fast. i do this becasue when is et up my skeleton all the rotations on the joints are the same so if i rotate y on the wrist, for my left hand its going to rotate the same way on the right hand. does this make sense? i doubt it. and exporting your hand is not going to do anything you are still doing the same exact thing as just grouping and then scaling in opposite direction. or whatever your method is. if my idea makes any sense to you and you want me to explain more i can.

2. i also set up a Skeleton awhile ago with everythign i want it to do . i just import that skeleton and move the joitns to match my characters geometry. i have done this on my last 3 models. i figure if i just do it once, why not use that over and over. it works perfect i would try that also. i have SDK on both hands and a few other joints. so its all ready to go. that could work for you maybe as well?

06 June 2003, 04:23 AM
The easiest way to mirror joints is to group the bone, duplicate the group, scaleX -1, then ungroup.

Another method is to use the mirror joints:

XZ behaviour

YZ orientation

XZ orientation

this will give you X and Y mirrored axis with a flipped Z.

btw - this is going from a positive X to negative X.

This method may resolve your SDK flipping problem.


06 June 2003, 09:30 AM
yeah - I think this topic has been covered elsewhere in the character setup forum. Using Magilla's technique seems to be a good way EXCEPT ungrouping afterward seems to cock up all your rotation and wotnot esp. if you have ik solvers in there.

heres the link to a similar post:

another post based on similar topic (

06 June 2003, 02:37 AM
man - that is the most convoluted solution I've heard for a long time.:banghead:

Surely it's just plain easier and simpler to re-write your sdk's -:argh:


06 June 2003, 08:03 AM
Yeah it was. I misread the initial question/comment. I deleted my comment.

06 June 2003, 09:25 AM
seemed to work okay for me and I had about twenty+ sdk's on my characters armCtrl node. the process may seem like a cock - on but its actually not that difficult with a spot o practise and far quicker too :wavey:

07 July 2003, 01:00 AM
yep- I guess it's cos I don't go in for the huge sdk that I thought it simpler to redo them - Firstly cos sdk's are rather difficult to edit and keep track of all the connections - but also cos they over-ride each other and cause nasty snapping when switching from one to another. I'd rather set-up a library of poses for the hand and apply them as opposed to keyframing lots of sdk's.

anthonymcgrath - do you have a method of 'blending' your sdk's together?


07 July 2003, 09:23 AM
dont really have any methods for blending sdk's Magilla sorry.

however I quite like the library of poses idea - that rocks!
Do you do that using subcharacter sets? I'm quite a fan of the character setup tools but thats one little area that confuses me a bit.

Also, do you select all the hand joints and turn them into a character set? elaborate on this method - I'm intrigued! :rolleyes:

might wanna start a new thread on this as we're deviating off zbgumps subject matter - doh!

07 July 2003, 01:18 AM
Using char sets is not a flawless method - out of 4 chars only 3 of them worked, but:

I select the finger joints (or the control objects driving the fingers)

I make sure they only have rotation values in the channel box (use channel control to remove the scale etc)

After I create the main char set - I then create a sub char set using the all keyable option. 'from channel' takes it from the last selected object (kind of useless) - and 'all keyable except' can be handy if you can't be bothered going through every object and removing the scale keys for example.

Now when I create a pose I can save it using the trax editor - select the char subset > create pose. Then it appears in your visor (under the char poses tab) and you can import/export and re-apply them whenever you want.

Although this sounds really cool (and mostly it is) - the trax editor totally sucks - and can be very unpredictable - blends don't always work and the poses can 'pop' in and out.

So - I also use ultrapose (from highend3d) which is the same sort of deal except that it just dumps the keys from the stored pose onto the objects - much more manageable and editable.


CGTalk Moderation
01 January 2006, 12:00 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.