[Bf-committers] Rotations in Collada Export

Axel Philipsenburg drraven at gmx.net
Fri May 10 17:43:30 CEST 2013


Hello everyone,
 
first of all, thanks a lot for the improvements of Collada im-/exports over the last few releases. If not for these, I wouldn't even have dared to try my litte project.
 
What I am trying right now is to cook up some Python scripts that allow for easier file exchange between Blender and Poser. Poser's Collada importer has a couple of shortcomings that I try to compensate with the scripts.
 
I manged to get some non-armature animation import working but I ran into a problem with rotations. Right now I can't figure out if it's a problem with Poser, my import code or the way Blender's Collada exporter writes animations.
 
Here's an illustration of the problem I get which shows three consecutive frames. Please note that poser rounds the values quite a lot for display, but in a detailed view you get same values as in Blender:

http://www.pasteall.org/pic/51050
 
In most of the frames, the rotation import works all fine. Except for some where the angles jump around quite a lot causing some objects to "flip". Interestingly enough, this only affects Poser but not Blender.
 
I do understand that the angles, altough looking different from the ones of the neighbouring frames, can produce the "right visual result". 
Is there some other aspect of euler rotations that I'm missing that may cause the "flipping" in Poser?
 
A few notes about my import process:
- I had Blender bake the whole animation into frame-by-frame keyframes with linear interpolation to get the most basic value transfer.
- The import fixes the different axis setups by transforming Y = Z and Z = -Y  for positions and angles.
- Since the rotations are exported as individual animation tags I made sure that the importer applies the x y and z rotation values in the
  same order, as they appear in the collada file.
 
Anyone got an idea how I can debug this further? If necessary I can provide the blend and dae files. Thanks a lot in advance!
 
Bye,
 
Axel


More information about the Bf-committers mailing list