Обучающая рука

Example: Hand coach

Тренер рук активирует трехмерные моделируемые руки, когда система не обнаруживает руки пользователя. Эта функция является компонентом обучения, который помогает управлять пользователем, когда жест не был научен. Если пользователи не выполнили указанный жест в течение определенного периода, руки будут циклически с задержкой. Тренер рук можно использовать для представления нажатия кнопки или получения голограммы.

Предоставленный тренер рук

Текущая модель взаимодействия представляет широкий спектр элементов управления жестами, таких как прокрутка, далекое выделение и касание. Ниже приведен полный список существующих жестов рук, предоставляемых в MRTK:

Example of Near Select
Пример близкого выбора — используется для отображения кнопок или закрытия взаимодействующих объектов

Example of Air Tap
Пример касания воздуха — используется для отображения того, как выбрать объекты, которые находятся далеко

Example of Move
Пример перемещения объекта в пространстве с помощью инструкции по перемещению голограммы в пространстве

Example of Rotate
Пример Rotate-Used показано, как поворачивать голограммы или объекты

Example of Scale
Пример масштабирования— используется для демонстрации того, как управлять голограммами, которые должны быть больше или меньше

Example of Palm Up
Пример пальмы вверх — предлагаемое использование, чтобы открыть меню рук

Example of HandFlip
Пример переворачивания руки — еще один способ открыть меню рук

Example of Scroll
Пример прокрутки — используется для прокрутки списка или длинного документа

Принципы проектирования

Для Hololens2 мы разработали взаимодействие рук на основе инстинктивных и естественных жестов рук. Мы считаем, что они интуитивно понятны для большинства пользователей, поэтому мы не создавали выделенные моменты обучения жестов. Вместо этого мы создали тренер рук, чтобы помочь пользователям узнать об этих жестах, если они застряли или не знакомы с взаимодействием голограммы. Без учебного момента мы чувствовали, что показывая пользователям, как выполнять действие, демонстрируя это был бы лучший вариант. Мы обнаружили, что пользователи смогли выяснить жест, но нуждались в небольшом руководстве. Если мы обнаруживаем, что пользователь не взаимодействует с объектом в течение определенного периода, тренер рук будет активирован, демонстрируя правильное размещение руки и пальца.

Интуитивно понятный

При анимации рук это должно быть очевидным и не должно вызывать путаницы. Анимация руки — это представление жеста, который вы пытаетесь заставить пользователя понять.

Например, если вы хотите, чтобы пользователь нажимал кнопку, активируется нажатие кнопки.

Example: Hand coach Near Tap
Тренер рук, демонстрирующий рядом с касанием драгоценных камней

Ручной масштабирование

Мы проверили различные размеры рук с помощью меню пользовательского интерфейса и чувствовали, что если руки были верны размеру, он дал грозное чувство. Если бы они были слишком маленькими, трудно было увидеть и понять жест.

Голос над и руки

Не ожидайте, что пользователи могут слушать один набор инструкций с помощью голосовой связи и смотреть различные инструкции через hand coach. Последовательность ваших инструкций, чтобы помочь пользователям сосредоточиться на конкуренции за их внимание, чтобы уменьшить сенсорные перегрузки.

Могу ли я создать свой собственный?

Да! Мы рекомендуем вам создать собственный уникальный жест для вашей игры и внести свой вклад в сообщество! Мы предоставили файл Maya для руки Rigged, которую можно использовать для вашего приложения, который можно скачать здесь: Скачайте HandCoach_MRTK.zip

Example of Animated Hands in Maya
Пример анимированного ручья ткнуть коробку в Майя

Рекомендуемое средство разработки

Среди трехмерных художников многие выбирают использование Autodesk Maya, которая может использовать HoloLens для преобразования способов создания ресурсов. Предоставленный файл рук представляет собой двоичный файл Maya, поэтому рекомендуется использовать Майю для анимации и экспорта рук. Если вы предпочитаете использовать другую трехмерную программу, вот как показано ниже. FBX. Скачайте HandCoachMRTK_FBX.zip , чтобы создать собственную настройку контроллера.

