旋转相机three.js

时间:2013-02-07 12:50:15

标签: camera rotation three.js

当有人点击按钮移动相机周围的物体时,我正在尝试。但我不想移动物体(它需要居中)。

我有:          

和js函数

function MoveUp()
{
    camera.position.y -=50;
}
function MoveDown()
{
    camera.position.y +=50;
}

但是当我点击按钮时,这是向下/向上移动物体。 是否有任何可能性只是移动相机周围和如何? 我的对象只是立方体.. 例如:

var geometry = new THREE.CubeGeometry( 50, 50, 50 );
        var material = new THREE.MeshFaceMaterial( [
        new THREE.MeshBasicMaterial( { map: THREE.ImageUtils.loadTexture( 'drvo.jpg' ) } ),
        new THREE.MeshBasicMaterial( { map: THREE.ImageUtils.loadTexture( 'drvo.jpg' ) } ),
        new THREE.MeshBasicMaterial( { map: THREE.ImageUtils.loadTexture( 'drvo.jpg' ) } ),
        new THREE.MeshBasicMaterial( { map: THREE.ImageUtils.loadTexture( 'beton.jpg' ) } ),
        new THREE.MeshBasicMaterial( { map: THREE.ImageUtils.loadTexture( 'beton.jpg' ) } ),
        new THREE.MeshBasicMaterial( { map: THREE.ImageUtils.loadTexture( 'beton.jpg' ) } )
    ] );

    cube = new THREE.Mesh( geometry, material );
    cube.position.z = 450;
    scene.add(cube);

2 个答案:

答案 0 :(得分:1)

您正在更改相机位置,同时保持其方向。我想你想重新定位相机,使它指向你的立方体(实际上,它居中)。移动相机后,试试camera.lookAt(cube.position);这需要成为MoveUp和MoveDown中的最后一件事

答案 1 :(得分:1)

查看三个.js / examples / js / controls / RollControls.js中的RollControls.js以及两个目录中的示例。由于控件存在,为什么要自己尝试。