返回介绍

GeometryUtility.CalculateFrustumPlanes 计算视锥体平面

发布于 2019-12-18 15:37:42 字数 3491 浏览 1194 评论 0 收藏 0

JavaScript => public static function CalculateFrustumPlanes(camera: Camera): Plane[];
C# => public static Plane[] CalculateFrustumPlanes(Camera camera);

Parameters 参数

Description 描述

Calculates frustum planes.

计算组成视锥的平面。

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

这个函数需要传入一个camera参数,计算并返回组成这个camera视锥的6个平面。

JavaScript:

	// Creates 6 planes that represent the camera frustum.创建表示相机视锥的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);
		}
	}

C#:

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++;
        }
    }
}

JavaScript => public static function CalculateFrustumPlanes(worldToProjectionMatrix: Matrix4x4): Plane[];
C# => public static Plane[] CalculateFrustumPlanes(Matrix4x4 worldToProjectionMatrix);

Parameters 参数

Description 描述

Calculates frustum planes.

计算组成视锥的平面。

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

这个函数计算并返回由视图和所传入的矩阵所组成视锥的6个面。

See Also 参考: Plane, GeometryUtility.TestPlanesAABB.

陈不臣 2015/07/20 13:56

GeometryUtility

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文