Correct maya Joint orientations problem
Hi there. I know how joint orientation works, and I know how UDK wants to have it in skeletal meshes. I┤v been having some trouble with it though, because once I setup correct joint orientation in maya, when importing to UDK, most rotation axises of the joints get in the wrong directions for some reason. This is how I orient joints inside Maya: I first select one specific orientation when creating the joints ( XYZ default works well because it automaticaly points X down the joints or up depending) and when Im done, I enter component mode and click the question mark to rework all the joints orientations that needs change...I know that when mirroring the other half of the joints, I have to edit all of the mirrored joints because x points the opposite direction instead of the one it needs. Now, the problem is that everything is ok and works nice inside maya, but when I export with AXMAIN, ActorX seems to dont take into account the joint┤s orientation I modified via component mode and question mark in maya. If I just leave the bones like they are when creating them with a specific orientation since the begginng, it exports well but, obiously the joint┤s orientations are mostly wrong because they have to be corrected and edited manually. Im really stuck and can┤t continue with my game till I get this working the right way.. please help, if you dont know why this is happening, maybe you can tell me how would you Maya users do it your way inside maya. With which orientation option(xzy, xyz, yzx, yxz, zyx, zxy, None) would you start creating the joints? when you are done with that, which option will you use for reorienting the joints that need it? component mode and question mark? because I also tried the joint orient tool, but it rotates in a weird way the joints and it messes everything up.
help would be really appreciated.
Here are some images:
Last edited by Yorchverine; 04-26-2010 at 09:17 PM.
Hey there, I got all my character rig setup already because I cant find a way to correct this problem and I need to start doing tests with it. The character and animations import perfect to UDK (except for the joints orientations) and besides that, everything was working well until I started working on the physics asset....now I cant even copy collision sphere or box properties from one side to the other because it takes the joints orientations as reference, and because the joint orientations are all screwed up as I mentioned, the copied properties and rotations from the collision objects are all wrong... please I really need help on this, I have spent a lot of time trying to figure this out with no success... If I leave the character this way, Im pretty sure I will have a lot more problems ahead.
I think the problem lies with editing the rotation axis in component mode. If you look in the attribute editor inside Maya you can see this changes the "rotation axis" values. I'm pretty sure you want to keep these at zero. You can change the Joint orient values instead and keep your rotation zeroed out.
There's multiple ways to do it of course, most of the time I just manually position the joints using any method, not worrying about transforms. Then just freeze transforms and do a "Orient Joint" operation (under skeleton in the animation set.) You may have to break the joint hierarchy at points to get the right orientation. And a little extra attention to make sure IK chains, fingers and the like have planar rotation is always a good idea.
Last edited by Squiz; 04-27-2010 at 01:45 PM.
thanks for the reply. You are right, that is definitely the way to go, not by editing component mode, because component mode seems to change the rotation axis but not de actual orientation of the joint, it works ok inside maya since you want to rotate the joints when animating, but UDK just cares about the orientation and not the component mode rotated axis.
I have two more questions:
1-for planar rotation you mean the parent/child bones having their orientations aligned between them?
2-This is my first character for UDK so...I got desperate and rigged it up all already few days ago, hoping the joints issue wont get me into trouble. It is already weighted, it has all the controls, constraints, etc. It has set driven keys for hand and feet. I have been doing tests with it inside UDK, animations I bring in work perfectly, maybe for the Phat asset I can just do each side manually instead of copying the properties from one side to the other, its not that much of work. I find unbinding the character and deleting the constraints and cleaning the skeleton in order to fix joint orientation would be a lot of rework, so just for this character I think I may leave it the way it is. Animations work perfect like I said so....Is there anything that may still cause any trouble in UDK for this character? Do you think if I leave it the way it is, it may cause any trouble later on? Im still very new to UDK so I dont really know, as for now, its not a big deal to fix the Phat asset, even the constraints can be rotated so if some parts dont match because of joint orientation, I can manually fix them. What do you recomend?
The planar rotation is just a precaution, and yeah keeping the children zeroed in the joint orient for then non rotaing axis is what I'm talking about, not a hard and fast rule though. If it's working and behaving ok in maya then don't worry about it.
I can't say if you'll face any other troubles in UDK if you continue, my own experience is limited in that dept.
I guess you'd have to weigh up the potential work involved to fix it later. If you can change it and still preserve any animations I wouldn't consider it a big deal. It can be a pain to re work the rig for sure, but I'd consider destroying existing animation work to be more of a contributing factor in making that choice. That's if changing it later affects maya animation, I'm not sure. Depends on your rig I guess.
Last edited by Squiz; 04-28-2010 at 04:42 AM.
mm so I am having to work more in order to get Phat constraints aligned, but I really prefer doing that than reworking the rigg...maybe the other problem would be with skeletal controlers, but it is just a matter of assigning the right axis to them.
thanks for your help.
next character I┤ll do it the right way hehe
About your experience with driven keys
I'm new to Unreal and I'm animating my first asset for a project. I'm from an animation background, mostly using Maya. I want to use driven keys on a wheelchair so when it translates forward or backward the wheels move accordingly. I've just installed Actor-X, however driven keys can't be digested at export. How did you go about exporting your driven keys into UDK using Actor-X?
As for joint orientation, usually since Maya works with the Y axis as up, in Animation Preferences>Settings>Up Axis: Z. Do save on probs porting into Unreal, experiment by orienting your joints to z,y,x or z,x,y. In UDK Z is up.
I'm learning myself at the moment, but I hope this helps.
This is an old post I came across randomly, but in hopes it may help someone else: What you want to do in this case is bake the animations edit>keys>bakeSimulation.