Если вы используете скачиваемый файл handa, рекомендуется уменьшить масштаб рук в unity до 0,6.

Example: Hand coach rig in Maya
Сфальсифицированные руки

Технические спецификации

  • Файл с двумя руками доступен в формате Maya Ascii
  • Правая и левая рука доступны в двоичном формате Maya
  • Задайте для файла Maya значение 24 FPS
  • В файле есть левая и правая рука, которую можно использовать для двухручных или одноручных жестов. Правая рука будет видна только по умолчанию.
  • Рекомендуется оставить буфер около 10 кадров в начале и конце для исчезания
  • При анимации объекта с указанным целевым объектом рекомендуется анимировать поле по умолчанию или null.
  • Если рука анимирует физический объект, например поле, рекомендуется не анимировать перевод в Майе, а ждать анимации в Unity или в Коде.
  • Видимая анимация должна составлять 1,5 с для передачи любой значимой информации.
  • Когда вы удовлетворены анимацией, выполните следующие действия.

Экспорт из Майи

После того как вы удовлетворены анимацией

  • Выбор всех суставов: выбор > иерархии

    Example: Hierarchy in Menu

  • Выпекать анимацию: переключение на анимацию > с помощью клавиши > bake

    Example: Bake Animation Menu Location

  • Удаление rig контроллера: MainR_Grp или > MainL_Grp

    Example: Controller Rig Menu Location

  • Экспорт в виде FBX: выбор JNT + Mesh: выбор экспорта файла > (флажок) > "Экспорт"

    Example: Export selection Menu Location

    Example: Menu Location

    Example: Export Options Menu Location

При экспорте в виде FBX и в Unity масштабируйте руки до 0,6. Мы обнаружили, что это был идеальный баланс для отображения рук.

Example: Unity Settings
Параметры Unity для HandCoach_R prefab, найденных в MRTK

Реализация рук в проекте Unity

Рекомендации

  • Рекомендуется уменьшить масштаб рук в единстве до 0,6.

  • Руки должны воспроизводиться дважды, а если не завершены, то непрерывно циклически до завершения жеста. Руки должны быть циклированы дважды, чтобы убедиться, что у пользователя было время на регистрацию и просмотр жеста. Руки должны исчезать между циклами и между ними.

  • Если руки пользователя видны камерами HL2, но пользователи не выполняют взаимодействие, необходимое для их работы, появится через 10 секунд.

  • Если руки пользователя не видны камерами HL2, руки появятся через 5 секунд.

  • Если руки пользователя заметно отслеживаются камерами HL2 в середине анимации, анимация завершится и исчезнет.

  • Если вы включаете голос, мы рекомендуем, чтобы он соответствовал жесту руки.

  • Если вы научили руки по крайней мере один раз, повторите жест, только если он обнаружил, что пользователь застрял.

  • Если определенные позиции пальца или руки критически важны, убедитесь, что пользователи могут четко видеть эти нюансы в анимации. Попробуйте зависание рук, чтобы наиболее важные части были четко видны.

  • Если вы заметили искажение на руках, необходимо перейти к параметрам качества Unity увеличить количество костей. Перейдите к редактированию > Unity Project Параметры >> качества других > весов blend. Убедитесь, что "4 кости" выбраны, чтобы увидеть Гладкие суставы.

    Example: Project Settings Window

Чего следует избегать

  • Слишком большое масштабирование рук
  • Размещение рук слишком близко к пользователю
  • Руки должны быть научены только один раз. Над обучением может вызвать путаницу и беспорядок
  • Приведя его в Unity, скачайте последнюю версию MRTK здесь: https://github.com/microsoft/MixedRealityToolkit-Unity

См. также раздел