Je construis une interface de glisser-déposer 3D simple dans le traitement, et je veux détecter quand la souris survole un objet. J'imagine que j'ai besoin de faire des traductions matricielles aux coordonnées du modèle 3D pour les obtenir dans l'espace écran et ainsi de suite ...Traduction des coordonnées X & Y de la souris en coordonnées 3D
J'ai une version simple de ce fonctionnement, le problème est que lorsque la caméra est déplacée la scène les coordonnées que je reçois vont haywire.
Alors comment traduire les coordonnées des tuiles dans l'espace d'écran (puisque les screenY & screenY ne fonctionnent pas correctement)?
MISE À JOUR: J'ai finalement trouvé deux exemples du site de traitement sur la façon de procéder. Merci à villintehaspam.
http://processing.org/hacks/hacks:picking
Pour voir une projection 2D de votre objet 3D, vous devez traduire des coordonnées 3D en une projection 2D spécifique (coordonnées d'écran). Le problème est que cette traduction implique une perte, donc vous ne pouvez pas simplement inverser le processus et obtenir un point en 3D. Vous devez projeter un rayon en arrière, trouver tous les objets que le rayon croise et trier par ordre-Z. –