为相机设置一个自定义矩阵,用于所有剔除查询。
这将持续到通过调用 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(); } }