Historique des modifications - Message

Message #5225

Sujet: C++ irrEdit & scene manager => Collion ultime sans se fatiguer


Type Date Auteur Contenu
Création du message 16-12-2008 11:05:42 hardcpp
voila ce bout de code vous permettra de créer des collisions avec tout les objets pressent dans la scène:
(pour la version 1.5 d'Irrlicht.)

Code c++ :

	scene::IMetaTriangleSelector * meta = smgr->createMetaTriangleSelector();

	core::array<scene::ISceneNode *> nodes;
	smgr->getSceneNodesFromType(scene::ESNT_ANY, nodes);

	for (u32 i=0; i < nodes.size(); ++i)
	{
		scene::ISceneNode * node = nodes[i];
		scene::ITriangleSelector * selector = 0;

		switch(node->getType())
		{
			case scene::ESNT_CUBE:
			case scene::ESNT_ANIMATED_MESH:
				selector = smgr->createTriangleSelectorFromBoundingBox(node);
			break;

			case scene::ESNT_MESH:
			case scene::ESNT_SPHERE:
				selector = smgr->createTriangleSelector(((scene::IMeshSceneNode*)node)->getMesh(), node);
				break;

			case scene::ESNT_TERRAIN:
				selector = smgr->createTerrainTriangleSelector((scene::ITerrainSceneNode*)node);
				break;

			case scene::ESNT_OCT_TREE:
				selector = smgr->createOctTreeTriangleSelector(((scene::IMeshSceneNode*)node)->getMesh(), node);
				break;

			default:
				break;
		}

		if(selector)
		{
			meta->addTriangleSelector(selector);
			selector->drop();
		}
	}

	scene::ISceneNodeAnimator* anim = smgr->createCollisionResponseAnimator(
		meta, camera, core::vector3df(5,5,5),
		core::vector3df(0,0,0));
	meta->drop();

	camera->addAnimator(anim);
	anim->drop();

Retour

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
135 invités en ligne
membre en ligne: -
RSS Feed