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.

这个函数取得给定的摄像机的视景并返回它的六个面。

参见: Plane, GeometryUtility.TestPlanesAABB.

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.

这个函数返回由给定的视窗和投影矩阵定义的视景的六个面。

参见:Plane, GeometryUtility.TestPlanesAABB.

最后修改:2011年1月5日 Wednesday 16:21

本脚本参考基于Unity 3.4.1f5

英文部分版权属©Unity公司所有,中文部分© Unity圣典 版权所有,未经许可,严禁转载 。