2012-07-24 87 views
2

我正在使用Three.js透视相机,我需要得到相机正在看的点。相机看向量

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

+0

摄像机在沿射线多点看的方向,因此。你指的是哪一点? – WestLangley 2012-07-24 18:40:58

+0

我认为是一个任意点,我只需要方向 – Skarafaz 2012-07-24 19:19:43

回答

4

相机正在俯视它的内部负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

+0

非常感谢!我是初学者,因此所有这些矩阵都相当混乱;-) – Skarafaz 2012-07-25 07:18:11

+0

我可以使用相同的程序(使用point =(0,1,0))来计算相机的UP向量吗? – Skarafaz 2012-07-25 08:27:50

+0

如果我理解你的问题,答案是'是'。 – WestLangley 2012-07-25 13:48:45