Ich möchte berechnen, auf welches Gesicht auf einem Würfel geklickt wurde. Ich habe die Maus in 3D, und ich kann Dinge in 3D an der Mausposition zeichnen.Das Gesicht eines Würfels erhalten
Alles, was ich jetzt tun muss, ist zu berechnen, WAS Gesicht eines Würfels berührt wird.
EG. Ich habe eine Funktion, wenn ich die Größe, Position und Mausposition an sie übergebe, gibt sie das Gesicht zurück. Oben, unten, links, rechts, vorne, hinten.
Klingt einfach, aber ich habe nicht die nebeligste.
Dank alle, SilentC
Also die Zeile, die definiert wird, wäre von der Kamera zur Maus, richtig? –
Ich nehme auch an, dass ich die Rotation kompensieren müsste, oder? –
Die Linie von der Kamera ** über ** die Maus bis unendlich schneidet eine oder mehrere Flächen (normalerweise zwei, wenn nur ein einziger Würfel vorhanden ist). Ignoriere degenerierte Fälle wie Kanten, Scheitelpunkte und alle Flächen, die parallel zur Linie liegen. Es könnte sich lohnen, nach hinten gerichtete Gesichter auszusondern. Der Benutzer möchte mit Sicherheit das nächste Gesicht, aber Sie möchten vielleicht eine Affordanz anbieten, um zwischen den Gesichtern zu wählen, so dass der Benutzer ein verborgenes Objekt auswählen kann, wenn er möchte. – RBerteig