2013-05-11 11 views
4

CalculateFrustumPlanes()Unity3DPlane의 배열을 반환합니다. 각각은 다른 절두체 평면을 나타내지 만 어떤 요소가 어떤 문서인지 알 수는 없습니다. 예Unity 3D의 카메라 후 경면 평면

[0] = Front 
[1] = Back 

I는 (체적의 중심 포인트와 같은) 공간에서의 포인트는 쿼드 트리 시스템, 카메라 프러스 텀에 있는지 여부를 계산할 필요

.

답변

3

정확히 반환 된 배열의 Planes의 순서는 문서화되어 있지 않으며 (모름).

어쨌든 나는 많은 노력없이 알아낼 수 있다고 생각합니다. 카메라를 잘 알고있는 방향으로 놓고 각각의 보통 값을 확인해야합니다. Plane.

나는 ( 체적의 중심 포인트 등) 공간의 포인트는 쿼드 트리 시스템, 카메라 프러스 텀에 있는지 여부를 계산해야합니다. 쿼드 트리 시스템의 경우

, 나는 배열의 절두체와 GameObject 사이의 교차로 '당신도 Plane 정확하게 순서를 알 필요가 없습니다의 AABB이 충분하다'생각 그것을 계산합니다. GeometryUtility.TestPlanesAABB을 사용해도됩니다.

+2

[Camera.WorldToViewportPoint] (http://docs.unity3d.com/Documentation/ScriptReference/Camera.WorldToViewportPoint.html) (center_point) viewportPoint x/y가 [0,1]의 범위를 벗어나면 point는 다음과 같습니다. 절두체가 아닌 경우 (또는 z가 음수 일 때) – Jerdak

+0

@ Jerdak :이 경우 Camera.WorldToViewPoint가 더 나은 성능을 제공 할 수 있다고 생각합니다. – Heisenbug

+0

물론 두 사람이 더 적습니다. 포인트 x/y가 [0,0] ~ [pixelWidth, pixelHeight] 안에있는 경우 입력하기가 너무 쉬웠습니다. ' :) – Jerdak

2

주문 : left, right, bottom, top, near, far.