首页 文章

旋转相机three.js

提问于
浏览
1

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

我有:

和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 回答

  • 1

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

  • 1

    看一下在three.js / examples / js / controls / RollControls.js上的RollControls.js以及两个目录中的示例 . 由于控件在那里,为什么要尝试自己做 .

相关问题