WorldGeometry

daedric

20-04-2009 14:44:25

Hello all,

Is it possible to use WorldGeometry with NxOgre ?
We add Quake3 map into our game, but we don't know how to set up NxOgre.

After some research it seems impossible ...

Thanks


Sorry for my bad English (I'm French)

spacegaier

20-04-2009 14:55:32

Yes, it's possible. In BloodyMess it's called SceneGeometry (m_pScene->createSceneGeometry()).

http://www.ogre3d.org/wiki/index.php/Bl ... nteraction

betajaen

20-04-2009 15:51:45

No, it isn't. They are similarly named but different.

If you can convert the Quake map into a suitable format; such as a Triangle Mesh NXS file (by converting the map into an Ogre mesh, then using Flour to convert that mesh into a PhysX one), then it's possible. The alternate solution is to put all of the required vertices/indices of your map when the level is loading into a ManualMesh, then create a TriangleMesh on the fly. Apart from those two options it isn't possible.

daedric

23-04-2009 11:17:23

Thanks, we will try :)

betajaen

23-04-2009 11:57:57

An alternate and possibly easier solution is to convert the Quake map into a format that can be used by a modeller; such as 3DsMax. Then use the PhysX exporter plugin by NVIDIA to convert it into a Triangle Mesh NXS file.

daedric

25-04-2009 11:53:38

Thanks for you answer !

We have a little bug.
When we add a mesh (EDIT: it is a simple mesh created with 3dsmax and exported with milkshape) with nxs file like this:


NxOgre::Resource* resource = NxOgre::ResourceSystem::getSingleton()->open("media:kouloire.nxs", NxOgre::Enums::ResourceAccess_ReadOnly);
NxOgre::Shape *cnv = new NxOgre::TriangleGeometry(NxOgre::MeshManager::getSingleton()->load(resource));

this->objs.push_back(obj);
obj->body = this->ogreRenderSystem->createBody(cnv,
NxOgre::Real3(obj->position.x,
obj->position.y,
obj->position.z),
obj->getEntityName());
NxOgre::ResourceSystem::getSingleton()->close(resource);



The mesh dispear ...

To test we try to put the mesh at 500 (y axis), we see the mesh go down
but when it touch the ground which was created like this:
this->nxScene->createSceneGeometry(new NxOgre::PlaneGeometry(0,
NxOgre::Real3(0,
1,
0)),
NxOgre::Matrix44(NxOgre::Matrix44::T_Identity));

it dispear.

Do you have some idea on the problem?


Thanks.