Collada 1.4.1 file import/export (physics part)

bach

12-12-2006 11:33:10

Somewhere, I saw (in the roadmap for the 1.0 nxOgre?) there is a collada import/export feature planned.

I'm using nxOgre in my project and I need to be able to quickly update/modify physics data, I started a collada importer/exporter for nxOgre.

Since I think it would be nice to have collada support in Ogre, and that I don't have to (greatly) modify my code with each new release ;) I would like this to become a part of nxOgre, probably not core nxOgre, but some extension (NxuOgre namespace :?: )

I needed another body constructor, one that does not create a nxbody, just the mesh, (see readme2.rtf), so I added one to nxogre_body and nxogre_scene classes.

Anyway, here is the demo of the mechanical foot (3 rigid bodies and 2 joints) and the sources so you can see what is it about...


demo 0.1

(also think of it as a proposal, not fully developed code :) , if there are suggestions ....)

..you can find more info how to use it in the rar ...

syedhs

12-12-2006 11:39:09

Great... and great avatar too :lol:

betajaen

12-12-2006 11:53:04

Most excellent!

I did have a quick browse through the source, and was disappointed you didn't go through the serialiser class.

I'm not a fan of the COLLADA format myself (XML has it's uses but mesh and collision models aren't one of them), but it's doable.

If you want to rewrite it through the serialiser route, which does most of the work for you anyway; I'll be more than willing to add it to NxOgre.

Also; why do you need a constructor like that, your code just seems to be attaching a body to a preexisting actor found by a name (which I must point out in RC3 onwards the name is used as a type identifier;Body, Particle,cloth,etc.); Your creating the actors before hand then attaching them to bodies aren't you? Which makes the serialiser route much much more easier ;)

But don't make all this negative response hinder your work, seriously kudos!

bach

12-12-2006 12:13:50


I'm not a fan of the COLLADA format myself (XML has it's uses but mesh and collision models aren't one of them), but it's doable.


true, so this is why I'm using it for physics data only, and I think this is really where collada is THE format to use ...
(it loads <name>.mesh for the visual representation, based on the rigid body name in collada description)

Also; why do you need a constructor like that, your code just seems to be attaching a body to a preexisting actor found by a name (which I must point out in RC3 onwards the name is used as a type identifier;Body, Particle,cloth,etc.); Your creating the actors before hand then attaching them to bodies aren't you? Which makes the serialiser route much much more easier Wink


yes you are right, the actors are created before and then just attached to the bodies ;)


the serialiser class :oops:

well this was quicker (and dirtier) ;) ... I will look into the serialiser class, I just wanted some response from you guys how do you see it and what would be the right way to implement it considering, before all, future nxogre development and compatibillity ...

betajaen

12-12-2006 12:27:07

Well, I'm more than happy for someone to have a go at it for me, so if you want to re implement it using the serialiser go ahead.

One word of warning though, blueprints for shapes don't exist yet - so your stuck with cube shapes for everything, until I start writing them.

bach

12-12-2006 13:19:07

ok I will do it, I just wanted to make sure no one is doing it yet, or has done it. No need to waste the resources :)

... suggestions from everybody are welcome ...

One word of warning though, blueprints for shapes don't exist yet - so your stuck with cube shapes for everything, until I start writing them.

ok don't need them (yet) ;)
(too bad ageia doesn't have a cylinder as a primitive, and not as a convex mesh collection ) ...