繁体   English   中英

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

[英]How to get angles value of perspective camera in Three.js?

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

为了更准确,我将用下一个标志标记我想知道的内容:

在此输入图像描述

我需要知道什么坐标:

在此输入图像描述

这对我来说是必要的,因为我正在创建一个真实的模式地图引擎,通过鼠标光标移动3D场景。

我想要实现的目标可以在这里找到: http//www.zephyrosanemos.com/windstorm/current/live-demo.html

正如您所看到的,在此示例中,新地形正在加载,与新位置相交(当摄像机离开旧视口时,以前无法使用垃圾收集):

在此输入图像描述

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

在此输入图像描述

正如你所看到的,我正在静态加载我的场景,只有一架飞机可以在建筑物中使用(建筑物数据从我的服务器加载,而数据我从某些osm服务获得令牌)。

并且它可以仅通过按下键盘按钮来控制(例如,通过按下键盘箭头,3D场景定位到新位置,因为您可以看到地图中的空白区域:)这只是因为准备切割数据数据库用于测试目的,当应用程序准备就绪时 - 它不会为空,在数据库中轻松计算记录数就可以轻松实现。 正在删除所有网格,并且每次新移动都会加载新数据并呈现新建筑。

但是我希望通过相机移动动态加载它们。 所以我想让它能够动态加载,如动态地形生成的例子。 我建议,我将准备一个大的平面矩阵,它只为8个平面加载数据(如在地形生成样本中),并且使用相机进行交互/对于这样的动态工作进行旧视图。

所以......我希望你帮我完成这项艰巨的任务:)

要获得视角,只需获取此字段的值:

Three.PerspectiveCamera.fov

使用该角度,你应该有一个假想的立方锥体并测试它是否有碰撞。 对于碰撞部分,请参考以下问题:

如何检测three.js中的碰撞?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM