В этом руководстве показано, как использовать плагин Google Cardboard XR для Unity для создания собственных приложений виртуальной реальности (VR).
С помощью Cardboard SDK можно превратить мобильный телефон в платформу виртуальной реальности. Мобильное устройство может отображать 3D-сцены со стереоскопическим рендерингом, отслеживать и реагировать на движения головы, а также взаимодействовать с приложениями, определяя нажатие пользователем кнопки просмотра.
Для начала вам понадобится HelloCardboard — демо-игра, демонстрирующая основные функции Cardboard SDK. В игре пользователи исследуют виртуальный мир, находят и собирают предметы. В ней показано, как:
- Настройте среду разработки
- Загрузите и создайте демо-приложение
- Отсканируйте QR-код устройства просмотра Cardboard, чтобы сохранить его параметры.
- Отслеживайте движения головы пользователя
- Создавайте стереоскопические изображения, устанавливая правильное искажение для каждого глаза.
- Включайте и выключайте режим VR
Настройте среду разработки
Требования к программному обеспечению:
- Unity 6000.0.23f1 или более поздняя версия
- Обязательно включите поддержку сборки Android и iOS во время установки.
- Обязательно установите патч версии 23f1 или более поздней.
- Git должен быть установлен, а исполняемый файл
gitдолжен быть добавлен в переменную окруженияPATH. Подробнее см. в документации по поддержке Git менеджера пакетов Unity .
Импортируйте SDK и создайте новый проект.
Выполните следующие действия, чтобы импортировать Unity SDK и создать новый проект.
- Откройте Unity и создайте новый 3D- проект.
- В Unity перейдите в Окно > Менеджер пакетов .
- Нажмите + и выберите Добавить пакет из URL git .
- Вставьте
https://github.com/googlevr/cardboard-xr-plugin.gitв поле ввода текста.
Пакет следует добавить к установленным пакетам. - Перейдите к пакету плагина Google Cardboard XR для Unity . В разделе «Образцы» выберите «Импортировать в проект» .
Примеры ресурсов следует загрузить вAssets/Samples/Google Cardboard/<version>/Hello Cardboard.
Настроить сцену HelloCardboard
- Перейдите в
Assets/Samples/Google Cardboard/<version>/Hello Cardboard/Scenes, выберите Add Open Scenes и выберите HelloCardboard , чтобы открыть пример сцены. - Откройте меню «Слои» и выберите «Редактировать слои...» .
- Определите новый слой под названием «Интерактивный».
- Щёлкните по игровому объекту « Сокровище» , чтобы открыть окно «Инспектор». Установите для него слой «Интерактивный». Если появится всплывающее окно с вопросом, хотите ли вы установить интерактивный слой для всех дочерних объектов, нажмите «Да, изменить дочерние объекты».
- Нажмите «Игровой объект Player» > «Камера» > «CardboardReticlePointer» , чтобы открыть окно «Инспектор». В скрипте «Cardboard reticle pointer» выберите «Interactive» в качестве маски слоя взаимодействия с прицелом .
Настройте параметры сборки Android
Перейдите в Файл > Параметры сборки .
- Выберите Android и нажмите «Сменить платформу» .
- Выберите Добавить открытые сцены и выберите HelloCardboard .
Настройки плеера
Перейдите в Правка > Настройки проекта....
Настройте параметры разрешения и представления
Перейдите в меню «Проигрыватель» > «Разрешение и представление» .
- Установите ориентацию по умолчанию на Альбомная левая или Альбомная правая .
- Отключить оптимизированную регулировку кадров .
Настроить другие параметры
Перейдите в раздел «Проигрыватель» > «Другие настройки» .
- Выберите
OpenGLES2,OpenGLES3илиVulkanили любую их комбинацию в графических API . - В поле «Минимальный уровень API» выберите
Android 8.0 'Oreo' (API level 26)или выше. - Выберите
API level 35или выше в поле Целевой уровень API . - Выберите
IL2CPPв Scripting Backend . - Выберите нужную архитектуру, указав
ARMv7,ARM64или обе в поле «Целевые архитектуры» . - Выберите
Requireв разделе «Доступ в Интернет» . - Выберите
Input System Package (New)в разделе Активная обработка входных данных . - Укажите домен вашей компании в поле «Имя пакета» .
- Если в качестве графического API выбран
Vulkan:- Снимите флажок Применить поворот дисплея во время рендеринга в настройках Vulkan .
- В поле Формат сжатия текстур выберите
ETC2.
- Выберите
Activityи очиститеGameActivityв Application Entry Point .
Настроить параметры публикации
Перейдите в раздел «Проигрыватель» > «Настройки публикации» .
- В разделе «Сборка» выберите
Custom Main Gradle TemplateиCustom Gradle Properties Template. Добавьте следующие строки в раздел зависимостей
Assets/Plugins/Android/mainTemplate.gradle:implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'com.google.android.gms:play-services-vision:20.1.3' implementation 'com.google.android.material:material:1.12.0' implementation 'com.google.protobuf:protobuf-javalite:3.19.4'Добавьте следующие строки в
Assets/Plugins/Android/gradleTemplate.properties:android.enableJetifier=true android.useAndroidX=true
Настройте параметры управления подключаемым модулем XR
Перейдите в раздел «Управление подключаемыми модулями XR» .
- Выберите
Cardboard XR Pluginв разделе «Поставщики подключаемых модулей» .
Создайте свой проект
Перейдите в Файл > Параметры сборки .
- Выберите «Сборка» или выберите устройство и выберите «Сборка и запуск» .
Настройте параметры проекта iOS
Перейдите в Файл > Параметры сборки .
- Выберите iOS и нажмите «Сменить платформу» .
- Выберите Добавить открытые сцены и выберите HelloCardboard .
Настройки плеера
Перейдите в Правка > Настройки проекта....
Настройте параметры разрешения и представления
Перейдите в раздел «Проигрыватель» > «Разрешение и представление» .
- Установите ориентацию по умолчанию на Альбомная левая или Альбомная правая .
Настроить другие параметры
Перейдите в раздел «Проигрыватель» > «Другие настройки» .
- В описании использования камеры напишите
Cardboard SDK requires camera permission to read the QR code (required to get the encoded device parameters). - В поле Минимальная целевая версия iOS напишите
12.0. - Укажите домен вашей компании в поле «Имя пакета» .
- Проверьте
Top Edge,Left EdgeиRight Edgeв Отсрочке жестов системы на краях .
Настройте параметры управления подключаемым модулем XR
Перейдите в раздел «Управление подключаемыми модулями XR» .
- Выберите
Cardboard XR Pluginв разделе «Поставщики подключаемых модулей» .
Создайте свой проект
Перейдите в Файл > Параметры сборки .
- Выберите «Сборка» или «Сборка и запуск» .
Повторно центрировать
Cardboard SDK позволяет центрировать устройство отслеживания положения головы с помощью Recenter() .
Чтобы опробовать приложение-пример, выполните следующие действия:
- Переместите устройство в положение, которое вы хотите центрировать (используйте как новую позу головы, смотрящей вперед).
- Удерживайте кнопку на устройстве Cardboard активной не менее трех секунд.
- Отпустите курок.
- Первоначальная поза теперь находится в направлении, куда указывает камера.
Включайте и выключайте режим VR
API управления плагином Unity XR позволяет включать и выключать режим виртуальной реальности для плагина Google Cardboard XR для Unity . Документация для конечного пользователя и примеры использования доступны в документации для конечного пользователя Unity.
Сцена VrMode в примере HelloCardboard демонстрирует базовое использование вышеупомянутого API. В этой сцене режим виртуальной реальности можно отключить, нажав кнопку «Выход».
, и его можно включить снова, просто коснувшись любой точки экрана. Подробности о том, как это реализовано, см. в файле VrModeController.cs.
Следующие шаги
- Ознакомьтесь с рекомендациями по брендингу картона .