首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >改变相机的位置。z用鼠标轮在三个

改变相机的位置。z用鼠标轮在三个
EN

Stack Overflow用户
提问于 2017-01-27 15:34:23
回答 2查看 3.5K关注 0票数 2

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

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-27 19:49:16

可以使用示例中的TrackballControlsOrbitControls来实现缩放(并旋转和平移)。参见示例轨迹球

包括在three.js-master/examples/js/controls/下载的包中可以找到的控件之一

代码语言:javascript
复制
<script src="three.js-master/examples/js/controls/OrbitControls.js"></script>

并添加到代码中。

代码语言:javascript
复制
var controls = new THREE.OrbitControls( camera, renderer.domElement );
controls.addEventListener( 'change', render );

缩放应该可以从盒子里拿出来。

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

代码语言:javascript
复制
this.enableKeys = false;
this.enablePan = false;
this.enableRotate = false;

有关更多选项,请参见OrbitControls源代码OrbitControls

票数 2
EN

Stack Overflow用户

发布于 2017-01-28 18:38:54

现在我在这里:

代码语言:javascript
复制
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);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41897577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档