Quaternion.identity
Declaration
public static Quaternion identity;Описание
Ротация идентификаторов (только для чтения).
Это свойство представляет нулевое вращение. Например, если вы назначите Quaternion.identity мировому вращению преобразования, ось преобразования (вправо, вверх, вперед) выравнивается с мировой осью (x, y, z). Если вы назначите его локальному вращению преобразования, преобразование выравнивается с осью его родителя.
Основные характеристики свойства:
- Установка
transform.rotation = Quaternion.identityвыравнивается объект с осями мира. - Установка
transform.localRotation = Quaternion.identityустанавливает локальное вращение объекта так, чтобы оно соответствовало ориентации родительского объекта (без локального вращения относительно родительского объекта). - Умножение на
Quaternion.identityне имеет никакого эффекта.
Общие случаи использования:
- Создайте объекты с нейтральным вращением:
Instantiate(prefab, position, Quaternion.identity). - Сбросить поворот объекта к состоянию
- Используйте в качестве отправной точки для расчетов вращения.
using UnityEngine;
public class QuaternionIdentityExample : MonoBehaviour { public Transform parentObject; public Transform childObject;
void Start() { // Quaternion.identity represents zero rotation relative to world coordinate system, aligned with world axes. transform.rotation = Quaternion.identity;
// Demonstrate the difference between world rotation and local rotation: if (parentObject != null && childObject != null) { // Set child to identity rotation childObject.rotation = Quaternion.identity; // Child is aligned with world axes, not current parent's rotated axes. Debug.Log($"Child rotation: {childObject.rotation}"); Debug.Log($"Parent rotation: {parentObject.rotation}"); // To align with current parent axes, use: // childObject.localRotation = Quaternion.identity; } } }