Specifying the transformation order inside a Collada File

I am creating a parser/exporter that will generate a Collada file.

I have the transformations on Euler Angles (yes I need this to be in Euler Angles) on XZY order and as far as I have noticed every time I import that file Blender and other 3D apps assume it is on XYZ order.

Collada files have headers like this

<?xml version="1.0" encoding="utf-8"?>
<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1">
  <asset>
    <contributor>
      <author>XXX</author>
      <authoring_tool>Collada Export</authoring_tool>
      <comments>ColladaMax Export</comments>
    </contributor>
    <created>2008-11-02T18:41:02Z</created>
    <modified>2008-11-02T18:41:08Z</modified>
    <unit meter="0.0254" name="inch"/>
    <up_axis>Y_UP</up_axis>
  </asset>

Is there any parameter I can add to the Collada file to specify the transformation order?

You’d think COLLADA would be more mature by now, a decade after Khronos published the first open standard, but it has not fared well.

The PDF specification doesn’t mention Euler angles anywhere, except I think in one place, which is mistakenly in my opinion. It gives an “A” notation for its scoped-IDs I think. I could be mistaken, but this is just a fourth component, I think for axis-angle constructions.

I know Blender’s exporter has reservations around exporting Euler angles, that probably stem from this deficiency. The “<up_axis>Y_UP</up_axis>” section has to do with the global coordinate system frame. COLLADA is for real-time, and so uses either 4x4 matrices, or quaternions. I think there are also issues around quaternion conventions. You can convert to matrices, and back to Euler angles in your application, using any convention, although there can be issues with animating Euler angles in this way. You can also use a quaternion to represent each Euler transformation.

I think the standard should have Euler angles with explicit conventions, but it’s going to take a miracle to get a new version of COLLADA at this stage. I am working personally this year to make the open software around COLLADA more mature. I’ve been working on it full-time for months now :slight_smile:

Blender’s COLLADA support is very iffy/poor even though it’s its default export format. I think when I finish my work, Blender can use the results to properly implement COLLADA, and this may come to pass. I cannot say about multi-thousand dollar software. Right now COLLADA’s world is either very walled off, or very small. Unfortunately there’s no alternative to COLLADA, which is why I am working on it.

EDITED: Blender uses OpenCOLLADA also. Your experience could be a bug or limitation in OpenCOLLADA that these softwares are relying on. The difference is OpenCOLLADA has special facilities for Maya and 3dsMax, for which Blender has none, and there is no support for COLLADA among Blender’s upper echelon.

EDITED: I think I meant to say “ANGLE” instead of “A”. The post’s editing window has closed.