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:
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.
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).