Отслеживание рук впервые стало доступно в Oculus Quest еще в конце 2019 года. Заинтересовавшись этим новым методом ввода, я опубликовал демонстрацию Кубизм через несколько дней в SideQuest с экспериментальной поддержкой отслеживания рук. Излишне говорить, что эта первоначальная демонстрация имела несколько недостатков, и на самом деле не учитывались ограничения технологии, поэтому я решил изначально исключить поддержку отслеживания рук в полной версии Кубизм в магазине Oculus. Потребовалось больше времени на разработку, опираясь на уроки, извлеченные из работы других разработчиков, чтобы создать то, что я был счастлив выпустить в недавнем Кубизм обновление отслеживания рук. Вот взгляд на процесс проектирования изнутри.
Гостевая статья Автор Томас Ван Бувель
Томас - бельгийско-бразильский разработчик виртуальной реальности, в настоящее время базирующийся в Брюсселе. Хотя его первоначальный опыт был в архитектуре, его текущая работа в VR простирается от инди-игр, таких как Кубизм к корпоративному программному обеспечению для архитекторов и инженеров, например Решение.
Это обновление основано на уроках, извлеченных из многих других игр и разработчиков, которые изучали отслеживание рук в течение последнего года (Загадочная история о похищенных домашних животных, Симулятор отдыха, Люка Мефисто, Деннис Кунерт, и ряд других).
В этой статье я хотел бы поделиться некоторыми вещами, которые я узнал, решая проблемы, характерные для Кубизма руки взаимодействия.
Оптимизация для точного взаимодействия
Кубизма взаимодействия вращаются вокруг размещения маленьких неправильных кусочков головоломки в сетке головоломки. Это означало, что основным требованием для ввода слежения за руками была точность, как при подборе, так и при размещении частей на сетке, а также при точном выборе частей из завершенной головоломки. Это повлияло на большинство дизайнерских решений, касающихся ручного ввода.
Призрачные руки
Я рано решил не сделайте руки основанными на физике, но вместо этого позвольте им проходить сквозь части, пока одна из них не будет активно схвачена.
Это позволило избежать неуклюжего отталкивания летающих частей головоломки, когда вы пытаетесь схватить их в воздухе, но, что более важно, это облегчило выщипывание частей в середине полной головоломки, так как вы можете просто сунуть пальцы и схватить кусок вместо нужно выяснить, как их физически вытащить.
Их прозрачность свидетельствует о том, что руки не являются физическими, что упрощает извлечение фрагментов из середины головоломки.
Контакт Захват
Существует несколько подходов к обнаружению намерения пользователя схватить и отпустить объекты, например, сосредоточить внимание на защемлении пальцев или полном вращении сустава пальца при проверке общей зоны взаимодействия на ладони.
Что касается Кубизма маленькие и неправильные части головоломки, подход, который, казалось, лучше всего отвечал требованиям точности, заключался в подходе, основанном на контактах, когда кусок захватывается, как только большой и указательный пальцы пересекают один и тот же кусок и сводятся вместе на небольшом расстоянии, не требуя полный щепотка.
Как и в случае подход в Загадочная история о похищенных домашних животных, пальцы фиксируются на месте, как только начинается захват, чтобы создать впечатление более стабильного захвата. При захвате кусок прикрепляется к основанию руки (запястью). Поскольку это кажется наиболее стабильным гусеничным шарниром, он помогает обеспечить более устойчивый захват и гарантирует, что деталь останется на одной линии с заблокированными пальцами.
Часть захватывается, когда большой и указательный пальцы пересекаются и слегка сводятся вместе. Затем поворот указательного и большого пальца блокируется, чтобы создать впечатление стабильного захвата.
Как только кусок захвачен, расстояние между большим пальцем и указателем сохраняется, и на основе этого расстояния рассчитывается запас высвобождения. Как только большой и указательный пальцы раздвигаются за это поле, деталь освобождается.
Несколько мер защиты пытаются предотвратить непреднамеренные выпуски: мы не проверяем выпуск, когда достоверность отслеживания ниже определенного порога, и после восстановления достоверности отслеживания мы ждем несколько кадров, пока снова не проверим выпуск. Пальцы также должны выходить за пределы допустимого диапазона для нескольких кадров перед фактическим выпуском.
Визуализация отладки: во время захвата сохраняется начальное расстояние захвата между кончиками пальцев (внешний красный кружок). Фишка освобождается, когда реальное положение кончиков пальцев выходит за пределы определенного поля (синий кружок).
Также существует система, аналогичная Метод захвата в Vacation Simulator. Из-за отсутствия тактильной обратной связи при захвате предмета пальцы нередко сближаются друг с другом во время захвата. Если они закрываются выше определенного порога, поля высвобождения регулируются, чтобы облегчить высвобождение детали.
Попробуйте сами: чтобы увидеть эти визуализации отладки в игре, перейдите в «Настройки»> «Отслеживание рук»> «Отладка визуализаций» и включите «Виджеты взаимодействия».
Визуализация отладки: если пальцы дрейфуют друг к другу во время захвата за определенный порог (внутренний красный кружок), поля отпускания повторно регулируются, чтобы отпускание части было менее «липким».
Одним из ограничений этого подхода является то, что он немного усложняет поддержку захвата пальцами, отличными от указательного. Более ранняя реализация также позволяла захват между средним и большим пальцами, но это часто приводило к ложным срабатываниям при захвате частей из полной сетки головоломки, поскольку было трудно оценить, каким пальцем игрок намеревался захватить конкретную часть.
Это не было бы проблемой, если бы захват вращался вокруг полного касания пальца, поскольку это приводит к более четкому входному двоичному файлу, из которого можно определить намерение пользователя (за счет менее естественного ощущения позы захвата).
Проверка середины
Помимо проверки того, какая часть пересекаются указательным и большим пальцами, дополнительная проверка происходит посередине между кончиком указательного и большого пальца.
Независимо от того, над какой частью находится эта средняя точка, приоритет будет отдан для захвата, что помогает избежать ложных срабатываний, когда игрок пытается захватить кусок в полной сетке.
В приведенном ниже примере, если игрок намеревается схватить зеленую фигуру за правый край, он непреднамеренно схватит желтую фигуру, если мы не сделаем эту проверку средней точки.
Слева: большой, указательный и середина между кончиками пальцев желтого цвета → возьмите желтый. Справа: большой и указательный пальцы выделены желтым, средняя точка - зеленым → возьмите зеленый
Уловить загадку
Захват головоломки работает аналогично захвату кусочков головоломки, за исключением того, что он начинается с полного захвата в зоне захвата вокруг головоломки.
Размер этой зоны динамически увеличивается при переключении с контроллеров на руки. Это немного упрощает захват и помогает снизить вероятность случайного захвата части сетки, а не самой сетки.
Зона захвата вокруг головоломки расширяется при переключении с контроллеров на руки, что упрощает захват. Хотя это требует полного зажима, захват головоломки работает так же, как захват частей головоломки.
Динамическое сглаживание рук
Данные отслеживания рук, предоставляемые Oculus Quest, по-прежнему могут иметь некоторую нестабильность, даже если точность отслеживания высока. Это также может повлиять на игровой процесс, поскольку дрожание может быть гораздо более заметным, когда вы держите сетку головоломки или длинный кусок головоломки за край, что затрудняет точное размещение частей на сетке.
Сглаживание данных отслеживания может иметь большое значение для получения более стабильного вида захвата, но должно выполняться умеренно, так как слишком большое сглаживание приведет к ощущению «запаздывания» в руках. Чтобы уравновесить это, разглаживайте рукой Кубизм динамически регулируется в зависимости от того, держит ли ваша рука что-то или нет.
Попробуйте сами: чтобы увидеть влияние ручного сглаживания, попробуйте выключить его под
«Настройки> Отслеживание рук> Сглаживание рук».
Увеличение сглаживания позиций рук при удерживании объектов помогает обеспечить более стабильный захват, что немного упрощает точное размещение на сетке.
Нажатие кнопок
Одна вещь, которую я заметил с Кубизма Первоначальная демонстрация отслеживания рук заключалась в том, что большинство людей пытались нажимать кнопки, хотя в то время это не поддерживалось. Поэтому одной из моих целей с этой новой версией отслеживания рук было сделать кнопки действительно нажимаемыми.
Кнопки могут быть наведены, когда луч, исходящий от кончика указательного пальца, попадает в коллайдер позади кнопки. Если указательный палец затем пересекается с коллайдером, регистрируется нажатие. Если индекс пересекает коллайдер без предварительного наведения на него курсора, нажатие не регистрируется. Это помогает предотвратить ложные срабатывания при движении пальца снизу вверх.
Есть еще несколько проверок для предотвращения ложных срабатываний: raycast отключается, когда палец не обращен к кнопке, или когда игрок не смотрит на свой палец при нажатии.
Попробуйте сами: чтобы увидеть эту визуализацию отладки в игре, перейдите в «Настройки»> «Отслеживание рук»> «Отладка визуализаций» и включите «Виджеты взаимодействия».
Визуализация отладки: raycast от указательного наконечника проверяет, зависает ли палец над кнопкой. Чтобы предотвратить ложные срабатывания, взаимодействие отключается, когда палец не смотрит на кнопку или когда игрок не смотрит на свой палец.
Направляющие взаимодействия
Одна из основных проблем построения любого взаимодействия для отслеживания рук заключается в том, что, в отличие от кнопок на контроллере, которые либо нажимаются, либо не нажимаются, существует множество различных способов, которыми люди могут попытаться приблизиться к взаимодействию руками, ожидая того же результата. .
Игровое тестирование с разнообразным набором людей может помочь вам узнать, как люди подходят к представленному им взаимодействию, и может помочь уточнить сигналы взаимодействия, которые направляют их к ожидаемым жестам. Плейтестинг также может помочь вам изучить некоторые выбросы, которые вы, возможно, захотите уловить, добавив некоторой избыточности взаимодействия.
Подсказки взаимодействия
Есть несколько подсказок, когда вы берете кусок. Когда пользователь впервые наводит курсор на кусок, его указательный и большой палец приобретают цвет этого предмета, чтобы указать, что его можно схватить, и чтобы указать, какие пальцы могут его схватить (на основе предыдущей работы Люка Мефисто, Барретт Фокс и Мартин Шуберт). Фрагмент также выделен, чтобы указать, что его можно схватить.
Несколько сигналов также указывают на успешность захвата: кончики пальцев становятся твердыми, световые элементы на фрагменте мигают и воспроизводится короткий звуковой сигнал.
Различные подсказки как на руке, так и на кусочке головоломки направляют и подтверждают взаимодействие с захватом.
У кнопок есть несколько сигналов, которые указывают на то, что их можно нажимать. Как и в случае с кусочками пазла, при наведении курсора на кнопку указательный палец подсвечивается белым, указывая, какой палец может взаимодействовать. Как и в случае с контроллерами, кнопки выдвигаются наружу при наведении курсора, но на этот раз расширенная кнопка действительно может быть нажата: как только указатель касается ее, она следует за пальцем до тех пор, пока он не будет полностью нажат, и в этот момент звуковой сигнал подтвердит щелчок.
Тонкая тень на поверхности кнопки указывает положение и расстояние от указателя до кнопки и помогает направлять взаимодействие при нажатии.
Различные подсказки управляют взаимодействием с кнопками: кнопки выдвигаются наружу при наведении курсора, кончик указательного пальца выделяется, тень показывает, где будет взаимодействовать кончик, а кнопка следует за пальцем при нажатии.
Избыточность взаимодействия
Поскольку некоторые люди могут подходить к некоторым взаимодействиям непреднамеренно, было бы неплохо попытаться учесть это там, где это возможно, добавив некоторую избыточность в способы, которыми люди могут использовать свои руки для взаимодействия. Сигналы взаимодействия могут по-прежнему вести их к предполагаемому взаимодействию, но избыточность может помочь избежать ненужного застревания.
Когда дело доходит до схватывания фигур, несколько тестеров пытаются схватить их, сначала сжимая кулаки, а не кончиками пальцев. Если коллайдеры покрывают весь палец, а не только кончик пальца, приличное количество этих первых захватов все равно будет зарегистрировано.
Я должен отметить, что этот подход все еще нуждается в некотором улучшении, поскольку он также вносит некоторые проблемы, вызывающие непреднамеренные захваты в случаях, когда вокруг игровой площадки плавает много предметов. Лучшим подходом в будущем может быть также проверка общего вращения пальцев, чтобы вместо этого учесть схватывание кулака.
Хотя захват предназначен для кончиков пальцев, коллайдеры на указательном и большом пальце покрывают весь палец, чтобы помочь поймать различные формы захвата.
Что касается кнопок, было несколько тестеров, которые пытались их щипать, а не нажимать. Отчасти это, похоже, произошло, когда они ранее узнали, как нажимать кнопки на главном экране Oculus, прямо перед запуском игры.
По этой причине кнопки также можно нажимать, зажимая их, когда они наведены, и, надеюсь, подсказки, такие как выделенный индекс и тень, в конечном итоге будут указывать им на нажатие кнопок вместо этого.
Сведение пальцев при наведении курсора на кнопки также регистрируется как щелчок.
Первая кнопка, с которой сталкиваются игроки при использовании рук, также явно указывает «Нажать, чтобы начать», чтобы помочь людям перейти от щипания к нажатию после выхода из главного меню Oculus.
Ограничения обучения
Хотя качество отслеживания рук в Quest улучшилось за последний год, оно все еще имеет свои ограничения - и осознание игроком этих ограничений может иметь большое влияние на то, насколько хорошо он воспринимает свой опыт.
Кубизм реализует несколько способов обучения игроков текущим ограничениям отслеживания рук в Quest.
Когда игрок впервые переключается на отслеживание рук (либо при запуске, либо в середине игры), модальное окно информирует его о некоторых передовых методах, таких как игра в хорошо освещенном месте и избегание скрещивания рук.
Когда пользователь переключается на отслеживание рук, модальное окно информирует его об ограничениях и передовых методах. Инструкция «Нажмите для запуска» помогает научить новых пользователей тому, что кнопки в этой игре можно нажимать естественным образом.
Важно осознавать, что большинство людей, скорее всего, немедленно отклонят подобные модальные окна или быстро забудут его рекомендации, поэтому также важно указать, почему во время эксперимента что-то может пойти не так.
In Кубизм, стрелки станут красными, чтобы сигнализировать, что отслеживание было потеряно. В некоторых плейтестах люди держали одну руку на коленях и играли другой, недоумевая, почему их рука на коленях выглядела замороженной. Чтобы помочь информировать о таких случаях, на руке отображается сообщение, в котором четко указано, почему рука заморожена, если потеря отслеживания сохраняется. Если отслеживание потеряно именно из-за того, что игрок скрещивает руки, сообщение меняется, чтобы не делать этого.
Слева: стрелки становятся красными при первой потере отслеживания. Средний: когда отслеживание потерь сохраняется, игроку сообщается о том, что происходит. Справа: если отслеживание потеряно из-за окклюзии рук, это также указывается
Для более опытных игроков или игроков, которые предпочитают играть одной рукой, эту функцию можно заменить в настройках, заставив вместо этого отключать руки, когда они теряют отслеживание, что более похоже на поведение в главном меню Oculus.
Красные стрелки и предупреждающие сообщения можно заменить в настройках на исчезающие стрелки.
Будущая работа
Отслеживание рук в Quest все еще имеет свои ограничения, и хотя Кубизма поддержка уже есть во второй версии, есть еще много возможностей для улучшения.
Тем не менее, я рад начать изучать и поддерживать эти новые методы ввода. Я думаю, что в краткосрочной перспективе они могут помочь сделать подобные впечатления более доступными и более простыми для новых пользователей VR.
Кадры смешанной реальности, снятые на iPhone с помощью приложения Reality Mixer Фабио Дела Антонио, дают представление о том, каково будет играть в кубизм на гарнитуре AR в будущем.
В долгосрочной перспективе, похоже, есть хорошие шансы, что отслеживание рук станет основным входом для будущих автономных устройств AR, поэтому, надеюсь, это обновление может стать первым небольшим шагом на пути к версии AR. Кубизм.
Если вам понравился этот взгляд на дизайн отслеживания рук в кубизме, обязательно посмотрите Предыдущая гостевая статья Томаса, в которой рассматривается дизайн игры в более широком смысле..
сообщение Практический пример: замысел кубизма в отслеживании рук Появившийся сначала на Дорога к VR.
- Учетная запись
- дополнительный
- приложение
- AR
- AR гарнитура
- архитектура
- ПЛОЩАДЬ
- около
- гайд
- аудио
- ЛУЧШЕЕ
- лучшие практики
- Немного
- строить
- Строительство
- тематическое исследование
- случаев
- Привлекайте
- контроль
- Проверки
- Circle
- ближе
- приход
- доверие
- содержание
- контроллер
- Текущий
- данным
- Проект
- Застройщик
- застройщиков
- Развитие
- Устройства
- DID
- расстояние
- Падение
- Рано
- Edge
- Инженеры
- Предприятие
- корпоративное программное обеспечение
- раскрываться
- Впечатления
- всего лишь пяти граммов героина
- Особенность
- фигура
- First
- Flash
- недостатки
- полный
- будущее
- игра
- Игры
- Общие
- хорошо
- захват
- Зелёная
- сетка
- GUEST
- Гостевая статья
- инструкция
- методические рекомендации
- отслеживание рук
- наушники
- High
- Выделенные
- Главная
- Как
- How To
- HTTPS
- идея
- Влияние
- индекс
- намерение
- взаимодействие
- iPhone
- вопросы
- IT
- запуск
- УЧИТЬСЯ
- узнали
- привело
- Длинное
- Создание
- двигаться
- движется
- сеть
- Oculus
- Oculus Quest
- Oculus магазин
- Другое
- Другое
- Люди
- игрок
- Много
- Точность
- нажмите
- головоломка
- поиск
- Реальность
- уменьшить
- публикации
- Требования
- Итоги
- экран
- набор
- Shadow
- Поделиться
- Короткое
- Прохождения
- Размер
- небольшой
- So
- Software
- Space
- Начало
- Область
- Области
- украли
- магазин
- Кабинет
- успешный
- поддержка
- Поддержанный
- Поверхность
- система
- Обучение
- Технологии
- Будущее
- время
- Советы
- топ
- Отслеживание
- Прозрачность
- Обновление ПО
- пользователей
- визуализация
- vr
- ждать
- Что такое
- КТО
- в
- Работа
- работает
- год
- YouTube