На днях мне довелось поработать с новыми очками виртуальной реальности от Samsung и Oculus — Gear VR. Моей задачей было создать приложение для этих очков, что оказалось чуть сложнее, чем я предполагал.
Samsung Gear VR — продукт новый и еще не вышел в открытый доступ, так что конкретной информации о том, как подружить эту технологию с Unity3D еще очень мало и ее приходится долго собирать по крупицам, а официальный Integration guide мне не сильно помог. Надеюсь, эта статья сэкономит вам время.
Я опустил слишком подробное описание каждого действия, так что для полного понимания инструкции нужно знать базовые основы Unity3d и уметь билдить приложение под android.
1. Установите приложение от Samsung Gear VR на ваш телефон. Для этого нужно вставить телефон в очки, там есть USB порт. После чего запустится процесс установки, который потребует вашего вмешательства. Телефон можно вынуть, процесс установки от этого не прервется. Ссылка на видео с этим процессом будет предоставлена ниже.
2. Скачайте и установите Android SDK и Unity3D, если вы этого еще не сделали.
3. Скачайте мобильный SDK от Oculus. Не пугайтесь значку андроида, в архиве лежит папка с unitypackage.
4. В архиве, который вы скачали, нам нужна папка VrUnity -> UnityIntegration. Содержимое папки Project Settings нужно скопировать с заменой в аналогичную папку внутри вашего проекта (ProjectName\ProjectSettings), а unitypackage просто интегрировать в ваш проект.
5. Далее нужно получить некий signature file. Устанавливаем это приложение на ваше устройство.
Запустите его, там будет написан ваш device id. Полученный device id вписываем сюда и жмём кнопку «Download».
6. Файл, который вы скачали в 5-ом шаге, вам нужно поместить в папку Assets\Plugins\Android\assets вашего проекта.
7. Далее нужно сбилдить приложение под android, предварительно поставив тип сжатия текстур GLES 3.0
8. Устанавливаем на ваше устройство приложение и пытаемся его запустить. На экране появится предупреждение, что для работы требуются очки Gear VR. Ничего не нажимайте, а просто вставьте телефон в очки и приложение запустится.
1. На данный момент я не нашел способа сбилдить универсальный билд, который будет адекватно работать на любом устройстве, совместимым с Gear VR, так как для корректной работы требуется signature file, привязанный к Device ID. Думаю, причиной этому является то, что сами очки еще не вышли в открытый доступ.
2. Не знаю, по какой причине, но в моём билде постоянно сбрасывались все теги. Так, если у вас всё работает в Unity3d, но не работает в билде, можете поискать проблему тут.
3. В официальном Integration guide есть парочку советов, как подстроить свой билд под Gear VR, в основном касающихся графических настроек билда. Если у вас будут проблемы с FPS, советую заглянуть туда.
4. Судя по всему, Samsung Gear VR работает только в паре с Note 4.
Зачем эта статья?
Samsung Gear VR — продукт новый и еще не вышел в открытый доступ, так что конкретной информации о том, как подружить эту технологию с Unity3D еще очень мало и ее приходится долго собирать по крупицам, а официальный Integration guide мне не сильно помог. Надеюсь, эта статья сэкономит вам время.
Примечание
Я опустил слишком подробное описание каждого действия, так что для полного понимания инструкции нужно знать базовые основы Unity3d и уметь билдить приложение под android.
Пошаговая инструкция интеграции OVR SDK в ваше приложение на Unity3D
1. Установите приложение от Samsung Gear VR на ваш телефон. Для этого нужно вставить телефон в очки, там есть USB порт. После чего запустится процесс установки, который потребует вашего вмешательства. Телефон можно вынуть, процесс установки от этого не прервется. Ссылка на видео с этим процессом будет предоставлена ниже.
2. Скачайте и установите Android SDK и Unity3D, если вы этого еще не сделали.
3. Скачайте мобильный SDK от Oculus. Не пугайтесь значку андроида, в архиве лежит папка с unitypackage.
4. В архиве, который вы скачали, нам нужна папка VrUnity -> UnityIntegration. Содержимое папки Project Settings нужно скопировать с заменой в аналогичную папку внутри вашего проекта (ProjectName\ProjectSettings), а unitypackage просто интегрировать в ваш проект.
5. Далее нужно получить некий signature file. Устанавливаем это приложение на ваше устройство.
Запустите его, там будет написан ваш device id. Полученный device id вписываем сюда и жмём кнопку «Download».
6. Файл, который вы скачали в 5-ом шаге, вам нужно поместить в папку Assets\Plugins\Android\assets вашего проекта.
7. Далее нужно сбилдить приложение под android, предварительно поставив тип сжатия текстур GLES 3.0
8. Устанавливаем на ваше устройство приложение и пытаемся его запустить. На экране появится предупреждение, что для работы требуются очки Gear VR. Ничего не нажимайте, а просто вставьте телефон в очки и приложение запустится.
Личные замечания
1. На данный момент я не нашел способа сбилдить универсальный билд, который будет адекватно работать на любом устройстве, совместимым с Gear VR, так как для корректной работы требуется signature file, привязанный к Device ID. Думаю, причиной этому является то, что сами очки еще не вышли в открытый доступ.
2. Не знаю, по какой причине, но в моём билде постоянно сбрасывались все теги. Так, если у вас всё работает в Unity3d, но не работает в билде, можете поискать проблему тут.
3. В официальном Integration guide есть парочку советов, как подстроить свой билд под Gear VR, в основном касающихся графических настроек билда. Если у вас будут проблемы с FPS, советую заглянуть туда.
4. Судя по всему, Samsung Gear VR работает только в паре с Note 4.
AlexeyR
Очки несколько недель как продаются в Америке. Я купил пару недель назад на сайте Самсунга (правда будучи в США). Очень круто. Достаточно много приложений среди которых есть реальные шедевры. Все где «вид с одного места» и надо просто крутить головой идет на ура. Любые игры от первого лица (несмотря на впечатляющую графику и полное погружение) вызывают рассогласование картинки и вестибулярного аппарата и как результат сильнейшую головную боль.