Лунный модуль

Лунный модуль

Примечание

В этой статье рассматривается исследовательский пример, созданный в Смешанная реальность Design Labs, где мы делимся своими сведениями и предложениями по разработке приложений смешанной реальности. Наши статьи и код, связанные с дизайном, будут развиваться по мере того, как мы будем делать новые открытия.

Примечание

Этот пример приложения был разработан для HoloLens 1-го поколения.

Лунный модуль — это пример приложения с открытым кодом от microsoft Смешанная реальность Design Labs. Узнайте, как расширить базовые жесты HoloLens с помощью двуручного отслеживания и ввода контроллера Xbox, создавать объекты, которые реагируют на сопоставление поверхности и поиск плоскости, а также реализовывать простые системы меню. Все компоненты проекта доступны для использования в ваших собственных приложениях смешанной реальности.

Демонстрационное видео

Запись с помощью HoloLens 2 с помощью записи Смешанная реальность

Переосмысливание классических интерфейсов для Windows Mixed Reality

Высоко в атмосфере, небольшой корабль, напоминающий модуль "Аполлон" методично исследует неровную местность ниже. Наш бесстрашный пилот замещает подходящую зону посадки. Спуск является напряженным, но, к счастью, это путешествие было сделано много раз раньше...

Оригинальный интерфейс из лунного посадочного узла Atari 1979 года
Оригинальный интерфейс из лунного посадочного узла Atari 1979 года

Лунный посадочный модуль является аркадной классикой, где игроки пытаются пилотировать лунный посадочный модуль на плоском месте лунной местности. Любой, кто родился в 1970-х годах, скорее всего, провел часы в аркаде с глазами, приклеенные к этому вектору корабля падает с неба. По мере того как игрок перемещает свой корабль к зоне посадки, местность масштабируется, чтобы выявить постепенно больше деталей. Успех означает посадку в пределах безопасного порога горизонтальной и вертикальной скорости. Баллы начисляются за время, затраченное на посадку и оставшееся топливо, с умножением в зависимости от размера площади посадки.

Помимо игрового процесса, аркадная эра игр принесла постоянные инновации схем управления. От простейших четырехсторонних конфигураций джойстика и кнопок (видели в знаковых Pac-Man) до весьма специфичных и сложных схем, замеченных в конце 90-х и 00-х годов (как в симуляторах гольфа и железнодорожных стрелках). Схема ввода, используемая в лунном посадочном аппарате, интригует по двум причинам: обуздать привлекательность и погружение.

Аркадная консоль лунного посадочного узла Atari
Аркадная консоль Лунного посадочного узла Atari

Почему Atari и многие другие игровые компании решили переосмыслить ввод?

Ребенок, прогуливающийся по аркаде, естественно, будет заинтригован новейшим, флэш-машиной. Но Лунный посадочный сад имеет новый механик ввода, который выделялся из толпы.

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

Тактильное погружение — это опыт сенсорной обратной связи от выполнения повторяющихся действий. В этом случае повторяющееся действие регулировки рычага регулирования и поворота, которое видят наши глаза и наши уши слышат, помогает подключить игрока к акту посадки корабля на поверхность Луны. Эта концепция может быть связана с психологической концепцией "поток". Когда пользователь полностью поглощен задачей, которая имеет правильную смесь вызова и вознаграждения, или, проще говоря, он находится "в зоне".

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

Проектирование с помощью погружения

Как можно применить тактильное погружение в обновленное объемное продолжение классической версии Atari? Перед решением схемы ввода необходимо рассмотреть конструкцию игры для трехмерного пространства.

Визуализация сопоставления поверхностей в HoloLens
Визуализация пространственного сопоставления в HoloLens

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

Требовать от пользователя изучить схему ввода, контролировать корабль и иметь небольшую цель для посадки , это много вопросов. Успешный игровой опыт отличается правильным сочетанием вызова и награды. Пользователь может выбрать уровень сложности, а самый простой режим просто требует, чтобы пользователь успешно приземлился в определяемой пользователем области на поверхности, сканируемой HoloLens. Как только пользователь получает повесить игру, он может затем провернуть сложность, как они считают нужным.

Добавление входных данных для жестов руки

