Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.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
Javascript 如何在Three.js中获取透视相机的角度值?_Javascript_3d_Camera_Three.js_Terrain - Fatal编程技术网

Javascript 如何在Three.js中获取透视相机的角度值?

Javascript 如何在Three.js中获取透视相机的角度值?,javascript,3d,camera,three.js,terrain,Javascript,3d,Camera,Three.js,Terrain,如何从3D场景中透视摄影机的每个角度获取值。 我正在使用Three.js库 更准确地说,我将用下一个符号标记我想知道的内容: 我需要知道的坐标是: 我需要它,因为我正在创建一个真实模式的地图引擎,通过鼠标光标在3D场景中移动 我正在努力实现的目标可以在这里找到: 如您所见,在本示例中,新地形与新位置相交(以前在相机离开旧视口时,垃圾收集不可用): 现在,我想展示我的three.js应用程序中的一块屏幕: 如您所见,我正在静态加载我的场景,其中只有一个平面具有建筑物(建筑物数据从我的服务

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

更准确地说,我将用下一个符号标记我想知道的内容:

我需要知道的坐标是:

我需要它,因为我正在创建一个真实模式的地图引擎,通过鼠标光标在3D场景中移动

我正在努力实现的目标可以在这里找到:

如您所见,在本示例中,新地形与新位置相交(以前在相机离开旧视口时,垃圾收集不可用):

现在,我想展示我的three.js应用程序中的一块屏幕:

如您所见,我正在静态加载我的场景,其中只有一个平面具有建筑物(建筑物数据从我的服务器加载,而我从一些osm服务中获得的数据)

并且它可能仅通过按下键盘按钮进行控制(例如,3D场景通过按下键盘箭头定位到新位置,您也可以看到地图中的空白:)这只是因为在应用程序准备就绪时,以DB为单位准备剪切数据以供测试之用-它不会为空,使用数据库中的记录计数很容易)。将删除所有网格,并在每次新移动时加载新数据并渲染新建筑

但我想让它们动态加载摄影机运动。所以我想让它能够动态加载,就像动态地形生成的例子一样。我建议,我应该准备一个大平面矩阵,它只加载8个平面的数据(如地形生成示例中的数据),并为这样一个动态工作创建一个相机交互/离开旧视图的逻辑


所以。。。我想让你帮我完成这项艰巨的任务:)

要获得视场角度,只需获得该视场的值:

3.透视照相机

有了这个角度,你就可以得到一个假想的立方锥,并测试它的碰撞。有关碰撞部分,请参阅此问题:

这将有助于您: