Camera Unity 3D中的摄影机平截头体平面

Camera Unity 3D中的摄影机平截头体平面,camera,unity3d,plane,frustum,Camera,Unity3d,Plane,Frustum,我知道Unity3D中的calculatefustumplanes()返回一个Plane对象数组,每个对象代表一个不同的平截头体平面,但我找不到任何文档来说明哪个元素是哪个元素 比如说 [0] = Front [1] = Back 等等 对于四叉树系统,我需要计算空间中的一个点(如边界体积的中心点)是否在相机平截头体中。返回数组中的平面的确切顺序没有记录(我也不知道) 不管怎么说,我认为你可以不费吹灰之力就搞定它:你只需要把相机放在一个熟悉的方向,然后检查每个方向的正常值 我需要计算空间中

我知道
Unity3D
中的
calculatefustumplanes()
返回一个
Plane
对象数组,每个对象代表一个不同的平截头体平面,但我找不到任何文档来说明哪个元素是哪个元素

比如说

[0] = Front  
[1] = Back
等等


对于四叉树系统,我需要计算空间中的一个点(如边界体积的中心点)是否在相机平截头体中。

返回数组中的
平面的确切顺序没有记录(我也不知道)

不管怎么说,我认为你可以不费吹灰之力就搞定它:你只需要把相机放在一个熟悉的方向,然后检查每个方向的正常值

我需要计算空间中的一个点(如 对于四叉树系统,边界体积)位于摄影机平截头体中


对于四叉树系统,我认为平截头体和
GameObject
AABB之间的交集就足够了,所以你甚至不需要知道
平面在数组中的确切顺序就可以计算它。您可以直接使用。

顺序:左、右、下、上、近、远。

也很简单,(中心点)如果视口点x/y在[0,1]之外,点不在平截头体中(或者z为负数)@Jerdak:我认为Camera.WorldToViewPoint在这种情况下可能有更好的性能。当然,可以少划分几个部分。我懒得键入“如果点x/y在[0,0]到[pixelWidth,pixelHeight]之间”。:)