Как смотреть на объекты с помощью lookAt () с компонентом кадра камеры и элементами управления просмотром - PullRequest
1 голос
/ 09 июля 2020

Цель: я хочу создать веб-интерфейс, в котором пользователю нужно видеть серию элементов на сцене, а позже я хочу, чтобы пользователь мог исследовать в одиночку.

У меня есть несколько объектов вокруг сцены, и я хочу, чтобы камера смотрела на них одного за другим. Я использую метод lookat (), но работает некорректно. Я нашел этот пример на Three js:

http://jsfiddle.net/L0rdzbej/135/

Но мой пример работает не так, как предыдущий.

После ответа @ Mugen87 работает, но с небольшими изменениями:

document.getElementById('cam').sceneEl.camera.lookAt

Получите доступ к камере таким образом. Вы можете увидеть пример здесь:

https://glitch.com/~aframe-lookat-cam-not-working

Пожалуйста, нажмите кнопку «Анимировать камеру».

Ответы [ 3 ]

1 голос
/ 09 июля 2020

Как упоминалось в этой ветке , вы должны удалить или отключить look-controls, если вы вручную переопределяете поворот камеры. Таким образом, вы можете:

var cameraEl = document.getElementById('camera');
cameraEl.setAttribute('look-controls', {enabled: false});

, чтобы отключить элементы управления, выполнить операции lookAt(), а затем включить элементы управления через:

cameraEl.setAttribute('look-controls', {enabled: true})
0 голосов
/ 12 августа 2020

Наконец-то я смог заставить это работать. Я новичок в Three js и кадре, и, конечно же, я недостаточно хорошо понимаю вращение, позиции, мировые координаты, но я думаю, что проделал достойную работу. Вот ссылка:

https://glitch.com/~aframe-lookat-camera-working

Надеюсь, будет кому-нибудь полезна в будущем.

0 голосов
/ 31 июля 2020

Ответ @ Mugen87 правильный, но после использования ответа @ Mugen87 я добавил новую кнопку под названием «окно просмотра», где камера видит только одно окно. Это тот же лог c, который работает с кнопкой «анимировать камеру», но после запуска кода камера ведет себя странно.

https://glitch.com/~aframe-lookat-cam-not-working

Если перетащить вертикально, камера выглядит так. Тот же код, но ведет себя иначе.

enter image description here

Why?

I found this same description of the problem here:

https://php.developreference.com/article/14602336/A-Frame+camera+rotation+using+lookAt ()

...