Gizmos.matrix
Declaration
public static Matrix4x4 matrix;Описание
Устанавливает Matrix4x4, которые Unity Editor использует для рисования Gizmos.
Gizmos.matrix хранит информацию о положении, повороте и масштабе Gizmos. По умолчанию, Gizmos всегда использует координаты мира. По умолчанию Gizmos.matrix преобразует координаты мира, используя матрицу идентичности по умолчанию. Transform.localToWorldMatrix изменяет локальное координатное пространство на мировое.
GameObjectЧасто используются локальные координаты. Gizmos.matrix изменяет эти локальные координаты в мировые координаты, чтобы Gizmos Например, вращающийся объект использует локальные координаты. Перенос в мировые координаты происходит с помощью Gizmos.matrix. Для визуализации объекта, используйте Gizmos.DrawCubeСм. ниже.
Чтобы использовать пример для рисования красного полупрозрачного кубического гаджета:
1. Поместите этот примерный скрипт на Цилиндр в начале.
2. Выберите цилиндр в Hierarchy а затем нажмите Play кнопка.
3. Далее, нажмите Scene Кнопка. Гаджет должен появиться.
Цилиндр будет вращаться в Play режиме и вращаться в пределах Scene вид.
using UnityEngine; public class GizmosExample : MonoBehaviour { public float rotationSpeed = 50.0f; void OnDrawGizmosSelected() { Gizmos.color = new Color(0.75f, 0.0f, 0.0f, 0.75f); // Convert the local coordinate values into world // coordinates for the matrix transformation. Gizmos.matrix = transform.localToWorldMatrix; Gizmos.DrawCube(Vector3.zero, Vector3.one); } // Rotate the cube. void Update() { float zRot = rotationSpeed * Time.deltaTime; transform.Rotate(0.0f, 0.0f, zRot); } }