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.