Включить управление орбитой в VR
Я использую элементы управления орбитой, которые являются частью пакета k-frame Кевина Нго: https://github.com/ngokevin/kframe/tree/master/components/orbit-controls/
элементы управления позволяют вращать камеру вокруг сцены, создавая впечатление поворота сцены вокруг точки обзора. к сожалению, при переходе в режим VR компонент автоматически переключается на элементы управления взглядом от первого лица в центре сцены.
для моего проекта я хочу сохранить перспективу орбиты и контроль орбиты, даже в VR. Я подумал, что этого можно добиться, отключив часть кода после проверки, введен ли VR.
el.sceneEl.addEventListener('enter-vr', () => {
if (!AFRAME.utils.device.checkHeadsetConnected() &&
!AFRAME.utils.device.isMobile()) { return; }
this.controls.enabled = false;
if (el.hasAttribute('look-controls')) {
el.setAttribute('look-controls', 'enabled', true);
oldPosition.copy(el.getObject3D('camera').position);
el.getObject3D('camera').position.set(0, 0, 0);
}
});
Компонент управления орбитой работает непосредственно на камере three.js, а не на уровне кадра - однако управление камерой vr осуществляется с помощью управления кадром. до сих пор все, что я пробовал, заканчивалось с камерой vr в центре сцены..
Мне удалось увидеть камеру, движущуюся вокруг сцены в режиме VR - однако я застрял в своей позиции VR
1 ответ
Я рекомендую создать и повернуть родителя a-entity
модели / сцены вместо. Перемещение камеры столкнется с look-controls
как вы уже видели, это будет неудобно для пользователей и может вызвать укачивание.