Sign in to follow this  

Animation Bone-Local Coordinate System Transformation

Recommended Posts

This is a re-post from the Math/Physics board. It got no response, so I wondered if this board was more appropriate.


I have a working animation system that is loaded through the FBX 2012 SDK provided by Autodesk. The FBX API is giving me right handed and z-up meshes and animations, but I need to convert them over to a left-handed y-up coordinate system for DirectX.


The FBX SDK's coordinate system conversion doesn't work! I've been able to transform a mesh into the correct bind pose, but the animation curves are not converted.

In the past I just transformed the final bone matrices by a coordinate system conversion matrix, and it looks fine visually when the meshes are drawn. I've run into a problem when trying to attach other models to animated bones though. I want to attach other game objects to bones based on position/rotation/scaling values and not matrices, so I can't just apply the conversion matrix.

How do I convert the coordinate system of a bone's local position/rotation/scale transforms? I want to do this at load-time and get rid of all coordinate system conversions at run-time. The position and scale are vec3's, and the rotations are Euler angles that are turned into quaternions.


Edited by DementedCarrot

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this