Historique des modifications - Message

Message #3047

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


Type Date Auteur Contenu
Création du message 05-10-2007 16:18:43 firnafin
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

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
125 invités en ligne
membre en ligne: -
RSS Feed