Пошаговое руководство по добавлению анимации рук в XR

Совсем недавно я начал экспериментировать с Unity для разработки своего Oculus Quest, и первое, что я сделал, - это установил пакет Oculus Integration из магазина ресурсов. Сразу я смог заняться кое-чем интересным, и все было хорошо. Затем, потратив на это больше времени, я понял, что существуют некоторые ограничения, поэтому я переключился на пакет XR в Unity, который предназначен для объединения платформ разработки AR и VR.

Основная проблема заключается в том, что в пакете XR нет некоторых довольно простых вещей, таких как ручные сетки и анимация. Я погуглил и ничего не нашел, поэтому решил решить эту проблему сам. Ниже приведено пошаговое руководство по установке XR для Oculus и миграции рук и анимации Oculus Integration (OR) в структуру XR. Сюда входит очень простой скрипт, который я сделал для управления анимацией, доступной здесь:



Установка пакетов XR

Первое, что нужно сделать, это запустить новый проект Unity и установить необходимые пакеты XR. Для этого мы переходим к диспетчеру пакетов и используем поиск, чтобы найти три пакета:

Сначала откройте диспетчер пакетов

Затем найдите «XR», выберите пакет управления плагином XR и установите

Затем выберите подключаемый модуль Oculus XR и установите

Теперь нам нужно щелкнуть раскрывающееся меню "Дополнительно" и отобразить пакеты предварительного просмотра

Это показывает нам XR Interaction Toolkit. Выберите это и установите

Вам будет предложено отключить старые API. Просто скажите "да", и Unity перезагрузится

Теперь мы можем править часы в Иерархии и добавить шкалу XR Device Roomscale

Установка пакета интеграции Oculus

Теперь мы можем перейти к установке пакета OI. Это то, что содержит собственно ручную сетку и аниматоров. Нам понадобится только очень урезанный набор этого пакета, как показано ниже:

Перейдите в магазин ресурсов Unity и найдите Oculus Integration. Скачать и импортировать

Затем, когда появится запрос на импорт, снимите отметки со всех компонентов и выберите ТОЛЬКО папку CustomHands

После импорта вы увидите некоторые ошибки, так как ручные сборные конструкции полагаются на некоторые сценарии OI, которые не были включены.

Чтобы очистить ситуацию и позволить нам продолжить, мы просто удалим каталог Scripts пакета Oculus

Применение ручных префабов к XR Rig

Далее мы рассмотрим возможность интеграции рук с XR Rig.

Сначала мы переходим к префабам Custom Hands и перетаскиваем их в соответствующие руки как дочерние элементы контроллеров

Щелкнув по префабам, вы увидите два недостающих скрипта. Это сценарии OI, ожидаемые сборными. Просто удалите эти компоненты.

Затем вам нужно скачать скрипт HandAnim из репозитория github и просто поместить его в проект. Теперь вы можете добавить компонент Hand Anim на обе руки

Когда вы добавите его, вы увидите, что для него требуется 2 (ОБНОВЛЕНИЕ: теперь включает скорость анимации) требуемых ввода. Контроллер XR, который вы просто перетаскиваете

И модель анимации, с помощью которой вы можете просто поразить цель рядом с полем и перейти к аниматору правой (левой / правой) рукой

Как только это будет сделано для обеих рук, вы можете переходить к компиляции вашего проекта.

Скомпилировать и развернуть в Quest

Теперь мы можем перейти в Файл - ›Настройки сборки и изменить платформу Android.

Мой Quest находится в стадии отладки, поэтому я выбираю его в меню устройства

Я также захожу в настройки проигрывателя

Прокрутите вниз до раздела "Другие настройки" и удалите визуализацию Vulkan.

Затем выберите XR Plugin Management и установите флажок Oculus

Не забудьте установить для целевого Android API как минимум 23

А теперь строим!

Вы чудное чудовище, у вас получилось!

Приложение

Поэтому я не стал вдаваться в подробности созданного мной сценария Hand Anim, но если вы откроете его, вы сможете получить хорошую идею. Если кто-то читает это и хочет получить более подробную информацию, пожалуйста, свяжитесь с нами!

Безопасное погружение!

-K