Historique des modifications - Message

Message #3047

Sujet: Comment repérer les objets situés derrière un rectangle écran ?


TypeDateAuteurContenu
Création du message05-10-2007 16:18:43firnafin
Bonjour;
Tout depend de la nature de ton projet:si il y a un terrain ( rts ) ou pas ( jeux dans l'espace par exemple ) du nombre de node ( si c'est de l'ordre de 10 ou 200) mais voila un methode faisable :

         
	irr::core::line3df getLinePick(irr::scene::ICameraSceneNode* camera,irr::gui::ICursorControl* cursor){
		irr::scene::SViewFrustum* VF=camera->getViewFrustum();
		irr::core::vector3df LU=VF->getFarLeftUp();
		irr::core::vector3df Y=VF->getFarLeftDown()-LU;
		irr::core::vector3df X=VF->getFarRightUp()-LU;
		return irr::core::line3df(camera->getPosition(),LU+X*cursor->getRelativePosition().X+Y*cursor->getRelativePosition().Y);
	}

( code fait a la volet ... donc surment pas bien optimisé )
Tu appliques cette fonction au 4 sommets du rectangle de selection et tu recupere une pyramide apres selon ton projet :
  • si il a y un terrain et que les nodes sont dessus tu transfomes cette pyramide en un rectangle ( intersection terrain pyramide ) et tu recuperes les nodes dans celui
  • si il n'y a pas de terrain tu peux rechercher les nodes dans la pyramide directement

Bref utiliser au mieu les specificitées du projet il y plein de methode mais la base et de recuperer "la pyramide de selection"

Retour

OptionsLiens officielsCaractéristiquesStatistiquesCommunauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1441 sujets
11339 messages
Dernier membre inscrit: Saidov17
64 invités en ligne
membre en ligne: -
RSS Feed