从世界空间变换为摄像机空间的矩阵。
用于计算对象的摄像机空间位置,
或提供不基于变换的自定义摄像机位置。
注意,摄像机空间遵守 OpenGL 约定:摄像机前方为负
Z 轴。这与 Unity 的约定不同,在 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; } }