# GeometryUtility.CalculateFrustumPlanes 计算视景平面

static function CalculateFrustumPlanes (camera : Camera) : Plane[]

Description描述

Calculates frustum planes.

This function takes given camera's view frustum and returns six planes that form it.

``````using UnityEngine;
using System.Collections;

public class example : 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++;
}
}
}``````
``````// Creates 6 planes that represent the camera frustrum.
//创建6个平面，代表摄像机视景体
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);
}
}``````

• static function CalculateFrustumPlanes (worldToProjectionMatrix : Matrix4x4) : Plane[]

Description描述

Calculates frustum planes.

This function returns six planes of a frustum defined by given view & projection matrix.

Page last updated: 2011-1-5