【问题标题】:Change camera position distance in ThreeJS在 ThreeJS 中更改相机位置距离
【发布时间】:2019-09-11 16:49:43
【问题描述】:

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

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

非常感谢任何帮助。

Full source

    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;
        } );

【问题讨论】:

  • 为什么不把你最小的可复现的例子放在snippet
  • 想念scene.add(camera) 吗?

标签: three.js camera orbital-mechanics


【解决方案1】:

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

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

Refrence

【讨论】:

    猜你喜欢
    • 2017-06-13
    • 1970-01-01
    • 1970-01-01
    • 2013-07-31
    • 2014-12-29
    • 2019-06-05
    • 2020-11-03
    • 2014-07-02
    • 2023-04-02
    相关资源
    最近更新 更多