Calculates frustum planes.
This function takes given camera's view frustum and returns six planes that form it.
See Also: Plane, GeometryUtility.TestPlanesAABB.// Creates 6 planes that represent the camera frustum. private var cam : Camera; private var planes : Plane[]; function Start() { cam = Camera.main; planes = GeometryUtility.CalculateFrustumPlanes(cam); for(var i : int = 0; i < planes.Length; i++) { var p : GameObject = GameObject.CreatePrimitive(PrimitiveType.Plane); p.name = "Plane " + i.ToString(); p.transform.position = -planes[i].normal * planes[i].distance; p.transform.rotation = Quaternion.FromToRotation(Vector3.up, planes[i].normal); } }
using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { private Camera cam; private Plane[] planes; void Start() { cam = Camera.main; planes = GeometryUtility.CalculateFrustumPlanes(cam); int i = 0; while (i < planes.Length) { GameObject p = GameObject.CreatePrimitive(PrimitiveType.Plane); p.name = "Plane " + i.ToString(); p.transform.position = -planes[i].normal * planes[i].distance; p.transform.rotation = Quaternion.FromToRotation(Vector3.up, planes[i].normal); i++; } } }
import UnityEngine import System.Collections public class ExampleClass(MonoBehaviour): private cam as Camera private planes as (Plane) def Start() as void: cam = Camera.main planes = GeometryUtility.CalculateFrustumPlanes(cam) i as int = 0 while i < planes.Length: p as GameObject = GameObject.CreatePrimitive(PrimitiveType.Plane) p.name = ('Plane ' + i.ToString()) p.transform.position = ((-planes[i].normal) * planes[i].distance) p.transform.rotation = Quaternion.FromToRotation(Vector3.up, planes[i].normal) i++
Calculates frustum planes.
This function returns six planes of a frustum defined by given view & projection matrix.
See Also: Plane, GeometryUtility.TestPlanesAABB.