Horde3D
http://horde3d.org/forums/

Blender->Collada->Horde
http://horde3d.org/forums/viewtopic.php?f=2&t=177
Page 1 of 1

Author:  slvmnd [ 14.10.2007, 16:21 ]
Post subject:  Blender->Collada->Horde

I'm interested in using Blender with Horde. I have exported static meshes and simple materials successfully but animations do not show at all. The error message from ColladaConv is:
Warning: Animation channel not supported
.
.
Warning: Animation channel not supported
Done.
Converting data for model businessman...
Warning: Mesh Businessman_002 is directly attached to a joint; use skin instead!

I'd be willing to do some coding on the blender->collada exporter or ColladaConv to fix this, but I would really like if someone could provide me with some more information about what is going wrong. Where is this incompatibility coming from? Is it the blender exporter that is at fault? Specific details about what should be done would be greatly appreciated!

Author:  marciano [ 14.10.2007, 23:57 ]
Post subject: 

I had a quick look at the Blender Collada exporter. The problem is that for animations the transformation data isn't baked into a matrix even though you have explicitly enabled this in the export options. Someone else has already reported that problem in the Collada Blender forums:

http://colladablender.illusoft.com/phorum/read.php?2,192
http://colladablender.illusoft.com/phorum/read.php?2,29 (post from Spet 27)

Horde ColladaConv currently needs all transformations as matrices. I have removed that restriction for static meshes for the next releases but for animations that's more complicated.

Author:  slvmnd [ 15.10.2007, 08:01 ]
Post subject: 

Thanks for the reply, that doesn't look too hard to fix... I'll look into it.

Author:  marciano [ 16.10.2007, 17:43 ]
Post subject:  Re: Blender->Collada->Horde

slvmnd wrote:
Converting data for model businessman...
Warning: Mesh Businessman_002 is directly attached to a joint; use skin instead!


This is another problem. If you want to have a mesh attached to a joint node in Horde 0.12.0 you have to do this via skin. I have just fixed that for the next release. Now it is possible to have objects like the sword in the knight sample attached directly to a joint like the hand bone.

Author:  slvmnd [ 06.11.2007, 22:36 ]
Post subject: 

I didn't get anywhere with modifying the blender collada plugin.
I posted about it on the forum:
http://colladablender.illusoft.com/phor ... ,29,page=2

Author:  marciano [ 07.11.2007, 12:15 ]
Post subject: 

It is a real pitty that the ColladaBlender plugin is not getting finished. Horde has great support for Max and Maya (0.13 improves robustness some more) but Blender would be a third important tool as the other programs are quite expensive if you can't get an academic/student license.

Referring to your post on ColladaBlender forums:
The 'bake matrices' option isn't specific to FCollada but is a compulsory part of the Collada specification (see list of options that any exporter must support in spec). So it is totally legal to rely on this and shouldn't break generality :)

The problem with your Businessman_002 mesh is also solved in 0.13. You can attach meshes directly to joints now and ColladaConv makes use of this.

If it is not possible to fix the ColladaBlender plugin the other option would of course be to integrate support for generic non-matrix animations in Horde. This shouldn't be too difficult especially since 0.13 has already support for static meshes which were exported without 'bake matrices' but currently I'm busy with another important project so probably I won't be able to do that in the next time.

Author:  slvmnd [ 07.11.2007, 13:56 ]
Post subject: 

I took a quick look on the ColladaConv tool, and it didn't seem that general since for example it looks for the "/transform" string, is it really in the collada spec that node transforms should have that specific name?

In blender, in order to skin a mesh, the mesh is attached to an armature node I think. So the businessman isn't really supposed to be attached to a bone so this might still be a problem in the blender collada plugin.

We'll see how it works out, thanks for the help!

Author:  marciano [ 13.11.2007, 20:11 ]
Post subject: 

Out of curiosity I had a quick look at the Blender plugin code. As I understand, the matrices for animations are already existing and are explicitly decomposed into the different transformation channels. So you don't have to recombine them again but could just write the original matrix to the dae file. That doesn't look too hard to do to me.

Author:  slvmnd [ 13.11.2007, 22:42 ]
Post subject: 

Hmm, not really... I've looked on it some more and it seems the animation curves for bones are stored as curves: LocX, LocY, LocZ, and QuatX, QuatY, QuatZ, QuatW. (Let's ignore scaling for now.) Then, in the exporter, the matrix for the bone in its base pose is computed and the location or rotation is extracted from this matrix and added to the curve value. I guess this means that the curve values are "deltas" from this base pose. For some reason this base matrix is calculated over and over again in the inner loop that loops through the keyframes of the curves, but it's just a static matrix for the active bone.

It shouldn't be too hard to build an animation curve with matrices now that I actually start to understand the code.

Author:  marciano [ 19.11.2007, 18:49 ]
Post subject: 

I'd be curious to know about your progress of getting animated content from Blender to Horde. This would also be interesting for some of our students. Unfortunately I can't spend any time on that myself at the moment since I'm very busy with a project :(


BTW, have you already tried this solution?
http://colladablender.illusoft.com/phorum/read.php?2,187

Author:  slvmnd [ 20.11.2007, 10:34 ]
Post subject: 

No, I haven't had time to implement any changes to the collada exporter yet. Thanks for the fbx tip, I hadn't seen that, I will definitely try that out!

Author:  marciano [ 24.01.2008, 03:21 ]
Post subject: 

The next version of ColladaConv got a plenty of clean ups and improves the compatibility with generic Collada files. I have completely rewritten the scene node and animation handling. There is still only support for baked matrices but changing the tool to support other transformations is pretty easy now and shouldn't need any structural changes.

Author:  swiftcoder [ 24.01.2008, 14:18 ]
Post subject: 

marciano wrote:
The next version of ColladaConv got a plenty of clean ups and improves the compatibility with generic Collada files. I have completely rewritten the scene node and animation handling. There is still only support for baked matrices but changing the tool to support other transformations is pretty easy now and shouldn't need any structural changes.

Have you tried running the new version on the output of the FBXConverter? The current version wont read its output, because the FBXConverter does some strange things in its Collada output:

a) It uses the <polygons> tag instead of <triangles>, even though it only contains triangle data
b) It places all of the triangle indices in a single <p> tag, instead of one <p> tag per triangle.

Author:  marciano [ 25.01.2008, 12:32 ]
Post subject: 

I have tried FBXConverter a few days ago but encountered the same problems that you describe. Another problem is that FBXConverter doesn't support matrix baking, so it won't work with ColladaConv at the moment.

Page 1 of 1 All times are UTC + 1 hour
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/