【问题标题】:Three.js move camera parallel to meshThree.js 将相机平行于网格移动
【发布时间】:2013-05-30 15:00:00
【问题描述】:

我有一个平面网格,位置为 px、py、pz、旋转 rx、ry、rz 和一些固定的高度和宽度。我的相机最初位于 0,0,0,旋转 0,0,0。当我单击平面网格时,我想将相机定位为:

  1. 相机平行于平面

  2. 整个平面网格都在视野中

如何使用 Three.js 实现这一点?我正在使用透视相机。我正在考虑尝试根据相机的 FOV 和平面的高度/宽度进行计算,但有点卡住了

【问题讨论】:

标签: graphics three.js webgl


【解决方案1】:

在您的情况下,视口与平面相同,因此可以蛮力计算 FOV 和方面。

无论如何,拥有占据整个视图空间的透视相机和平面没有任何意义。我会做什么:制作正交凸轮,用正交凸轮渲染平面,用透视凸轮渲染场景的其余部分。

另外,如果您需要“连接”凸轮和平面(移动和旋转同步),您应该使用 Three.js 提供的对象的父子属性,或者手动设置为使用平面变换矩阵也用于凸轮。

希望这会有所帮助。

【讨论】:

  • 感谢您的帮助。最后我改变了主意,决定不让飞机填满屏幕。我简单地取了平面网格的位置向量,乘以一个大于 1 的标量值,然后将相机移动到该位置,然后使用 camera.lookAt 来瞄准相机。这对我来说似乎已经足够好了
猜你喜欢
  • 2012-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-25
  • 1970-01-01
相关资源
最近更新 更多