Ich hab in 3ds Max ein paar testmodelle erstellt und diese dann im irrEdit zusammengefügt (alle modelle sind 3ds).
Nun wollte ich mich in die kollision einarbeiten. Doch wie ich gemerkt habe, erstellt die methode, die ich benutze (die einzige, die ich gefunden hab) ein neues "mesh", das schwarz ist und das dann die kollision bewerkstelligt. Bei mir sieht man jedoch dieses schwarze Mesh... Ausserdem kann ich nur in 1 mesh von der irr-datei (durch übergeben der 3ds-datei) die kollision einschalten.
Nun will ich dass die Kollision für alle Modelle innerhalb der irr-datei ist. Wie kann ich das bewerkstelligen?
mein bisheriger code geht folgendermassen (ausschnitt):
Code:
smgr->loadScene("../Work/Worlds/test.irr");
scene::IAnimatedMesh* levelmesh = smgr->getMesh("../Work/Meshes/haus1.3ds");
scene::ISceneNode* levelnode = 0;
levelnode = smgr->addOctTreeSceneNode(levelmesh->getMesh(0));
scene::ITriangleSelector* selector = 0;
if (levelnode)
{
selector = smgr->createOctTreeTriangleSelector(
levelmesh->getMesh(0), levelnode, 128);
levelnode->setTriangleSelector(selector);
selector->drop();
}
scene::ISceneNodeAnimator* anim =
smgr->createCollisionResponseAnimator(
selector, node, core::vector3df(30,50,30),
core::vector3df(0,-3,0),
core::vector3df(0,50,0));
node->addAnimator(anim);
anim->drop();
Ausserdem hab ich gesehen, dass man im irrEdit die Kollision schon anschalten kann, jedoch zeigt dies keinerlei wirkung auf die irr-datei wenn ich sie in einem "spiel" lade.