Code: Select all
void CGame::Prepare()
{
// add skybox
smgr->addSkyBoxSceneNode(driver->getTexture("data/irrlicht2_up.bmp"),driver->getTexture("data/irrlicht2_dn.bmp"),driver->getTexture("data/irrlicht2_lf.bmp"),driver->getTexture("data/irrlicht2_rt.bmp"),driver->getTexture("data/irrlicht2_ft.bmp"),driver->getTexture("data/irrlicht2_bk.bmp"));
// load map
g_map = smgr->getMesh("data/castle.x");
g_mapnode = smgr->addOctTreeSceneNode(g_map->getMesh(0));
// create map triangle selector
mapSelector = smgr->createOctTreeTriangleSelector(mesh->getMesh(0),
g_mapnode, 128);
metaSelector = smgr->createMetaTriangleSelector();
metaSelector->addTriangleSelector(mapSelector);
scene::ISceneNodeAnimatorCollisionResponse* collider =
smgr->createCollisionResponseAnimator(
metaSelector, camera, core::vector3df(30,50,30),
core::vector3df(0, g_mapnode ? -100.0f : 0.0f,0), 100.0f,
core::vector3df(0,40,0), 0.0005f);
camera->addAnimator(collider);
collider->drop();