Hallo,
ich will ausnahmsweise mal kein Spiel programmieren, sondern einfach nur mit der FPS-Kamera in meiner Szene rumspazieren... Dabei hab ich folgendes Problem:
Ich möchte die Kollisionsabfrage mit der Kamera koppeln, so dass man eben nicht durch die Objekte durchlaufen kann. Mit dem Terrain hat es geklappt:
Code:
//create triangle selector for the terrain
ITriangleSelector* selector = irrSceneMgr->createTerrainTriangleSelector(terrain, 0);
terrain->setTriangleSelector(selector);
selector->drop();
//create collision response animator and attach it to the camera
ISceneNodeAnimator* anim = irrSceneMgr->createCollisionResponseAnimator(
selector, camera, vector3df(60,100,60), vector3df(0,0,0),
vector3df(0,50,0));
camera->addAnimator(anim);
anim->drop();
Das gleiche hab ich dann für andere Objekte versucht. Der Code ist im Prinzip der selbe, nur dass ich mesh und node geändert hab (und einen octTreeTriangleSelector verwendet habe):
Code:
//create oct-tree-triangle selector for the object mesh2
ITriangleSelector* selector2 = irrSceneMgr->createOctTreeTriangleSelector(mesh2, node2);
node2->setTriangleSelector(selector2);
selector2->drop();
//create collision response animator and attach it to the camera
ISceneNodeAnimator* anim2 = irrSceneMgr->createCollisionResponseAnimator(
selector2, camera, radius, vector3df(0,0,0),
vector3df(0,0,0));
camera->addAnimator(anim2);
anim2->drop();
mesh2 ist dabei vom Typ IAnimatedMesh,
node2 ist ein ISceneNode* (OctTreeSceneNode von mesh2)
Leider funktioniert das aber nicht...Ich kann weiterhin gemütlich durch die Wände latschen.
Nachdem ich ewig in den Foren gesucht und die Dokumentation gelesen habe bin ich leider kein Stück weiter... Ihr seid meine letzte Hoffnung
