I'm currently working on an importer plugin using the Max SDK, and have run into a little trouble. The file format that I'm attempting to import uses a Y-up Z-forward coordinate system compared to Max's Z-up. This isn't a problem for vertices and bones, as I can easily swap the z and y values, but animations are another thing...
The file format actually has 2 versions, which both store the animation data in a slightly different way (1 stores the rotation and translation values of each frame in world space, the other in local/parent space). When importing the animations, I'm using the node's default PRS controller, adding keyframes and setting the values on the Position and Rotation controllers. Here's some code to show what I mean: http://pastebin.com/zFKY008T
How would I go about converting the animation data I read in from the files into the correct coordinate system? I've tried multiplying the data by a rotation matrix, but to no avail. Any help would be appreciated.
Thanks in advance.