Page 1 of 1

walls intro my racegame issues

Posted: Fri Dec 22, 2006 4:14 pm
by avo18
i have a little problem with my walls .
if i drive with my car , i can go through to my walls .

how can i solve that ?

Posted: Fri Dec 22, 2006 6:09 pm
by Xharock
You need to add in Collision Detection. Check out this tutorial to lear how to do it: http://irrlicht.sourceforge.net/tut007.html

Posted: Fri Dec 22, 2006 8:03 pm
by avo18
i realy cannot find the code .

Posted: Sat Dec 23, 2006 7:50 am
by sgt_pinky
What do you mean you cannot find the code? Did you do the tutorial that Xharock posted a link to?

Posted: Sat Dec 23, 2006 10:18 am
by avo18
yes

Posted: Sat Dec 23, 2006 12:51 pm
by Xharock
Well first you need to create a Triangle Sleecter for your mesh:

Code: Select all

scene::ITriangleSelector* selector = 0;

selector = smgr->createOctTreeTriangleSelector(levelmesh->getMesh(0), levelnode, 128);
levelnode->setTriangleSelector(selector);
selector->drop();
Then you need to apply a Collision Animator to whatever it is you're controlling; Like a racing car:

Code: Select all

scene::ISceneNodeAnimator* anim = smgr->createCollisionResponseAnimator(selector, carNode, core::vector3df(30,50,30), core::vector3df(0,-3,0), core::vector3df(0,50,0));

carNode->addAnimator(anim);
anim->drop();
It's all in the tutorial I posted.

Posted: Sat Dec 23, 2006 1:02 pm
by avo18
its dont whont to works .

i've this code

Code: Select all

scene::ITriangleSelector* selector = 0;

scene::ICameraSceneNode* camera = 
		smgr->addCameraSceneNodeFPS(0, 100.0f, 300.0f, -1, 0, 0, true);
	camera->setPosition(core::vector3df(-200,125,-150)); // die 125 is hoogte van u screenventje 

	scene::ISceneNodeAnimator* anim = smgr->createCollisionResponseAnimator(
		selector, camera, core::vector3df(30,50,30),
		core::vector3df(0,-3,0), 
		core::vector3df(0,90,0));
	camera->addAnimator(anim);
	anim->drop();
device->getCursorControl()->setVisible(false);
  

	//--- licht 
	smgr->addLightSceneNode(0, core::vector3df(-60,100,400),
		video::SColorf(1.0f,1.0f,1.0f,1.0f),
		600.0f);

	//----------------
	scene::ISceneNode* selectedSceneNode = 0;
	scene::ISceneNode* lastSelectedSceneNode = 0;

Posted: Sat Dec 23, 2006 2:20 pm
by trooper
Hi,

As Xharock said above.

Your selector is 0, you havent told it to collide with anything !!

Code: Select all

scene::ITriangleSelector* selector = 0; 

selector = smgr->createOctTreeTriangleSelector(levelmesh->getMesh(0), levelnode, 128); 
levelnode->setTriangleSelector(selector); 
selector->drop();
:wink:

Posted: Sat Dec 23, 2006 7:42 pm
by avo18
thanks :D