THREE.js ORBITCONTROLLS изменение кнопок мыши не работает

Здравствуйте, я пытаюсь сделать что-то с THREE.js, но по какой-то причине мои.mouseButtons не работают

var controls = new THREE.OrbitControls( camera, renderer.domElement );
            controls.target.set( 0, 25, 0 );
            controls.mouseButtons = {ORBIT: THREE.MOUSE.LEFT, ZOOM: THREE.MOUSE.MIDDLE, PAN: THREE.MOUSE.RIGHT };
            controls.update();

у меня есть THREE.js, и я проверил, есть ли там THREE.MOUSE, если я добавлю эту часть кода, кнопки мыши полностью отключатся

надеюсь, кто-нибудь может мне помочь

1 ответ

Решение

Поскольку этот коммитmouseButtons объект изменил свои ключи. Вы больше не указываете ORBIT, ZOOM а также PAN но вместо этого вы сопоставляете кнопки мыши с кнопками карты. Какую версию THREE.js вы используете? Может ли это быть причиной ваших проблем?

В текущей версии ваш код должен (в моем понимании) быть написан следующим образом:

var controls = new THREE.OrbitControls( camera, renderer.domElement );
    controls.target.set( 0, 25, 0 );
    controls.mouseButtons = {LEFT: THREE.MOUSE.LEFT, MIDDLE: THREE.MOUSE.MIDDLE, RIGHT: THREE.MOUSE.RIGHT};
    controls.update();

Однако обратите внимание, что это уже сопоставления по умолчанию, поэтому, если вы не собираетесь их менять, вся строка может быть опущена.

Другие вопросы по тегам