Supposons que j'ai 3 cubes dans l'emplacement aléatoire/rotation qui sont visibles dans la fenêtre. Je veux être capable de détecter si le cube a été touché si je touche (ou cliquez sur l'émulateur) un cube spécifique. Si je touche juste l'espace vide au lieu d'un cube, cela devrait également être correctement détecté. Je sais qu'il y a un rappel onTouchEvent que vous écrasez sur une vue, mais cela ne me donne que la coordonnée x, y de l'endroit où le contact s'est produit. Je recherche une solution basée sur OpenGL-ES et plus spécifiquement pour une application Android basée sur Java.Comment détecter quel objet 3D a été touché?
1
A
Répondre
2
Il peut y avoir plusieurs objets (ou aucun) sur cette coordonnée x/y. Vous devriez tous les trouver, et s'il y en a, vérifiez la coordonnée z pour voir laquelle est la plus proche de la fenêtre (et donc celle qui a été touchée).
0
souvent interrogé sur la meilleure façon de le faire sans glSelect() ... cette réponse semble bon: iPhone OpenGL ES - How to Pick
(Vous pouvez ignorer le fait qu'il est une question iOS ... l'API OpenGL ES est identique sur les deux plates-formes AFAIK).
Questions connexes
- 1. cacao-touch: comment savoir quel objet a été touché
- 2. Comment déterminer quel contrôle a été touché?
- 3. comment détecter quel côté du cube 3D a été cliqué?
- 4. Détecter si un sprite spécifique a été touché Cocos2d-iphone
- 5. Comment détecter quel rectangle a été cliqué?
- 6. détecter si l'élément a été touché pendant le contact
- 7. Quel objet, ou vue, ai-je touché?
- 8. Quel objet a été cliqué lorsqu'un événement a été déclenché?
- 9. Comment indiquer un droitCalloutAccessoryView a été touché pour MapKit
- 10. a été touché par un UnsupportedOperationException
- 11. qui MKAnnotation Detecting a été touché
- 12. Comment détecter quel add-on a été activé dans IE9?
- 13. Comment détecter quel outil de création d'installation a été utilisé?
- 14. Composant Liste: Comment détecter quel élément a été sélectionné?
- 15. Comment détecter quel événement a été déclenché applicationSignificantTimeChange
- 16. Détection de collision sur un rectangle, comment savoir quel côté a été touché
- 17. comment détecter si l'image-objet a été cliquée dans pygame
- 18. Comment détecter si un appareil Android a été touché ou déplacé
- 19. Comment détecter si l'utilisateur a touché une zone d'une image?
- 20. Comment détecter quand un dessin est touché
- 21. Comment puis-je déterminer si un UILabel a été touché?
- 22. Comment trouver quel côté d'un collisionneur a été touché par hit.normal?
- 23. Comment dites-vous quel objet est touché dans les touchesBegan?
- 24. Comment obtenir un objet PDF (chaîne, image, etc.) qui a été touché par l'utilisateur?
- 25. Comment puis-je détecter sur quel objet de la liste déroulante un autre objet a été déposé?
- 26. Détecter si un objet Java a été modifié?
- 27. comment détecter si tfilestream a été libéré?
- 28. Comment détecter si l'élément a été masqué
- 29. comment détecter que tablerow a été pressé
- 30. Détecter comment un select a été modifié
Malheureusement, je ne pouvais pas suivre la solution basée C ici et comment passer à l'application Android basée sur Java. – ace
Comme indiqué dans la question, je suis à la recherche d'une solution Android basée sur Java. – ace
Essayez ceci: https://groups.google.com/forum/#!topic/android-developers/nSv1Pjp5jLY ... c'est une implémentation Android de gluUnproject() qui est exactement ce que vous voulez. –