Game Development Community

Joint rotation problems.

by Jason Gossiaux · in Artist Corner · 08/17/2008 (12:14 pm) · 5 replies

I've been struggling for the past few days with trying to get my joints to mount objects on them correctly. The real crux of the problem is not being able to identify what the node facing is. This means I need to play around with the joint rotation, export, preview in game, and try again when it isn't correct.

I believe the small red, cyan and yellow axis lines are supposed to indicate the joint facing... but they are hard to see and I'm not always sure which one means "up" or "forward"

Furthermore, sometimes rotating the joints is a pain. I've started adding another child node and using that as my point of reference. Despite this, rotating the parent node around its X-axis sometimes results in odd behavior. Like..it will start spinning halfway through the rotation.

Are these just limitations of MS3D? Does anyone know of any tricks I can apply to get weapons to mount in the correct orientation on my joints? Thanks!

#1
08/18/2008 (5:33 am)
This is know issue of MS3D but not very well documented.

When you create a joint hierarchy each newly created joint will cause it's parent joint to "look" at the child joint.
Also when your not in Animation mode all joints suffer from gimbal lock.

This is actually pretty easy to fix.
When you have created your skeleton and of all your joints set the way you like go to the tools menu and select "Zero Joints" .
This will force all you joints to re-align along the default axis.
Next make sure you only move your joints in animation mode.
If you have to move a joint outside of animation mode just do the Zero Joints function again.
#2
08/18/2008 (9:32 am)
Well that is what I'd feared. I already have many animations complete, and applying Zero to the model breaks all my animations :/

This is also kind of annoying because if I were to take any finished model and want to add another mount point, I'd have to redo all the animations. Does a way to Zero Joint just a single joint exist? That would be ideal... I could rest just my mounting joints and be done with it :P

If not, is it possible to just open the model file and hand edit it? Thank you very much for the response. Hopefully I can get this licked tonight :P
#3
08/18/2008 (9:48 am)
It should be possible to apply to a single joint but it would require you to create a plugin to do so.
#4
08/18/2008 (10:25 am)
Something like this, perhaps? You can edit in a human friendly format, takes some doing though...and you need some sort of quaternion matrix to Euler rotation converter, not an easy find. Otherwise, it will take some nasty math, if you read the tutorial about how I found out what math is needed...yuk. I'm an artist afterall!

I can edit a Ms3d file to correct node rotations; we at BrokeAssGames.com have a barn full of useful tools to hammer at things....we offer full service model manipulation, lol.
#5
08/18/2008 (10:41 am)
Oof, crazy stuff :P I am suprised these issues haven't come up more often throughout the past 5 years of folks using MS3D....

I'm probably just going to give Houdini a whirl. I can't afford to waste more time on this :P Thanks again for all the help!