2012-10-21 83 views
3

我正試圖讓一個'追逐'相機在物體上工作。物體旋轉後的相機

我發現母鹿正是我想要的,但它是針對R49的例子:

http://stemkoski.github.com/Three.js/Chase-Camera.html

我已經嘗試如下將其更新爲新的旋轉方法:

var rotation_matrix = new THREE.Matrix4().makeRotationZ(rotateAngle); cube.matrix.multiplySelf(rotation_matrix); cube.rotation.setEulerFromRotationMatrix(cube.matrix);

這似乎適用於該對象,但相機不按照相同的方式。我已經把在這裏演示:

http://jsfiddle.net/SSEDs/

(按A,d旋轉)

我在做什麼錯?

+0

感謝您的指點,忘記接受舊的問題! –

回答

11

您需要將相機添加爲多維數據集的子項。它不僅工作,而且數學要簡單得多。

cube.add(camera); 

這裏是更新的小提琴:http://jsfiddle.net/SSEDs/1/

小提琴使用three.js r.50。 點擊畫布獲得焦點,然後按下A和D鍵。

+0

但是,當網格旋轉時,照相機也是如此。如果我們只想旋轉網格本身呢? – majidarif

+1

@majidarif'scene.add(group); group.add(mesh); group.add(offset); offset.add(camera);''group.position'控制網格和相機的位置。 'mesh.rotation'控制網格的旋轉。 – WestLangley