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

Пример. Тренер по рукам

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

Предоставляется тренер по рукам

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

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

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

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

Пример поворота
Пример Rotate-Used для демонстрации поворота голограмм или объектов

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

Пример
Пример palm up — рекомендуется использовать, чтобы открыть меню рук

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

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

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

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

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

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

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

Пример: ручной тренер рядом с касанием
Рука тренер демонстрации рядом с касанием драгоценных камней

Масштаб руки

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

Озвучка и руки

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

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

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

Пример анимации рук в Майя
Пример анимированного тыкания рукой в коробке в майя

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

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

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

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

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

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

Экспорт из Maya

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

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

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

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

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

  • Удаление MainR_Grp или MainL_Grp контроллера. Структура >

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

  • Экспорт как FBX: выберите JNT + Сетка: Выбор экспорта файла > (флажок) > Экспорт выделенного фрагмента

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

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

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

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

Пример. Параметры Unity
Параметры Unity для HandCoach_R заготовки в MRTK

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

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

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

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

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

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

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

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

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

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

  • Если вы заметили искажения на руках, необходимо перейти к параметрам качества Unity увеличить количество костей. Перейдите в раздел Изменение > параметров > проекта Unity Качество > Другие > весовые коэффициенты смешения. Убедитесь, что выбрано значение "4 кости", чтобы увидеть Гладкие суставы.

    Пример. Окно параметров проекта

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

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

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