Sign in to follow this  
BrentMorris

Bone Local Transformation Coordinate System Conversion

Recommended Posts

BrentMorris    1223

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

 

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 meshes to bones based on position/rotation/scaling transformation 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 keyframe 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.

 

Edit: Also, the FBX SDK's coordinate system conversion doesn't seem to work! I transformed my mesh vertices, but it doesn't convert the animations correctly.

 

Thanks!

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