Всем известно, что числа float иногда выглядят немного непонятно.. Например когда вы покрутите какой то объект на сцене, и потом вернёте его в 0 0 0 то сможете увидеть число -9.536743E-07 или 9.536743E-07 или 2.861023E-06. Всё это тоже самое что и число 0 (ноль). Как можно сконвертировать что ли.. ..это число непонятное в нормальное всем понятное ? Есть формула как это считается? И что это за E-** ? Может это когда нибудь будет изучаться в школе на алгебре, но я лично не в курсе. Жду ответа. Заранее спасибо
2 и 9 не может быть тем же что 0, что-то у тебя не так
но объект стоит так же , если его вернуть на 0 0 0 по rotation. Я просто делаю штуку, где пользователь может повернуть объект. И он видит углы поворота. Беру их из transform.rotation.eul..Edges . И если прибавить к X +10, а потом -10 (10.0f) то становиться не обратно ноль, а какое то число которое я писал в первом посте. Так что это всё ноль. Находил я такое на answers.unity3d.com. Там чувак сказал что это число (вроде это -9.536743E-07) приравнивается к нулю.
robertono, углы Эйлера должны быть строго в диапазоне от 0 до 360 градусов, прибавляя или убавляя 10, заостри внимание на этом, не выходит ли значение за эти пределы. Может проблема в этом. King Size #Gamiron12
Например когда вы покрутите какой то объект на сцене, и потом вернёте его в 0 0 0 то сможете увидеть число -9.536743E-07 или 9.536743E-07 или 2.861023E-06
Это из-за особенностей хранения вещественных чисел в памяти. При вычитании близких по величине чисел результат получается с погрешностью.
Число -9.536743E-07 в обычной записи выглядит так: -0.0000009536743 (очень близко, но все-таки не ноль). Если хочешь получить красивое число - попробуй что-то вроде Mathf.Round(число * 1000) / 1000.0 Всё гениальное просто. И хреново работает.