Android: Как создать VR-управление в стиле YouTube?

Я пытаюсь разработать видеоплеер VR, используя последнюю версию Google VR SDK для Android (v1.0.3), но нет высокоуровневого API для создания элементов управления воспроизведением VR.

Проигрыватель YouTube VR использует старую версию инструментария gvr и каким-то образом отображает элементы управления (например, com.google.android.libraries.youtube.common.ui.TouchImageView).

введите здесь описание изображения

Как лучше всего реализовать такие элементы управления с помощью последней версии VR SDK? Нужно ли использовать собственный рендерер с OpenGL или NDK?

Буду очень признателен за подробности реализации.


person Nick    schedule 11.11.2016    source источник
comment
Возможно, вам поможет этот репозиторий: github.com/Rajawali/RajawaliVR   -  person ramin eftekhari    schedule 20.11.2016
comment
возможный дубликат: stackoverflow.com/questions/39020103/   -  person MilaDroid    schedule 21.11.2016
comment
@MiladYarmohammadi нет, этот вопрос касается управления VR   -  person Nick    schedule 21.11.2016
comment
@ramineftekhari спасибо за ответ, но RajawaliVR использует старую версию GVR SDK (0.6.0) и демонстрирует рендеринг сцены в стереорежиме, а не в элементах управления. Я ищу способ отобразить Layout/android.view.View так, как это делает YouTube.   -  person Nick    schedule 21.11.2016


Ответы (2)


GVR SDK не позволяет рисовать что-либо поверх VrVideoView, поэтому нам нужно реализовать VR-видео самостоятельно.

Основная идея решения - использовать GvrView с пользовательским StereoRenderer. Прежде всего, нам нужно реализовать рендерер видео VR (используя шейдеры VR и MediaPlayer/ExoPlayer).

Затем нам нужно реализовать пользовательские элементы управления на сцене с помощью OpenGL ES и GVR SDK (HeadTracking, Eye и т. д.).

person Nick    schedule 21.11.2016

Вам нужно использовать OpenGL или другой движок, такой как Unity3D, чтобы показать текстуру видео. Декодирование видео в андроиде и парсинг текстуры в OpenGL или движок для показа.

person user1419851    schedule 16.11.2016