В этом руководстве показано, как использовать плагин Google Cardboard XR для Unity для создания собственных приложений виртуальной реальности (VR).
С помощью Cardboard SDK можно превратить мобильный телефон в платформу виртуальной реальности. Мобильное устройство может отображать 3D-сцены со стереоскопическим рендерингом, отслеживать и реагировать на движения головы, а также взаимодействовать с приложениями, определяя нажатие пользователем кнопки просмотра.
Для начала вам понадобится HelloCardboard — демо-игра, демонстрирующая основные функции Cardboard SDK. В игре пользователи исследуют виртуальный мир, находят и собирают предметы. В ней показано, как:
- Настройте среду разработки
- Загрузите и создайте демо-приложение
- Отсканируйте QR-код устройства просмотра Cardboard, чтобы сохранить его параметры.
- Отслеживайте движения головы пользователя
- Создавайте стереоскопические изображения, устанавливая правильное искажение для каждого глаза.
- Включайте и выключайте режим VR
Настройте среду разработки
Требования к программному обеспечению:
- Unity 2021.3.44f1 или более поздняя версия
- Обязательно включите поддержку сборки Android и iOS во время установки.
- Обязательно установите патч версии 44f1 или более поздней.
- 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 .
- Если версия 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 позволяет включать и выключать режим виртуальной реальности для плагина Google Cardboard XR для Unity . Документация для конечного пользователя и примеры использования доступны в документации для конечного пользователя Unity.
Сцена VrMode в примере HelloCardboard демонстрирует базовое использование вышеупомянутого API. В этой сцене режим виртуальной реальности можно отключить, нажав кнопку «Выход». , и его можно включить снова, просто коснувшись любой точки экрана. Подробности о том, как это реализовано, см. в файле VrModeController.cs.
Следующие шаги
- Ознакомьтесь с рекомендациями по брендингу картона .