WebVR - обновлять сцену независимо для каждого глаза - PullRequest
0 голосов
/ 14 декабря 2018

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

У меня есть демонстрационное приложение, написанное с использованием WebGLиспользование Three.js, как описано в Учебник для разработчиков Google .

Но есть только одна сцена, содержащая одну сетку, с одной функцией обновления.Я не могу найти способ реализовать разделение обновлений, поэтому это делается отдельно для каждого глаза (так же, как выполняется рендеринг), и задаюсь вопросом, возможно ли это вообще.

У кого-нибудь есть опыт работы с подобным случаем?

1 Ответ

0 голосов
/ 14 декабря 2018

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

К счастью, у каждого объекта есть событие onBeforeRender(renderer, scene, camera, ...).Если вы подключите это событие и найдете способ отличить камеру для левого / правого глаза, вы сможете изменить ориентацию непосредственно перед ее рендерингом.

(возможно, слишком) простой способ отличить камеру отследить за индексом со счетчиком.

...