錐台平面を計算します
この関数では、カメラの View Frustumを指定するとそれを構成する六つの平面 を返します。 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++
錐台平面を計算します
この関数では、カメラの View および投影マトリクスを指定するとそれを構成する六つの平面を返します。 See Also: Plane, GeometryUtility.TestPlanesAABB.