为摄像机设置一个自定义矩阵,以用于所有剔除查询。
通过调用 ResetCullingMatrix 禁用该设置以前,设置持续有效。
在必须以相同方式剔除多个摄像机以渲染反射等特效的情况下,自定义剔除矩阵非常有用。
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { Camera cullingCamera;
void Awake() { cullingCamera = gameObject.AddComponent<Camera>(); SetMainCameraCustomCullingMatrix(new Vector3(10.0f, 10.0f, 10.0f), Vector3.zero); }
void SetMainCameraCustomCullingMatrix(Vector3 cameraPosition, Vector3 lookAtPosition) { transform.position = cameraPosition; transform.LookAt(lookAtPosition); Camera.main.cullingMatrix = cullingCamera.projectionMatrix * cullingCamera.worldToCameraMatrix; }
void ResetMainCameraCullingMatrix() { Camera.main.ResetCullingMatrix(); } }