从世界空间变换为摄像机空间的矩阵。
用于计算对象的摄像机空间位置,
或提供不基于变换的自定义摄像机位置。
注意,摄像机空间遵守 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;
}
}