2017-05-22 2 views
0

Ich verwende die transform.LookAt-Methode. Meine Kamera macht jedoch eine Drehung um ihre lokale Z-Achse. Dies ist eine zwei 90-Grad-Drehung, die sehr schnell passiert. Es ärgert mich total.So verhindern Sie, dass sich die Kamera lokal um die Z-Achse dreht

Es gibt eine Möglichkeit, dies zu verhindern? Vielleicht durch Sperren der Z-Achse. Oder indem Sie eine andere Methode verwenden, die die Drehung glatter macht.

Ich habe jeden Ansatz versucht, der bei Unity Fragen ohne Erfolg gepostet wurde.

Vielen Dank! Diese

Antwort

1

ist, wie ich es tun:

cam.transform.rotation = Quaternion.Euler(cam.transform.eulerAngles.x, cam.transform.eulerAngles.y, 0); 

Dies behebt die Drehung in der Z-Achse.

+0

Gibt es einen bestimmten Teil des Codes, um diese Zeile zu setzen? Wie LateUpdate oder so ähnlich? – Jas

+0

ja Aktualisieren oder wo auch immer Sie Ihre Kamera drehen. – Lestat

0

Es ist nicht, was ich versuchte zu tun, aber wie auch immer, ich fand dieses Skript http://wiki.unity3d.com/index.php/SmoothLookAt_CS und es ist sehr nützlich. Alle Rotationen meiner Kamera passieren sehr sanft.

Es verhindert nicht, dass irgendeine Achse rotiert, aber es kompensiert alle seltsamen und schwerfälligen Bewegungen des ursprünglichen LookAt. Ich bin sehr zufrieden mit den Ergebnissen, wenn ich es benutze.

Verwandte Themen