Sets a custom matrix for the camera to use for all culling queries.
This lasts until it is disabled by calling ResetCullingMatrix.
A custom culling matrix can be useful in situations where multiple cameras must be culled identically in order to render effects such as reflections.
#pragma strict var cullingCamera: Camera; function Awake() { cullingCamera = gameObject.AddComponent.<Camera>(); SetMainCameraCustomCullingMatrix(new Vector3(10.0f, 10.0f, 10.0f), Vector3.zero); } function SetMainCameraCustomCullingMatrix(cameraPosition: Vector3, lookAtPosition: Vector3) { transform.position = cameraPosition; transform.LookAt(lookAtPosition); Camera.main.cullingMatrix = cullingCamera.projectionMatrix * cullingCamera.worldToCameraMatrix; } function ResetMainCameraCullingMatrix() { Camera.main.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(); } }