版本:Unity 6(6000.0)
语言中文
  • C#

GeometryUtility.CalculateFrustumPlanes

建议进行更改

成功!

感谢您帮助我们提高 Unity 文档的质量。尽管我们无法接受所有提交的内容,但我们确实会阅读用户建议的每项更改,并在适用时进行更新。

关闭

提交失败

出于某种原因,无法提交您建议的更改。请在数分钟内<a>重试</a>。感谢您花时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public static Plane[] CalculateFrustumPlanes(Camera camera);

参数

camera 带视图视锥的摄像机(计算平面会从此摄像机开始)。

返回值

Plane[] 形成摄像机视图视锥的平面。

说明

计算视锥平面。

此函数获取给定摄像机的视图视锥并返回形成该视锥的六个平面。

排序: [0] = 左,[1] = 右,[2] = 下,[3] = 上,[4] = 近,[5] = 远

其他资源: 平面GeometryUtility.TestPlanesAABB

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { void Start() { // Calculate the planes from the main camera's view frustum Plane[] planes = GeometryUtility.CalculateFrustumPlanes(Camera.main);

// Create a "Plane" GameObject aligned to each of the calculated planes for (int i = 0; i < 6; ++i) { 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); } } }

声明

public static void CalculateFrustumPlanes(Camera camera, Plane[] planes);

参数

camera 带视图视锥的摄像机(计算平面会从此摄像机开始)。
planes 6 个平面的数组,将使用计算出的平面值覆盖这些平面。

说明

计算视锥平面。

此函数获取给定摄像机的视图视锥并返回形成该视锥的六个平面。这与前面的重载类似,但该函数不会为计算出的平面分配一个新数组,而是会使用您提供的数组。此数组的长度始终必须恰好为 6。

排序: [0] = 左,[1] = 右,[2] = 下,[3] = 上,[4] = 近,[5] = 远

其他资源: 平面GeometryUtility.TestPlanesAABB


声明

public static Plane[] CalculateFrustumPlanes(Matrix4x4 worldToProjectionMatrix);

参数

worldToProjectionMatrix 从世界空间变换到投影空间的矩阵,平面就是从该矩阵中计算出的。

返回值

Plane[] 包含矩阵描述的投影空间的平面。

说明

计算视锥平面。

此函数返回由给定的视图和投影矩阵定义的视锥的六个平面。

其他资源: 平面GeometryUtility.TestPlanesAABB


声明

public static void CalculateFrustumPlanes(Matrix4x4 worldToProjectionMatrix, Plane[] planes);

参数

worldToProjectionMatrix 从世界空间变换到投影空间的矩阵,平面就是从该矩阵中计算出的。
planes 6 个平面的数组,将使用计算出的平面值覆盖这些平面。

说明

计算视锥平面。

此函数返回由给定的视图 & 投影矩阵定义的视锥的六个面。这与之前的重载类似,不同之处在于函数不会为计算出的面分配新数组,而是将使用您提供的数组。 此数组的长度必须始终恰好为 6。

其他资源: 平面GeometryUtility.TestPlanesAABB