Обучающая рука
Тренер рук активирует трехмерные моделируемые руки, когда система не обнаруживает руки пользователя. Эта функция является компонентом обучения, который помогает управлять пользователем, когда жест не был научен. Если пользователи не выполнили указанный жест в течение определенного периода, руки будут циклически с задержкой. Тренер рук можно использовать для представления нажатия кнопки или получения голограммы.
Предоставленный тренер рук
Текущая модель взаимодействия представляет широкий спектр элементов управления жестами, таких как прокрутка, далекое выделение и касание. Ниже приведен полный список существующих жестов рук, предоставляемых в MRTK:
Пример близкого выбора — используется для отображения кнопок или закрытия взаимодействующих объектов
Пример касания воздуха — используется для отображения того, как выбрать объекты, которые находятся далеко
Пример перемещения объекта в пространстве с помощью инструкции по перемещению голограммы в пространстве
Пример Rotate-Used показано, как поворачивать голограммы или объекты
Пример масштабирования— используется для демонстрации того, как управлять голограммами, которые должны быть больше или меньше
Пример пальмы вверх — предлагаемое использование, чтобы открыть меню рук
Пример переворачивания руки — еще один способ открыть меню рук
Пример прокрутки — используется для прокрутки списка или длинного документа
Принципы проектирования
Для Hololens2 мы разработали взаимодействие рук на основе инстинктивных и естественных жестов рук. Мы считаем, что они интуитивно понятны для большинства пользователей, поэтому мы не создавали выделенные моменты обучения жестов. Вместо этого мы создали тренер рук, чтобы помочь пользователям узнать об этих жестах, если они застряли или не знакомы с взаимодействием голограммы. Без учебного момента мы чувствовали, что показывая пользователям, как выполнять действие, демонстрируя это был бы лучший вариант. Мы обнаружили, что пользователи смогли выяснить жест, но нуждались в небольшом руководстве. Если мы обнаруживаем, что пользователь не взаимодействует с объектом в течение определенного периода, тренер рук будет активирован, демонстрируя правильное размещение руки и пальца.
Интуитивно понятный
При анимации рук это должно быть очевидным и не должно вызывать путаницы. Анимация руки — это представление жеста, который вы пытаетесь заставить пользователя понять.
Например, если вы хотите, чтобы пользователь нажимал кнопку, активируется нажатие кнопки.
Тренер рук, демонстрирующий рядом с касанием драгоценных камней
Ручной масштабирование
Мы проверили различные размеры рук с помощью меню пользовательского интерфейса и чувствовали, что если руки были верны размеру, он дал грозное чувство. Если бы они были слишком маленькими, трудно было увидеть и понять жест.
Голос над и руки
Не ожидайте, что пользователи могут слушать один набор инструкций с помощью голосовой связи и смотреть различные инструкции через hand coach. Последовательность ваших инструкций, чтобы помочь пользователям сосредоточиться на конкуренции за их внимание, чтобы уменьшить сенсорные перегрузки.
Могу ли я создать свой собственный?
Да! Мы рекомендуем вам создать собственный уникальный жест для вашей игры и внести свой вклад в сообщество! Мы предоставили файл Maya для руки Rigged, которую можно использовать для вашего приложения, который можно скачать здесь: Скачайте HandCoach_MRTK.zip
Пример анимированного ручья ткнуть коробку в Майя
Рекомендуемое средство разработки
Среди трехмерных художников многие выбирают использование Autodesk Maya, которая может использовать HoloLens для преобразования способов создания ресурсов. Предоставленный файл рук представляет собой двоичный файл Maya, поэтому рекомендуется использовать Майю для анимации и экспорта рук. Если вы предпочитаете использовать другую трехмерную программу, вот как показано ниже. FBX. Скачайте HandCoachMRTK_FBX.zip , чтобы создать собственную настройку контроллера.
Если вы используете скачиваемый файл handa, рекомендуется уменьшить масштаб рук в unity до 0,6.
Сфальсифицированные руки
Технические спецификации
- Файл с двумя руками доступен в формате Maya Ascii
- Правая и левая рука доступны в двоичном формате Maya
- Задайте для файла Maya значение 24 FPS
- В файле есть левая и правая рука, которую можно использовать для двухручных или одноручных жестов. Правая рука будет видна только по умолчанию.
- Рекомендуется оставить буфер около 10 кадров в начале и конце для исчезания
- При анимации объекта с указанным целевым объектом рекомендуется анимировать поле по умолчанию или null.
- Если рука анимирует физический объект, например поле, рекомендуется не анимировать перевод в Майе, а ждать анимации в Unity или в Коде.
- Видимая анимация должна составлять 1,5 с для передачи любой значимой информации.
- Когда вы удовлетворены анимацией, выполните следующие действия.
- Выберите все суставы и испечьте ключевые кадры
- Удаление контроллеров, выбор суставов и сетки и экспорт в виде FBX
- При наличии нескольких анимаций можно использовать встроенный экспортер игр Майи: https://knowledge.autodesk.com/support/maya/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/Maya/files/Game-Exporter-htm.html
Экспорт из Майи
После того как вы удовлетворены анимацией
Выбор всех суставов: выбор > иерархии
Выпекать анимацию: переключение на анимацию > с помощью клавиши > bake
Удаление rig контроллера: MainR_Grp или > MainL_Grp
Экспорт в виде FBX: выбор JNT + Mesh: выбор экспорта файла > (флажок) > "Экспорт"
При экспорте в виде FBX и в Unity масштабируйте руки до 0,6. Мы обнаружили, что это был идеальный баланс для отображения рук.
Параметры Unity для HandCoach_R prefab, найденных в MRTK
Реализация рук в проекте Unity
Рекомендации
Рекомендуется уменьшить масштаб рук в единстве до 0,6.
Руки должны воспроизводиться дважды, а если не завершены, то непрерывно циклически до завершения жеста. Руки должны быть циклированы дважды, чтобы убедиться, что у пользователя было время на регистрацию и просмотр жеста. Руки должны исчезать между циклами и между ними.
Если руки пользователя видны камерами HL2, но пользователи не выполняют взаимодействие, необходимое для их работы, появится через 10 секунд.
Если руки пользователя не видны камерами HL2, руки появятся через 5 секунд.
Если руки пользователя заметно отслеживаются камерами HL2 в середине анимации, анимация завершится и исчезнет.
Если вы включаете голос, мы рекомендуем, чтобы он соответствовал жесту руки.
Если вы научили руки по крайней мере один раз, повторите жест, только если он обнаружил, что пользователь застрял.
Если определенные позиции пальца или руки критически важны, убедитесь, что пользователи могут четко видеть эти нюансы в анимации. Попробуйте зависание рук, чтобы наиболее важные части были четко видны.
Если вы заметили искажение на руках, необходимо перейти к параметрам качества Unity увеличить количество костей. Перейдите к редактированию > Unity Project Параметры >> качества других > весов blend. Убедитесь, что "4 кости" выбраны, чтобы увидеть Гладкие суставы.
Чего следует избегать
- Слишком большое масштабирование рук
- Размещение рук слишком близко к пользователю
- Руки должны быть научены только один раз. Над обучением может вызвать путаницу и беспорядок
- Приведя его в Unity, скачайте последнюю версию MRTK здесь: https://github.com/microsoft/MixedRealityToolkit-Unity
- Материал: Teaching_Hand2
- Скрипты: ознакомьтесь с рекомендациями по MRTK для тренера рук MRTK
- Параметр проекта для каждого проекта
- Сцена, настроенная на UWP: инструкции можно найти в статье "Настройка нового проекта OpenXR с помощью MRTK ".