2012-07-24 83 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