2014-02-28 2 views
1

어떻게 가능합니까? 내 3D 객체가 내 카메라를 볼 수 있는지 판단하는 방법이 필요합니다. 기본적으로 카메라 뷰포트에 있습니다.Libgdx 카메라가 물체를 볼 수 있습니다.

+0

카메라가 물체를 볼 수 있는지 아니면 반대쪽을 볼 수 있는지 결정 하시겠습니까? 귀하의 제목과 게시물은 모순입니다. – Flawyte

답변

1

a libgdx camerafrustum입니다. 그래서 이것은 당신을 도울 것입니다 :

Frustum camFrustum = camera.frusum; 
if (camFrustum. pointInFrustum(object.x, object.y, object.z) 
    || camFrustum.pointInFrustum(object.x + object.width, object.y, object.z) 
    || camFrustum.pointInFrustum(object.x + object.width, object.y + object. heigth, object.z) 
    || camFrustum.pointInFrustum(object.x, object.y + object.height, object.z)) 
{ 
    // Object is in viewport 
} 

2D에서 object.z는 1로 설정되어야합니다. 그냥 시도 해 봐. 3D의 경우에는 다른 방법도 있습니다 : sphereInFrustum, boundsInFrustum 등이 있습니다. 이 방법은 Viewfrustum Culling에 사용됩니다. 즉, 보이지 않는 객체는 렌더링되지 않으며 GPU는 할 일이 적습니다.

+0

감사합니다 !! 그것은 매력처럼 작동하고있다 – lacas

+0

내가 도울 수 있다는 것이 좋다. 호기심을 위해서 : 도려내 기 (성능 향상) 또는 다른 것을 위해 이것을 필요로합니까? – Springrbua

+0

방금 ​​기본 렌즈 플레어가 필요했습니다. – lacas

관련 문제