Select your preferred scripting language. All code snippets will be displayed in this language.
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.