Three.js将相机旋转到特定位置

时间:2014-02-06 11:33:57

标签: css3 three.js

我有一个使用CSS3DRenderer的div的球体。当我点击其中一个div时,我想定位/旋转相机,使元素显示在屏幕中央。 我已经尝试了几个例子,我已经阅读了其他答案但仍然无法让它发挥作用。

此刻它会移动相机,但球体会在不同的地方重新定位

我要做的是以下内容:

获取HTML元素的类。然后循环遍历THREE.CSS3DObject数组以获取其位置,然后使用它来定位相机。

function moveCamera(element) {

for ( var i = 0; i < objects.length; i ++ ) {

    var object = objects[ i ];

    if(object.element.className == element.className) {

        position = object.position;
        rotation = object.rotation;
        found = true;
        break;
    }

}

if (found) {

    camera.rotation = rotation;
    render();
    found = false;

} }

我做错了什么?

这里是示例http://jsfiddle.net/37R22/1/

由于

1 个答案:

答案 0 :(得分:1)

你很亲密。您只需将相机移动到正确的位置即可。

camera.rotation.copy( rotation );
camera.position.copy( position ).multiplyScalar( 4 );

更新了小提琴:http://jsfiddle.net/37R22/2/http://jsfiddle.net/37R22/3/

小心谨慎地追逐TrackballControls并自己修改相机属性。然而,这似乎有效。

three.js r.65