Libgdx确定相机可以看到对象

时间:2014-02-28 07:48:52

标签: libgdx

怎么可能?我想要一些方法来确定我的3d对象可以看到我的相机。所以基本上它是在相机2d视口中。

1 个答案:

答案 0 :(得分:1)

libgdx camera有一个frustum。所以这应该对你有帮助:

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,还有其他方法:sphereInFrustumboundsInFrustum以及其他方法。 这个方法用于Viewfrustum Culling,这意味着,你看不到的那个对象不会被渲染,而GPU也没有什么可做的。