Fadenkreuz - Objekt Berechnung
-
Hallo ich habe eine kleine Welt aus Blöcken (Minecraft-like) erstellt in der man sich bewegen kann.
Das Fadenkreuz ist immer in der Mitte des Bildschirms und wenn man jetzt die Maus klickt soll der Block zerstört werden, auf den das Fadenkreuz zeigt.
Aber wie berechne ich auf welchen Block das Fadenkreuz zeigt (Die Koordinaten der Kamera habe ich)?
-
Die Koordinaten der Kamera reichen nicht. Du brauchst die Orientierung, bspw. in Form eines Quaternions.
-
Die Orientierung der Kamera alleine reicht nicht, du brauchst Position und Orientierung, weiters wirst du berücksichtigen müssen, wie deine 3D Welt auf die Bildfläche projiziert wird. Stichworte: Picking, View Projection Matrix und homogene Koordinaten.
-
dot schrieb:
Die Orientierung der Kamera alleine reicht nicht, du brauchst Position und Orientierung
Soll das jetzt ein Scherz sein? Das meinte ich doch!
dot schrieb:
Die Orientierung der Kamera alleine reicht nicht, du brauchst Position und Orientierung, weiters wirst du berücksichtigen müssen, wie deine 3D Welt auf die Bildfläche projiziert wird. Stichworte: Picking, View Projection Matrix und homogene Koordinaten.
Wieso so kompliziert? Das Fadenkreuz ist genau in der Mitte des Bildschirms! Man kann auch einfach von der Kamera aus ein Ray schießen und den ersten Block nehmen, auf den er trifft.
-
Ja die Rotation um x,y und z habe ich auch. Muss ich dann in einer Schleife den Strahl vom Fadenkreuz aus jedesmal um einen kleinen Wert verlängern solange bis er auf einen Block trifft?
-
joooooO00o schrieb:
Ja die Rotation um x,y und z habe ich auch. Muss ich dann in einer Schleife den Strahl vom Fadenkreuz aus jedesmal um einen kleinen Wert verlängern solange bis er auf einen Block trifft?
Das wäre die direkte Variante, ja.
-
Sone schrieb:
dot schrieb:
Die Orientierung der Kamera alleine reicht nicht, du brauchst Position und Orientierung, weiters wirst du berücksichtigen müssen, wie deine 3D Welt auf die Bildfläche projiziert wird. Stichworte: Picking, View Projection Matrix und homogene Koordinaten.
Wieso so kompliziert? Das Fadenkreuz ist genau in der Mitte des Bildschirms! Man kann auch einfach von der Kamera aus ein Ray schießen und den ersten Block nehmen, auf den er trifft.
Stimmt; wissen, wo der Ray anfängt, musst du trotzdem...
-
dot schrieb:
Sone schrieb:
dot schrieb:
Die Orientierung der Kamera alleine reicht nicht, du brauchst Position und Orientierung, weiters wirst du berücksichtigen müssen, wie deine 3D Welt auf die Bildfläche projiziert wird. Stichworte: Picking, View Projection Matrix und homogene Koordinaten.
Wieso so kompliziert? Das Fadenkreuz ist genau in der Mitte des Bildschirms! Man kann auch einfach von der Kamera aus ein Ray schießen und den ersten Block nehmen, auf den er trifft.
Stimmt; wissen, wo der Ray anfängt, musst du trotzdem...
Na bei der Kamera, wo sonst?
Ich meinte von Anfang an, dass man Orientierung und Position braucht. Nicht dass du denkst, ich meinte, Orientierung genügt