Horde3D

Next-Generation Graphics Engine
It is currently 25.11.2024, 06:59

All times are UTC + 1 hour




Post new topic Reply to topic  [ 14 posts ] 
Author Message
 Post subject: Blender->Collada->Horde
PostPosted: 14.10.2007, 16:21 
Offline

Joined: 03.10.2007, 23:09
Posts: 10
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!


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 14.10.2007, 23:57 
Offline
Engine Developer

Joined: 10.09.2006, 15:52
Posts: 1217
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.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 15.10.2007, 08:01 
Offline

Joined: 03.10.2007, 23:09
Posts: 10
Thanks for the reply, that doesn't look too hard to fix... I'll look into it.


Top
 Profile  
Reply with quote  
PostPosted: 16.10.2007, 17:43 
Offline
Engine Developer

Joined: 10.09.2006, 15:52
Posts: 1217
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.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 06.11.2007, 22:36 
Offline

Joined: 03.10.2007, 23:09
Posts: 10
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


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 07.11.2007, 12:15 
Offline
Engine Developer

Joined: 10.09.2006, 15:52
Posts: 1217
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.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 07.11.2007, 13:56 
Offline

Joined: 03.10.2007, 23:09
Posts: 10
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!


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 13.11.2007, 20:11 
Offline
Engine Developer

Joined: 10.09.2006, 15:52
Posts: 1217
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.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 13.11.2007, 22:42 
Offline

Joined: 03.10.2007, 23:09
Posts: 10
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.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 19.11.2007, 18:49 
Offline
Engine Developer

Joined: 10.09.2006, 15:52
Posts: 1217
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


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 20.11.2007, 10:34 
Offline

Joined: 03.10.2007, 23:09
Posts: 10
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!


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 24.01.2008, 03:21 
Offline
Engine Developer

Joined: 10.09.2006, 15:52
Posts: 1217
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.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 24.01.2008, 14:18 
Offline

Joined: 22.11.2007, 17:05
Posts: 707
Location: Boston, MA
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.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 25.01.2008, 12:32 
Offline
Engine Developer

Joined: 10.09.2006, 15:52
Posts: 1217
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.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 14 posts ] 

All times are UTC + 1 hour


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group