2016-03-21 2 views
1

Bemerken Sie, dass manchmal die Zahl in Transform ist seltsam. Wie:Warum gibt es seltsame Zahl in transform, -90 bis -89.9801

  • -90 bis -89,9801
  • 270 sein 271,00001
  • oder ähnliche

Auch das, was Sie ursprünglich 90 oder 270.

Warum passiert ? Hat es einige Verbindungen des Mechanismus der Einheit? enter image description here

+0

Wo haben Sie das Objekt in der Hierarchie oder direkt in der Szene platziert? –

+0

Ich fühle, dass dies normalerweise passiert, wenn ich ein Objekt dupliziere. – tim

+0

Und das geschah nicht nur in der Rotation. Manchmal, im Maßstab oder in Position – tim

Antwort

1

Der angezeigte Wert ist eine Konvertierung vom Quaternion-Wert.

https://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles

Float bringt immer ein bisschen Ungenauigkeit.

Why Are Floating Point Numbers Inaccurate?

Aber vor allem dem ersten Teil. Was angezeigt wird, ist nur für Sie zu verstehen, aber das ist nicht, was Unity verwendet. Sie werden auch einige Sprünge von 180 bis -90 oder 360 bis -180 bemerken, wenn Sie alle Achsen drehen. Dies ist wiederum auf die Tatsache zurückzuführen, dass eine Quaternion nur eine Richtung unabhängig von der 3-Achse ist (Quaternion hat tatsächlich 4 Dimensionen), aber basierend auf Winkeln und Trigonometrie.

+0

das passiert ist, nicht nur in der Rotation. aber auch Position – tim

+0

Dann ist es nur die Float-Rundung und Ungenauigkeit. Manchmal werden Sie die wissenschaftliche Notation sehen. – Everts

1

Ich denke der Grund ist, dass Unity seine Transformationen mit Quaternionen berechnet. Die Euler-Winkel müssen zu einer Quaternion berechnet werden, daher gibt es eine kleine Ungenauigkeit.

+0

Bitte beachten Sie die Kommentare, dies geschah nicht nur in der Rotation – tim

Verwandte Themen