使用鼠标滚轮更改摄像机position.z in threejs

时间:2017-01-27 15:34:24

标签: camera three.js

有没有人知道如何更改相机的camera.position.z(使用鼠标滚轮),并制作滚动效果?

当我尝试使用变量时,它不起作用。

2 个答案:

答案 0 :(得分:1)

示例中的

TrackballControlsOrbitControls可用于启用缩放(以及旋转和平移)。请参见示例https://threejs.org/examples/?q=contro#misc_controls_trackball

three.js-master/examples/js/controls/中包含您可以在下载包中找到的其中一个控件:

<script src="three.js-master/examples/js/controls/OrbitControls.js"></script>

并添加到您的代码

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

缩放应该开箱即用。

如果您只对缩放感兴趣,可以禁用其他功能。

this.enableKeys = false;
this.enablePan = false;
this.enableRotate = false;

另请参阅OrbitControls来源了解更多选项OrbitControls

答案 1 :(得分:0)

现在我在这里:

const scl=0;

$(window).on('DOMMouseScroll mousewheel', function (e) {


if(e.originalEvent.detail > 0 || e.originalEvent.wheelDelta < 0) {

    while(scl==0) {

        scl+=0.05;
                camera.position.z+=scl;
                //console.log("1."+" "+scl);
    }

} else {

    while(scl==0) {


        scl+=0.05;
                camera.position.z-=scl;
                //console.log("2."+" "+scl);
    }

}
//console.log("3."+" "+scl);;
 scl=0;
});

window.setInterval(function(){
     scl=0;
}, 10);