Floorplanner Tech Blog
Our geek adventures
Blender 2.5 alpha 2 - Collada export bug
Blender 2.5 is a great application to create 3D stuff. Best of all: its free! Even better: Blender 2.5 alpha 2 seems to have a much enhanced Collada importer/exporter. Blender versions before 2.5 used a python script for import and export. That script was okay, but failed on more complex scenes using rigs / animations. I believe Blender now uses Collada DOM or OpenCOLLADA. But after trying the Collada export I found a bug in Blender 2.5 alpha 2 r27226 which I filed in Blender’s bugtracker here (you need an account there). Seems export of “translation” goes sour. @collada asked me to describe the bug in public, so here is the bugreport I filed:
Blender 2.5 alpha 2 - 2.52.0 - r27226
Mac OSX 10.5.8
The .blend is a simple cube animation with 2 keys, translation and rotation only.
A typical exported translation channel looks like this (see attached collada):
<channel source="#Cube_location_Y-sampler" target="Cube/location"/>
According to the Collada 1.4.1 spec the @target atrribute here says:the locY-sampler targets *all* values of the element
with @sid="location".
In this case however we need to target only *one* value.
See "Address syntax" in Chapter 3 of the Collada 1.4.1 spec.
The targeted scene graph node looks like this (see attached collada)
<node id="Cube" type="NODE">
<translate sid="location">6.423927 -0.08766067028 1.473982</translate>
[...]
A channel targets a "sid" => see the @sid attribute on the node's translation element.
the @target property of the channel should be like:
Cube/location.X
Cube/location.Y
Cube/location.Z
or
Cube/location(0)
Cube/location(1)
Cube/location(2)
When only specifying Cube.location importers can't determine which value to target of the translation element (x, y or z).
I should note that target=”Cube/location” IS valid in theory (when the channel’s sampler specifies triplets of values). But in the case described the target is not valid afaik.
Here are the files: blender25_collada_bug
UPDATE : the bug has been fixed. Thank you Arystanbek Dyussenov! Guess you have to compile Blender 2.5 from source until the bug fix makes it into a release.