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

Пример: рука

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

Предоставленная консультационная рука

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

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

Пример воздушного касания
Пример Air TAP — используется для демонстрации выбора объектов, которые находятся далеко

Пример перемещения
Пример перемещения объекта в пространстве — используется для демонстрации перемещения голограммы в пространстве

Пример поворота
Пример Rotate-Used, демонстрирующий поворот голограмм или объектов

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

Пример Palm up
Пример использования Palm — предлагаемое использование для открытия меню "руки"

Пример Хандфлип
Примере с перелистыванием вручную — другой способ открыть меню "руки"

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

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

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

Точки

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

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

Пример: близкое касание
Практические примеры, демонстрирующие касание драгоценного камень

Масштаб вручную

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

Голоса и руки

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

Можно ли создать собственную?

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

Пример анимированных рук в Maya
Пример анимационной руки, знакомство Box в Maya

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

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

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

Пример: высокоMayaная платформа для подготовки к сдаче
Руки с Спецоснастка

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

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

Экспорт из Maya

После завершения анимации

  • Выбрать все соединения: выбрать иерархию >

    Пример: иерархия в меню

  • Внедрить анимации: переключение на анимацию > ключ > анимация внедрить

    Пример: внедрить анимации меню "расположение"

  • Удалить платформу контроллера: > MainR_Grp или MainL_Grp

    Пример: расположение меню для платформы контроллера

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

    Пример. Экспорт расположения меню выбора

    Пример: расположение меню

    Пример. расположение меню "Параметры экспорта"

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

пример: Unity Параметры
Параметры Unity для HandCoach_R prefab, найденный в мртк

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

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

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

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

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

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

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

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

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

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

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

    пример: Project Параметры окно

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

  • Масштабирование слишком больших стрелок
  • поместив слишком близкое окно к пользователю
  • Руки следует научиться только один раз. Чрезмерное обучение может привести к путанице и неправильной работе
  • Загрузив его в Unity, скачайте последнюю версию МРТК здесь: https://github.com/microsoft/MixedRealityToolkit-Unity
    • Материал: Teaching_Hand2
    • Сценарии. см. рекомендации по МРТК для мртк
    • Параметр для каждого проекта
      • для сцены задано значение UWP: инструкции можно найти на странице настройка Project Unity для Windows Mixed Reality

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