从世界空间转换到相机空间的矩阵。
此矩阵在图形文献中通常被称为“视图矩阵”。
使用此矩阵计算游戏对象的相机空间位置,或提供不基于变换的自定义相机的定位。
请注意,相机空间与 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; } }