collision
Posted: Thu Jun 02, 2005 6:52 am
Hi,
I´m really a beginner with Irrlicht and I´m sure it must be easy to solve my problem, but I don´t know how to use collision with more than one object. Here´s my code:
I can load both objects but creating a second Triangleselector crashes the program. I hope my question is not too stupid, but I don´t know what to do.
Please help me and sorry for my bad english.
Tom
I´m really a beginner with Irrlicht and I´m sure it must be easy to solve my problem, but I don´t know how to use collision with more than one object. Here´s my code:
Code: Select all
int main()
{
IrrlichtDevice *device = createDevice(EDT_DIRECTX9,dimension2d<s32>(640,480),16,false,false,false,0);
device->setWindowCaption(L"Test");
IVideoDriver* driver = device->getVideoDriver();
ISceneManager* smgr = device->getSceneManager();
IAnimatedMesh* mesh = smgr->getMesh("level\\tst.my3d");
IAnimatedMeshSceneNode* node = smgr->addAnimatedMeshSceneNode( mesh );
ISceneNode* scene = smgr->addOctTreeSceneNode(mesh->getMesh(0));
IAnimatedMesh* sphere = smgr->getMesh("level\\sph.my3d");
node = smgr->addAnimatedMeshSceneNode( sphere );
scene = smgr->addOctTreeSceneNode(sphere->getMesh(0));
ITriangleSelector* selector = 0;
if (node)
{
node->setMaterialFlag(EMF_LIGHTING, true);
selector = smgr->createOctTreeTriangleSelector(mesh->getMesh(0),node,64);
node->setTriangleSelector( selector );
selector->drop();
}
ICameraSceneNode* cam = smgr->addCameraSceneNodeFPS(0,50.0f,30.0f);
device->getCursorControl()->setVisible(false);
cam->setPosition(vector3df(0,300,0));
ISceneNodeAnimator* coll = smgr->createCollisionResponseAnimator(selector,
cam,
vector3df(5,13,5),
vector3df(0,-30.0f,0),
vector3df(0,13,0));
cam->addAnimator(coll);
coll->drop();
while ( device->run())
{
driver->beginScene(true,true,SColor(0,50,50,50));
smgr->drawAll();
driver->endScene();
}
device->drop();
return 0;
}
Please help me and sorry for my bad english.
Tom