Unity 6.3
0 онлайн 67 гостей 3 в системе
Вход

Camera.worldToCameraMatrix

Declaration

public Matrix4x4 worldToCameraMatrix;

Описание

Матрица, которая превращает мир в пространство камеры.

Эта матрица часто называется "матрицей просмотра" в графической литературе.

Используйте эту матрицу для вычисления пространственного положения Camera GameObjects или для определения собственного местоположения Camera, которое не основано на преобразовании.

Обратите внимание, что пространство камеры соответствует OpenGL: камера передняя — это отрицательная ось Z. Это отличается от Unity, где передняя — это положительная ось Z.

Если вы измените эту матрицу, камера больше не обновляет свое отображение на основе Transform. Это продолжается до тех пор, пока вы не вызовете ResetWorldToCameraMatrix.

// Offsets camera's rendering from the transform's position.
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,.