В этом руководстве показано, как использовать плагин Google Cardboard XR для Unity для Unity, чтобы создавать собственные впечатления от виртуальной реальности (VR).
Вы можете использовать Cardboard SDK, чтобы превратить мобильный телефон в платформу VR. Смартфон может отображать 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
, выберите «Добавить открытые сцены» и выберите HelloCardboard , чтобы открыть образец сцены. - Откройте меню «Слои» и выберите «Редактировать слои...» .
- Определите новый слой под названием «Интерактивный».
- Нажмите на игровой объект «Сокровище» , чтобы открыть окно инспектора. Установите для слоя значение «Интерактивный». Если появится всплывающее окно с вопросом, хотите ли вы установить интерактивный слой и для всех дочерних объектов, нажмите «Да, изменить дочерние объекты».
- Нажмите Player > Camera > CardboardReticlePointer GameObject, чтобы открыть окно инспектора. В сценарии «Указатель прицельной сетки Carboard» выберите «Интерактивный» в качестве маски слоя взаимодействия прицельной марки .
Настройка параметров проекта 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
в точке входа приложения .
Настройки публикации
Перейдите в «Настройки проекта» > «Плеер» > «Настройки публикации» .
- В разделе «Сборка» выберите
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
. - Укажите домен вашей компании в разделе «Имя пакета» .
Настройки управления плагинами 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 для получения подробной информации о том, как это выполняется.
Следующие шаги
- Ознакомьтесь с рекомендациями по брендингу картона .