Базовые входные данные HoloLens имеют только два жеста: Air Tap и Bloom. Пользователям не нужно помнить контекстные нюансы или список конкретных жестов, которые делают интерфейс платформы универсальным и простым в изучении. Хотя система может предоставлять только эти два жеста, HoloLens как устройство может отслеживать две руки одновременно. Наша ода Лунный посадочный модуль является [иммерсивным приложением, что означает, что мы можем расширить базовый набор жестов, чтобы использовать две руки и добавить наши собственные восхитительно тактильные средства для навигации лунного модуля.

Оглядываясь назад на исходную схему управления, нам нужно было решить для тяги и поворота. Предостережение заключается в том, что поворот в новом контексте добавляет дополнительную ось (технически две, но ось Y менее важна для посадки). Два различных движения корабля, естественно, поддаются сопоставлению с каждой рукой:

Коснитесь и перетащите жест, чтобы повернуть посадочный элемент на всех трех осях
Коснитесь и перетащите жест, чтобы повернуть посадочный элемент на всех трех осях

Тяги

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

Поворот

Это немного сложнее. Наличие голографических кнопок "повернуть" для касания делает ужасный опыт. Физический элемент управления не используется, поэтому поведение должно происходить от манипуляции с объектом, представляющим посадочный объект, или с самим посадочным объектом. Мы придумали метод с использованием касания и перетаскивания, который позволяет пользователю эффективно "толкать и тянуть" его в нужном направлении. Каждый раз, когда пользователь касается и удерживает его, точка в пространстве, где был инициирован жест, становится источником для поворота. Перетаскивание из источника преобразует дельту перевода руки (X, Y, Z) и применяет его к дельту значений поворота посадочного устройства. Или, проще говоря, перетаскивание влево <-> вправо, вверх <-> вниз, вперед <-> назад в пространствах поворачивает корабль соответствующим образом.

Так как HoloLens может отслеживать две руки, вращение может быть назначено правой руке, а тяга контролируется левой. Тонкость является движущим фактором успеха в этой игре. Ощущение этих взаимодействий является абсолютным наивысшим приоритетом. Особенно в контексте тактильной погружения. Корабль, который реагирует слишком быстро, будет трудно управлять, в то время как слишком медленный потребует от пользователя "толкать и тянуть" на корабль в течение неуклюже долгого времени.

Добавление входных данных для игровых контроллеров

В то время как жесты рук на HoloLens предоставляют новый метод тонкого контроля, существует еще некоторое отсутствие "истинной" тактильной обратной связи, которую вы получаете от аналоговых элементов управления. Подключение игрового контроллера Xbox позволяет нам вернуть это чувство физическости, используя палки управления для точного контроля.

Существует несколько способов применения относительно прямой схемы управления к контроллеру Xbox. Так как мы стараемся оставаться как можно ближе к оригинальной аркадной настройке, Thrust лучше всего сопоставляется с кнопкой триггера. Эти кнопки являются аналоговыми элементами управления, то есть они имеют больше, чем простое состояние включения и выключения , они на самом деле реагируют на степень давления на них. Это дает нам аналогичную конструкцию, как рычаг тяги. В отличие от оригинальной игры и жеста руки, этот элемент управления будет сократить тягу корабля, как только пользователь перестанет давить на спусковой крючок. Это по-прежнему дает пользователю ту же степень тонкости, что и оригинальная аркадная игра.

Левый стик сопоставляется с рысью и рулоном, правый — с шагом и рулоном.
Левый стик сопоставляется с рысью и рулоном; правый стик сопоставляется с шагом и рулоном

Двойные стики, естественно, поддаются управлению вращением судна. К сожалению, есть три оси, на которых корабль может вращаться, и два стиков, которые поддерживают две оси. Это несоответствие означает, что один стик управляет одной осью; или есть перекрытие осей для стиков. Первое решение в конечном итоге чувство "сломан", так как стикы по своей сути смешивают свои локальные значения X и Y. Последнее решение потребовало некоторого тестирования, чтобы найти, какие избыточные оси считаются наиболее естественными. В последнем примере используются рыскания и рулона (оси Y и X) для левого стика, а для правого стика — шаг и рулон (оси Z и X). Это чувствовало себя наиболее естественным, как ролл , кажется, независимо пары хорошо с рыская и шаг. В качестве бокового примечания использование обоих стиков для рулона также случается удвоить значение поворота; это довольно весело, чтобы посадочный спускатель делать петли.

В этом примере приложения показано, как пространственное распознавание и тактильное погружение могут значительно изменить взаимодействие благодаря расширяемым модальностям ввода Windows Mixed Reality. В то время как Лунный посадочный корабль может быть близок к 40 лет в возрасте, концепции подвергаются с этим маленьким восьмериками с ногами будет жить вечно. Воображая будущее, почему бы не взглянуть на прошлое?

Технические сведения

Скрипты и заготовки для примера приложения Лунного модуля можно найти на сайте GitHub Смешанная реальность Design Labs.

Об авторе

Фотография Эддисон Линвилл Эддисон Линвилл
UX Designer @Microsoft

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