Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Libgdx确定性照相机可以看到物体_Libgdx - Fatal编程技术网

Libgdx确定性照相机可以看到物体

Libgdx确定性照相机可以看到物体,libgdx,Libgdx,怎么可能呢?我想要一些方法来确定我的3d对象可以看到我的相机。因此,基本上它位于摄影机2d视口中。一个libgdx摄影机有一个平截头体。因此,这将有助于您: Frustum camFrustum = camera.frusum; if (camFrustum. pointInFrustum(object.x, object.y, object.z) || camFrustum.pointInFrustum(object.x + object.width, object.y, object.

怎么可能呢?我想要一些方法来确定我的3d对象可以看到我的相机。因此,基本上它位于摄影机2d视口中。

一个libgdx
摄影机
有一个
平截头体
。因此,这将有助于您:

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
以及其他方法。
此方法用于
视锥剔除
,这意味着,您看不到的对象不会被渲染,GPU可以做的事情更少。

您想确定相机是否可以看到对象还是相反?你的头衔和职位是矛盾的。很好,我能帮你。只是出于好奇:你需要这个来挑选(性能提升)还是其他什么?我只需要一个基本的lensflareAh好的。听起来很有趣