Описание
Матрица, трансформирующаяся из мира в пространство камеры.
Эту матрицу часто называют "матрицей вида" в литературе по графике.
Используйте это, чтобы вычислить положение GameObjects в пространстве камеры или указать пользовательское местоположение камеры, не основанное на преобразовании.
Обратите внимание, что пространство камеры соответствует соглашению OpenGL: камера вперед — это отрицательная ось Z. Это отличается от соглашения Unity, где прямое направление – это положительное значение Z
ось.Если вы измените эту матрицу, камера больше не будет обновлять визуализацию на основе своего преобразования. Это длится до тех пор, пока вы не вызовете ResetWorldToCameraMatrix.
// Смещает рендеринг камеры относительно положения преобразования.
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour
{
public Vector3 offset = new Vector3(0, 1, 0);
Camera cam;
void Start()
{
cam = GetComponent<Camera>();
}
void LateUpdate()
{
Vector3 camoffset = new Vector3(-offset.x, -offset.y, offset.z);
Matrix4x4 m = Matrix4x4.TRS(camoffset, Quaternion.identity, new Vector3(1, 1, -1));
cam.worldToCameraMatrix = m * transform.worldToLocalMatrix;
}
}
Смотрите так же: Matrix4x4.LookAt, CommandBuffer.SetViewMatrix.