aframe - динамическое изменение положения камеры - PullRequest
0 голосов
/ 27 июня 2018

Я новичок в разработке и пытаюсь динамически изменять положение камеры на основе взаимодействия с пользователем в сцене, чтобы приблизиться к объекту и вернуться к предыдущей позиции.

Но почему-то это не работает в режиме VR. В настольном браузере камера меняет положение по желанию.

HTML:

<a-entity id='cameraWrappers1' position="0 0 0" rotation="0 90 0">
            <a-camera position="0.001 1.85 -0.52" id="cameraPositions1">
                    <a-cursor id="cam2cursor" color="#f000f0" material="" raycaster="" cursor="" geometry="" position="-0.007 -0.04 -2.05" scale="3 3 3"></a-cursor>
            </a-camera>
        </a-entity>

Сценарий:

var m1HotSpot = document.querySelector("#cameraPositions1");
                    var position = m1HotSpot.getAttribute("position");
                    console.log("position:::::" + position.z)
                    //document.querySelector("#m-1").setAttribute('scale', '1 1; 1');
                    if(position.z == -0.52){

                        m1HotSpot.setAttribute("position",'0.001 1.85 -2.35');

                    }
                    else if(position.z == -2.35){

                        m1HotSpot.setAttribute("position",'0.001 1.85 -0.52');
                  }


    }

Я пробовал решение

  1. отключил управление орбитой, изменил положение и затем включил управление орбитой

  2. Установка оболочки камеры и попытка изменить положение оболочки, все еще не работает в VR

Я использую последнюю версию aframe. Пожалуйста, дайте мне знать, если у вас есть идеи, как этого добиться.

Я поместил демо в нижнюю ручку. Когда вы нажмете на сферу, вы преобразуетесь близко к сфере и снова нажмете на нее, чтобы вернуться в исходное место. Это работает в браузере рабочего стола, но не в браузере pixel chrome в режиме VR. Пожалуйста, помогите. ДЕМО-копия

Спасибо, Akki

1 Ответ

0 голосов
/ 28 июня 2018

Установите и измените положение оболочки, а не камеры:

var camPos = document.querySelector("#cameraWrappers1");

Также в HTML-положении обертка, а не камера:

 <a-entity id='cameraWrappers1' position="0.001 1.85 -0.52">

Это пример сбоя с решением, описанным выше (позиционирование и перемещение оболочки камеры) и протестированным на телефоне Pixel с Chrome: http://glitch.com/edit/#!/nebulous-kidney

Имейте в виду, что в мобильном телефоне курсор работает в режиме пристального взгляда / плавкого предохранителя, а не при касании экрана

...