【问题标题】:Camera lookAt vector相机看矢量
【发布时间】:2012-07-23 03:02:12
【问题描述】:

我正在使用 Three.js 透视相机,我需要获取相机正在查看的点。

如何使用相机的矩阵/旋转向量计算它?

【问题讨论】:

  • 相机正朝一个方向看,因此沿着该射线的许多点。你指的是哪一点?
  • 我认为任意点,我只需要方向

标签: javascript opengl-es webgl three.js


【解决方案1】:

相机正在向下看它的内部负 z 轴。所以选择相机负 z 轴上的任意点,如下所示:

var point = new THREE.Vector3( 0, 0, -1 );

现在将该点从相机空间转换为世界空间,如下所示:

point.applyMatrix4( camera.matrixWorld );

注意:这给出了相机正在查看的点。要获取摄像头的朝向,请参阅Three.js: Get the Direction in which the Camera is Looking

编辑:更新为 three.js r.59

【讨论】:

  • 非常感谢!我是一个初学者,所以所有这些矩阵都是一团糟;-)
  • 我可以用同样的程序(point = (0,1,0))来计算相机的UP向量吗?
  • 如果我理解您的问题,答案是“是”。
  • 已弃用:Matrix4 的 .multiplyVector3() 已被删除。请改用 vector.applyMatrix4( matrix ) 或 vector.applyProjection( matrix )。
  • @MicahDelaneBolen 感谢您的提醒。使用正确的函数更新答案。
猜你喜欢
  • 2011-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-21
  • 2016-06-28
  • 1970-01-01
  • 2013-03-19
  • 1970-01-01
相关资源
最近更新 更多