1

在 ThreeJS 中,我试图让我的相机更靠近渲染的网格,这样它就占据了更多的视口。我弄乱了 camera.position.set 值,但这些似乎只是改变了旋转,实际上并没有让它离物体更近/更远。

我正在使用 OrbitControls 模块,并认为这可能会覆盖默认设置,但是对于如何更改距离有点困惑?

任何帮助深表感谢。

完整来源

    function init() {

        // renderer
        renderer = new THREE.WebGLRenderer( { canvas: artifactCanvas, antialias: true } );
        renderer.setSize(800, 600);

        // scene
        scene = new THREE.Scene();
        scene.add( new THREE.GridHelper( build_plate_size_mm, build_plate_grid_segments ) );
        scene.background = new THREE.Color( 0xc5e5fc );

        // camera
        camera = new THREE.PerspectiveCamera( 50, window.innerWidth / window.innerHeight, 0.1, 3000 );
        camera.position.set( 1000, 500, 1000 );
        camera.lookAt( 0, 200, 0 );

        //controls
        orbit = new THREE.OrbitControls( camera, renderer.domElement );
        orbit.update();
        orbit.addEventListener( 'change', render );

        control = new THREE.TransformControls( camera, renderer.domElement );
        control.showY = false;
        control.addEventListener( 'change', render );
        control.addEventListener( 'dragging-changed', function ( event ) {
            orbit.enabled = ! event.value;
        } );

在此处输入图像描述

4

1 回答 1

0

尝试通过 THREE.Vector3 方法设置相机的位置。

camera.lookAt(new THREE.Vector3(0,0,0));

参考

于 2019-09-11T22:43:47.803 回答