Three.js OrbitControls, как останавливаться постепенно и плавно, а не мгновенно при панорамировании? - PullRequest
0 голосов
/ 22 апреля 2019

Когда я панорамирую сцену на экране, как мне настроить OrbitControls, чтобы сцена постепенно остановилась, а не мгновенно, как этот сайт ?

Вот мой код.

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);

Спасибо !!

1 Ответ

0 голосов
/ 22 апреля 2019

При использовании вашего кода я вижу демпфирование на моем компьютере, см. https://jsfiddle.net/p2kgvxoc/. Возможно, вы захотите установить OrbitControls.dampingFactor на более низкое значение, чтобы сделать эффект демпфирования более заметным. Также убедитесь, что вы используете активный цикл рендеринга.

...