有没有人知道如何更改相机的camera.position.z
(使用鼠标滚轮),并制作滚动效果?
当我尝试使用变量时,它不起作用。
答案 0 :(得分:1)
TrackballControls
或OrbitControls
可用于启用缩放(以及旋转和平移)。请参见示例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);