【问题标题】:Three.js OrbitControls how to stop gradually and smoothly, instead of instantly when panning?Three.js OrbitControls如何在平移时逐渐平稳地停止,而不是立即停止?
【发布时间】:2019-04-22 08:13:08
【问题描述】:

当我在屏幕上平移场景时,我应该如何设置OrbitControls让场景逐渐停止,而不是像this website那样立即停止?

这是我的代码。

controls = new THREE.OrbitControls( camera, renderer.domElement );
controls.mouseButtons = {
    ORBIT: THREE.MOUSE.RIGHT,
    ZOOM: THREE.MOUSE.MIDDLE,
    PAN: THREE.MOUSE.LEFT
};
controls.enableDamping = true;
controls.dampingFactor = 0.25;
controls.screenSpacePanning = false;

const direction = new THREE.Vector3();
camera.getWorldDirection(direction);
camera.getWorldPosition(controls.target);
controls.target.addScaledVector(direction, 50);

谢谢!!

【问题讨论】:

    标签: javascript three.js tween easing


    【解决方案1】:

    在使用您的代码时,我可以看到我的计算机上有阻尼,请参阅https://jsfiddle.net/p2kgvxoc/。您可能希望将OrbitControls.dampingFactor 设置为较低的值,以使阻尼效果更明显。还要确保使用活动的渲染循环。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-02
      • 1970-01-01
      • 1970-01-01
      • 2015-09-19
      • 1970-01-01
      • 1970-01-01
      • 2016-12-18
      相关资源
      最近更新 更多