You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Three.js + OrbitControls:如何调整鼠标平移速度?

调整OrbitControls鼠标平移速度的方法

嘿,这个问题我刚好踩过坑!确实OrbitControls的文档里关于鼠标平移速度的说明有点不显眼,我来给你说清楚怎么解决:

  • 核心属性:panSpeed
    其实OrbitControls本身就有专门控制鼠标拖拽平移速度的属性——panSpeed,默认值是1。你只需要把它设为小于1的数值,就能直接降低鼠标平移的速度,比如:

    const controls = new OrbitControls(camera, renderer.domElement);
    controls.panSpeed = 0.3; // 把平移速度降到默认的30%,数值越小速度越慢
    

    这个属性和你提到的zoomSpeed、rotateSpeed是同一类控制项,专门对应鼠标拖拽平移的操作,和控制键盘平移的keyPanSpeed完全分开。

  • 自定义轴方向的平移速度(进阶)
    如果你需要更精细的控制,比如X轴和Y轴的平移速度不一样,还可以通过监听pan事件来调整平移增量:

    controls.addEventListener('pan', (event) => {
      // 单独降低X轴平移速度
      event.deltaX *= 0.5;
      // 单独降低Y轴平移速度
      event.deltaY *= 0.3;
    });
    
  • 版本注意事项
    这个panSpeed属性在Three.js r125及以上的版本里是稳定支持的,如果你的项目用的是非常老旧的版本,建议升级到较新的版本,或者通过重写OrbitControls的pan方法来实现类似效果。

内容的提问来源于stack exchange,提问作者d4rty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 08:50:13