В этом руководстве показано, как использовать плагин Google Cardboard XR для Unity для создания собственных приложений виртуальной реальности (VR).
Вы можете использовать Cardboard SDK, чтобы превратить мобильный телефон в платформу виртуальной реальности. Мобильное устройство может отображать 3D-сцены со стереоскопическим рендерингом, отслеживать и реагировать на движения головы, а также взаимодействовать с приложениями, определяя, когда пользователь нажимает кнопку просмотра.
Для начала вы будете использовать HelloCardboard , демонстрационную игру, которая демонстрирует основные функции Cardboard SDK. В игре пользователи осматривают виртуальный мир, чтобы найти и собрать предметы. Она показывает вам, как:
- Настройте среду разработки
- Загрузите и создайте демо-приложение
- Отсканируйте QR-код устройства просмотра Cardboard, чтобы сохранить его параметры.
- Отслеживайте движения головы пользователя
- Создавайте стереоскопические изображения, устанавливая правильное искажение для каждого глаза
- Включайте и выключайте режим VR
Настройте среду разработки
Требования к программному обеспечению:
- Unity 2021.3.44f1 или более поздняя версия
- Обязательно включите поддержку сборки Android и iOS во время установки.
- Обязательно установите патч версии 44f1 или более поздней.
- Git должен быть установлен, а исполняемый файл
git
должен быть в переменной средыPATH
. Подробнее см. в документации Unity package manager git support docs.
Импортируйте SDK и создайте новый проект.
Выполните следующие действия, чтобы импортировать Unity SDK и создать новый проект.
- Откройте Unity и создайте новый 3D- проект.
- В Unity перейдите в Окно > Диспетчер пакетов .
- Нажмите + и выберите Добавить пакет из git URL .
- Вставьте
https://github.com/googlevr/cardboard-xr-plugin.git
в поле ввода текста.
Пакет следует добавить к установленным пакетам. - Перейдите к пакету Google Cardboard XR Plugin for Unity . В разделе Samples выберите Import into Project .
Образцы ресурсов следует загрузить вAssets/Samples/Google Cardboard/<version>/Hello Cardboard
.
Настроить сцену HelloCardboard
- Перейдите в
Assets/Samples/Google Cardboard/<version>/Hello Cardboard/Scenes
, выберите Add Open Scenes и выберите HelloCardboard , чтобы открыть пример сцены. - Откройте меню «Слои» и выберите «Редактировать слои...» .
- Определите новый слой под названием «Интерактивный».
- Щелкните по игровому объекту Treasure , чтобы открыть окно Inspector. Установите его слой на «Interactive». Если появится всплывающее окно с вопросом, хотите ли вы установить слой на Interactive для всех дочерних объектов, щелкните «Yes, change children».
- Нажмите Player > Camera > CardboardReticlePointer GameObject, чтобы открыть окно Inspector. В скрипте "Cardboard reticle pointer" выберите "Interactive" в качестве Reticle Interaction Layer Mask .
Настройте параметры сборки Android
Перейдите в Файл > Параметры сборки .
- Выберите Android и нажмите «Сменить платформу» .
- Выберите «Добавить открытые сцены» и выберите HelloCardboard .
Настройки плеера
Перейдите в меню Правка > Настройки проекта....
Настройте параметры разрешения и представления
Перейдите в меню «Проигрыватель» > «Разрешение и представление» .
- Установите ориентацию по умолчанию на Альбомную левую или Альбомную правую .
- Отключить оптимизированную регулировку кадров .
Настроить другие параметры
Перейдите в раздел «Проигрыватель» > «Другие настройки» .
- Выберите
OpenGLES2
,OpenGLES3
илиVulkan
или любую их комбинацию в графических API . - В поле «Минимальный уровень API» выберите
Android 8.0 'Oreo' (API level 26)
или выше. - Выберите
API level 33
или выше в поле Целевой уровень API . - Выберите
IL2CPP
в Scripting Backend . - Выберите желаемую архитектуру, указав
ARMv7
,ARM64
или обе в разделе «Целевые архитектуры» . - Выберите
Require
в разделе «Доступ в Интернет» . - Выберите
Input System Package (New)
в разделе Активная обработка ввода . - Укажите домен вашей компании в поле «Имя пакета» .
- Если в качестве графического API выбран
Vulkan
:- Снимите флажок Применить поворот дисплея во время рендеринга в настройках Vulkan .
- Если версия Unity 2021.2 или более поздняя, выберите
ETC2
в поле Формат сжатия текстур .
- Если версия Unity — 2023.1 или более поздняя, выберите
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 позволяет включать и выключать режим VR для плагина Google Cardboard XR для Unity . Документация для конечного пользователя и примеры использования доступны в документации для конечного пользователя Unity.
Сцена VrMode в образце HelloCardboard демонстрирует базовое использование вышеупомянутого API. В этой сцене режим VR можно отключить, нажав «выйти» , и может быть включен снова, просто нажав в любом месте экрана. Проверьте VrModeController.cs для получения подробной информации о том, как это выполняется.
Следующие шаги
- Ознакомьтесь с рекомендациями по брендингу картона .