Ориентация любого 3D-объекта в Unity выражена в Quaternion (кватернионе). Компонент transform в Unity имеет Rotaion (Ориентацию), которая имеет тип Quaternion ![Orientation (ориентация)](Orientation%20(ориентация).png) Rotation внутри редактора Unity задается углами Euler (Эйлера). Однако после редактирования одной из свойств, Unity сохраняет Rotation как тип данных Quaternion. <br> Углы Эйлера / Euler Angles — углы, описывающие поворот абсолютно твердого тела в трёхмерном евклидовом пространстве (x, y, z) Для работы с углами Euler используется тип данных Vector3, хотя, разумеется, углы Euler не являются вектором. Не смотря на то, что для Углов Эйлера используется в Unity тип данных Vector3, нельзя его путать с Vector3 реального вектора. Углы Эйлера определяются тремя углами (градусы или радианы), когда как реальный вектор определяется точкой в бесконечном пространстве. Можно указывать значение и вне этих рамок, однако Unity просто сделает нормализует эти значения. <br> При работе с Rotation в исходном коде, углы Euler нужно преобразовывать в Quaternion ```csharp //Как преобразовать углы Euler (Эйлера) в тип данных Quaternion (кватернион) var rotation = Quaternion.Euler(x, y, z); //Как преобразовать наоборот var eulerAngles = rotation.eulerAngles; ``` <br> Как взаимодействовать с Rotation в исходном коде. ```csharp //Получаем ориентацию объекта выраженную в Quaternion (глобально) var rotation = transform.rotation; //То же самое, только локально var localRotation = transform.localRotation; //Получаем ориентацию в виде углов Эйлера выраженную в Vector3 (глобально) var eulerAngles = rotation.eulerAngles; //То же самое, только локально var localEulerAngles = localRotation.eulerAngles; ```