slt
voila c'est bon j'ai reussi en "fusionnant" la methode de map loading de irrlicht et newton afin dutiliser le triangleselctor de irrlicht puisque je pouvais pas utiliser celui de newton
voila je partage mon code pour ceux qui on le meme prob

(PS c'est bourrin)
void CGame::Prepare()
{
// add skybox
smgr->addSkyBoxSceneNode(driver->getTexture("data/irrlicht2_up.bmp"),driver->getTexture("data/irrlicht2_dn.bmp"),driver->getTexture("data/irrlicht2_lf.bmp"),driver->getTexture("data/irrlicht2_rt.bmp"),driver->getTexture("data/irrlicht2_ft.bmp"),driver->getTexture("data/irrlicht2_bk.bmp"));
// Load level in Quake3 format
device->getFileSystem()->addZipFileArchive("./data/chiropteraDM.pk3");
scene::IAnimatedMesh* q3levelmesh = smgr->getMesh("maps/chiropteradm.bsp");
scene::ISceneNode* q3node = smgr->addOctTreeSceneNode(q3levelmesh->getMesh(0));
scene::ITriangleSelector* selector = 0;
selector = smgr->createOctTreeTriangleSelector(q3levelmesh->getMesh(0), q3node, 128);
q3node->setTriangleSelector(selector);
selector->drop();
//LevelNewtonCollision
NewtonCollision* nmapcollision = NewtonCreateTreeCollision(nWorld, NULL);
NewtonTreeCollisionBeginBuild(nmapcollision);
u32 cMeshBuffer, j;
int v1i, v2i, v3i;
IMeshBuffer *mb;
float vArray[9]; // vertex array (3*3 floats)
int tmpCount = 0;
scene::ICameraSceneNode* camera =
smgr->addCameraSceneNodeFPS(0, 100.0f, 300.0f, -1, 0, 0, true);
camera->setPosition(core::vector3df(-100,-100,-150));
scene::ISceneNodeAnimator* anim = smgr->createCollisionResponseAnimator(
selector, camera, core::vector3df(30,50,30),
core::vector3df(0,-3,0),
core::vector3df(0,50,0));
camera->addAnimator(anim);
anim->drop();
scene::IMesh *mesh = q3levelmesh->getMesh(0);
for (cMeshBuffer=0; cMeshBuffer<mesh->getMeshBufferCount(); cMeshBuffer++)
{
mb = q3levelmesh->getMesh(0)->getMeshBuffer(cMeshBuffer);
S3DVertex2TCoords* mb_vertices = (S3DVertex2TCoords*)mb->getVertices();
u16* mb_indices = mb->getIndices();
// add each triangle from the mesh
for (j=0; j<mb->getIndexCount(); j+=3)
{
v1i = mb_indices[j];
v2i = mb_indices[j+1];
v3i = mb_indices[j+2];
vArray[0] = mb_vertices[v1i].Pos.X;
vArray[1] = mb_vertices[v1i].Pos.Y;
vArray[2] = mb_vertices[v1i].Pos.Z;
vArray[3] = mb_vertices[v2i].Pos.X;
vArray[4] = mb_vertices[v2i].Pos.Y;
vArray[5] = mb_vertices[v2i].Pos.Z;
vArray[6] = mb_vertices[v3i].Pos.X;
vArray[7] = mb_vertices[v3i].Pos.Y;
vArray[8] = mb_vertices[v3i].Pos.Z;
box.addInternalPoint(mb_vertices[v1i].Pos.X, mb_vertices[v1i].Pos.Y, mb_vertices[v1i].Pos.Z);
box.addInternalPoint(mb_vertices[v2i].Pos.X, mb_vertices[v2i].Pos.Y, mb_vertices[v2i].Pos.Z);
box.addInternalPoint(mb_vertices[v3i].Pos.X, mb_vertices[v3i].Pos.Y, mb_vertices[v3i].Pos.Z);
NewtonTreeCollisionAddFace(nmapcollision, 3, &vArray[0], 12, 1);
}
}
NewtonTreeCollisionEndBuild(nmapcollision, 0);
NewtonBody* nmapbody = NewtonCreateBody(nWorld, nmapcollision);
box = q3node->getTransformedBoundingBox();
NewtonSetWorldSize (nWorld, (float*)&(box.MinEdge.X), (float*)&(box.MaxEdge.X));
NewtonReleaseCollision(nWorld, nmapcollision);
// hide cursor
device->getCursorControl()->setVisible(false);
MakeCube(vector3df((float)(2*100)-2, 800.0f, (float)(2*100)-2));
}
sinon maintenant le probleme c'est comment faire pour crée la collision entre la camera
et les objet qui sont gerée avec newton :s ? parsque la camera elle passe a travers mon ti cube mais mon cube réagit bien sur la carte
(au faite je suis toujours preneur pour celui qui me file un code permetant de gerée la collision de la camera uniquement avec newton ^^)
ciaooo