如何在3D场景中从透视相机的每个角度获取值。我使用的是Three.js库。

我需要知道的坐标:

这对我来说是必要的,因为我正在创建一个真实模式的地图引擎,通过鼠标光标在3D场景中移动。
如您所见,在此示例中,新地形正在加载与新位置相交的内容(以前,当摄影机离开旧视口时,垃圾收集不会提供这些位置):

现在,我想显示我的three.js应用程序的一部分屏幕:

正如你所看到的,我正在静态地加载我的场景,其中只有一个带有建筑物的平面可用(建筑物数据是从我的服务器加载的,而我拥有的数据是从一些osm服务加载的)。
它只能通过按下键盘按钮来控制(例如,3D场景通过按键盘箭头定位到新的位置,因为你可以看到map中的空白空间:)这只是因为在数据库中准备剪切数据用于测试目的,当应用程序准备就绪时-它不会为空,这是很容易与数据库中的记录数量较少的工作)。所有网格都将被删除,每次新的移动都会加载新的数据并渲染新的建筑。
我建议,我应该准备一个大的平面矩阵,它只加载8个平面的数据(就像在地形生成样本中一样),并为这样一个动态工作与相机交互/离开旧视图建立一个逻辑。
所以..。
发布于 2014-02-03 23:27:08
要获取视野角度,只需获取该字段的值:
Three.PerspectiveCamera.fov
有了这个角度,你应该可以有一个假想的立方体圆锥体,并测试它的碰撞。有关碰撞部分,请参考以下问题:
https://stackoverflow.com/questions/21530357
复制相似问题