Ich entwickle einen Spiel-Editor. Um Mausklicks auf ein 3D-Modell zu erkennen, verwende ich das Konzept des Maus-Pickings. Aber ich möchte Übersetzungs- und Rotations-Widgets wie in anderen Spiel-Editoren implementieren, mit tatsächlichen Pfeilen in der Mitte des Modells in drei Richtungen. Wie kann ich das erreichen..? Kann jemand Beispielcode dafür vorschlagen?
Antwort
Zu viele Anzeigen?
Goz
Punkte
59671
Jedes ausgewählte Objekt wird über eine lokale-zu-Welt-Transformationsmatrix verfügen.
Bei der Verwendung von DirectX ist es ziemlich einfach, die 3 Achsen zu erhalten.
Die erste Zeile der Matrix ist der Seiten(x)-Vektor.
Die zweite Zeile ist der Oben (y)-Vektor.
Die dritte Zeile ist der Vorwärts(z)-Vektor.
Das Wissen um die Position (die 4. Zeile) erleichtert die Trigonometrie, um die Aufgabe zu erledigen. Somit ist es ziemlich einfach, Rotationen und Übersetzungen basierend auf diesen Informationen durchzuführen.