Hallo Leute,
Schon als ich vor einigen Jahren mal ein Spielchen programmiert habe, hat mich die Kollsionsdetection in den Wahnsinn getrieben.
Momentan treibt sie mich noch nicht in den Wahnsinn, aber ich verstehe nicht ganz was ich tue.
Ich erstelle ein Terrain mit dem ITerrainSceneNode. Dann lade ich ein Mesh, welches über dieses Terrain fahren soll.
Zuerst wollte ich vom Mesh zum "Boden" eine Line erstellen und den Betrag ausrechnen, je nach dem wie dieser ist, eine Rotation durchführen.
Dann habe ich mir mal den CollisionAnimator näher angesehen. Ich verstehe aber das Prinzip noch nicht so ganz. Und ich komme damit auch nicht zum gesuchten Resultat bzw ich weiß garnicht ob ich mein Vorhaben damit realisieren kann.
Das Mesh welches ich lade heißt "dumper"
Code:
scene::IAnimatedMesh* dumper = smgr->getMesh("media/mdls/dumper.obj");
scene::IAnimatedMeshSceneNode* dumperNode = smgr->addAnimatedMeshSceneNode(dumper);
scene::IMesh * dumperIMesh = dumper->getMesh(0); //Wozu??
Dann hab ich probiert einen TriangleSelector zum Mesh hinzuzufügen(fürs Terrain existiert auch einer):
Code:
scene::ITriangleSelector * dumperSelector = smgr->createTriangleSelector(dumper, dumperNode);
So und jetzt muss ich ja irgendwie den Animator darein bauen:
Da weiß ich nicht wie ich das machen soll
Sowas hier:
Code:
scene::ISceneNodeAnimator * dumperCollisionAnimator =
smgr->createCollisionResponseAnimator(dumperSelector, dumperNode,
core::vector3df(60,100,60),
core::vector3df(0,0,0),
core::vector3df(0,50,0));
dumperSelector->drop();
terrainNode->addAnimator(dumperCollisionAnimator);
dumperCollisionAnimator->drop();
klingt für mich relativ weit hergeholt, klappt auch nicht

.
Könnt Ihr mir mal wieder helfen?
Max