2012-10-21 156 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