В последнее время все больше приходится сталкиваться с задачами, касающимися взаимодействия в виртуальной реальности. Тема интересная и актуальная, так как самым прямым образом связана с функциональными возможностями в виртуальной среде и влияет на пользовательский опыт в целом наравне с технологиями самих ВР-шлемов, расширяя границы уровня погружения.
Как только появилась первая версия очков Oculus Rift DK1 на новой волне интереса к ВР сразу же поднялись и вопросы систем ввода — клавиатура и мышь оказались фактически бесполезными инструментами, а управление через наведение взглядом — недостаточным способом взаимодействия с элементами окружения и интерфейса.
В мобильном ВР отлично прижился тачпад, который можно увидеть в моделях гарнитур Samsung Gear VR, а также беспроводные джойстики. Но стационарный версии ВР-очков предоставляют гораздо большие возможности для систем ввода. Сейчас все три крупных игрока — Oculus VR, HTC/Valve и Sony — будут использовать вместе со своими очками контроллеры, чувствительные к движению. Положение самих очков и контроллеров при этом могут определяться в пространстве.
Oculus и Sony сконцентрировались на реализации трекинга шлема и контроллеров больше рассчитанную на пользователя, находящегося в сидячем или стоячем положении, а система трекинга Vive работает на площади до 4.5 на 4.5 метра, позволяя пользователю перемещаться в пределах обозначенного пространства.
Многие могли удивиться. Почему предлагается использовать контроллеры, чувствительные к движению, а не их альтернативы? Ведь есть системы захвата мелкой моторики пальцев, как, например, Leap Motion, а также различные прототипы перчаток (для примера — разработка Хimmerse).
Требования к системам трекинга и ввода
Для начала давайте поймем, что в первую очередь нужно от системы управления в ВР.
И если попробовать описать требование одним словом, то думаю это будет слово «естественность». Система управления в виртуальной реальности должна быть максимально приближена к естественному взаимодействию с окружающей нас объективной действительностью, с объектами которой мы взаимодействуем преимущественно с помощью рук.
ВР интересна тем, что мы можем не только воссоздавать реальность в виртуальности, но и расширить границы обычной действительности и это, конечно, может относиться и к UI, но в данном случае несколько выходит за обозначенную тему.
Естественность также подразумевает низкий порог входа за счет интуитивного понимания принципов работы.
Есть еще синхронизация — она связана с темой естественности и чрезвычайно важна. Речь о синхронизации действий пользователя в реале и в виртуале. Этот аспект касается не только UI, сколько в первую очередь UX, самовосприятия человека в виртуальной реальности.
И этому, наравне с качественной реализацией работы ВР-очков, способствуют системы трекинга. Чем большие возможности для трекинга доступны, тем больший эффект погружения можно получить и тем больше возможности для взаимодействия с окружением. Но синхронизация — это не только вопрос возможностей и точности трекинга, но также и его стабильной работы.
И простой ответ на вопрос почему крупные игроки предлагают использовать обозначенные ими системы трекинга и ввода звучит так — на текущий момент времени эти системы позволяют создавать наиболее универсальное, естественное, интуитивно понятное и стабильное взаимодействие в виртуальной среде, которое можно позиционировать как продуктовое решение для использования уже сейчас.
Основные сомнения
Взаимодействие
Если говорить об устройствах, которые предлагают сами владельцы платформ, то на первый взгляд может показаться, что два контроллера с кнопками, которые нужно обязательно держать в руках могут ухудшить процесс естественного взаимодействия с окружением.
Но контроллер в руке есть ничто иное, как инструмент, такой, как молоток, руль автомобиля или компьютерная мышь. На определенном уровне этот инструмент становится частью самого пользователя в процессе взаимодействия с ним. Например, когда человек уже некоторое время управляет автомобилем, он начинает фактически чувствовать его габариты, ощущение его тела расширяется до границ корпуса машины.
Последние исследования показывают, что во время использования инструментов в мозгу обезьяны происходят изменения в определенных нейронных сетях — инструмент интегрируется в схему ее собственного тела (постоянно обновляемая карта расположения конечностей и формы всего тела) — модель руки расширяется до наконечника инструмента.
Когда у нас в VRARlab появился HTC Vive и мы начали первые тестирования, то сразу заметили, что авторы во многих демонстрационных сценах часто отображают виртуальные модели реальных контроллеров, создавая полный синхрон между реальным и виртуальный инструментом взаимодействия. Держа контроллер реальный и видя в сцене его виртуальный аналог, достигается очень большой уровень погружения.
В одном из видео лекций чуть ниже рассказывается, как после окончания теста проекта игрок, находясь еще в очках, решил положить реальные контроллеры на виртуальный столик, совершенно забыв, что в реальности никакого стола нет — он просто выпустил контроллеры из рук и они благополучно разбились о вполне реальный пол.
Этот пример больше относится к тому, как люди воспринимают виртуальное пространство, но со мной случилась похожая история, когда я таким же образом чуть не выронил реальные контроллеры, решив положить их виртуальные аналоги на виртуальный стол. Ситуация разрешилась благополучно, благодаря шнуркам, которыми контроллеры крепились к каждой руке.
В других примерах проектов для HTC Vive и иных очков на месте контроллера отображаются те или иные объекты (кисть руки, пистолет, бутылка кетчупа и т.п.). И при этом субъективно разница между отображением виртуального контроллера, как полного аналога реального или какого-то другого объекта оказывается не такой сильной, как может показаться изначально. В определенные моменты ты забываешь, что держишь контроллер и просто оперируешь рукой виртуальными объектами сцены. Контроллер просто становится частью тебя, как нечто само собой разумеющееся.
Перемещение
Одна из важных проблем, которая есть в текущих ВР системах ввода — вопрос перемещения человека в виртуальном пространстве. В целом, кроме ограниченного пространства для перемещения у HTC Vive, все остальные системы не позволяют синхронизировать реальное перемещение тела человека и виртуальное. А именно отсутствие подобной синхронизации ведет к так называемому сенсорному диссонансу из-за которого и возникает эффект головокружения при перемещении в ВР.
Проблема настолько серьезная, что во многих проектах, специально разработанных под ВР, чуть ли не единственным вариантом оказалось полностью отказаться или сильно переработать возможность свободного перемещения в пространстве.
Это не относится к ситуациям, когда пользователь, например, находится в виртуальном салоне автомобиля или в гигантском роботе — речь идет о симуляции полностью свободного перемещения вне какой-либо оболочки (механика классического FPS).
Существуют различные способы редуцировать неприятные эффекты на уровне изменения механики передвижения (отказ от смещения камеры влево-вправо и движение в точку направления взгляда, перемещение через телепортацию из точки точку, визуализация траекторий движения и более экстравагантные способы и т.п.), но самым действенным является отказ от какого-либо свободного перемещения или размещение игрока внутри “кабины”.
Конечно, есть различные технические решения, позволяющие имитировать естественное перемещение. Например, Virtuix Omni, но такое устройство очень сложно представить, как часть потребительской версии ВР-очков, как и представить, что в текущем виде ее будет использовать широкий круг консьюмеров. Все же больше кажется, что такая платформа может заинтересовать лишь гиков и хардкорных геймеров.
Аватары
Еще один вопрос, связанный с текущими вариантами систем ввода, которые позиционируются как продуктовые — репрезентация аватаров игроков в виртуальной реальности. Существенная проблема заключается в ограниченных возможностях корректно визуализировать аватар.
Тут, опять же, как и в случае с системами перемещения, эффективнее адаптироваться под текущие ограничения, чем, например, усложнять и делать дороже систему трекинга.
Авторы сетевой песочницы Toybox для Oculus Rift основательно подошли к вопросу отображения аватаров, что крайне актуально из-за наличия нескольких игроков в игре, которые взаимодействуют друг с другом.
Разработчики настоятельно рекомендуют не визуализировать части тела аватара, которые должны отражать движения реального тела (если оно происходит в реале), но не могут из-за ограничения системы трекинга, чтобы не разрушать эффект погружения.
Теряет ли от этого что-то конечный пользователь? Зависит от того, как это можно обыграть. Если речь идет об игре, где игрок является, например, призраком, то ограничение на визуализацию получает нарративное обоснование и проблемы исчезает.
В рассказе про разработку квеста в реальности с использованием Oculus Rift есть пример, как с помощью нарратива обосновывались потенциальные проблемы Leap Motion, подающиеся как игровая задача.
Во многих играх персонаж игрока (как и его реальное тело) не должен свободно перемещаться. Например, аватар размещен в водительском кресле автомобиля, это частично сглаживает ситуацию. А в примере Toybox вполне работает и игровая условность, которая поддерживается выбранной визуальной стилистикой.
Также отсутствие реализма и отсутствие целых частей тела аватаров сглаживаются за счет правдоподобности движений головы и кистей рук, благодаря качественному трекингу.
На Oculus Connect 2 были две замечательные лекции, в которых поднимались эти и многие другие темы, касающиеся систем ввода, с ними можно ознакомится ниже:
Аналоги
Теперь попробуем разобраться в существующих альтернативах и в том, так ли они хороши с позиции естественности и синхронизации — и это важный момент — именно для конечного широкого круга потребителей.
Оптические датчики захвата мелкой моторики
В данном случае есть несколько проблем использования подобного решения, вот одни из самых критичных:
- Для взаимодействия с виртуальной средой руки нужно держать всегда перед датчиком — перед лицом пользователя в достаточно ограниченной области. Это крайне неестественно, а также физически тяжело на протяжении длительного периода работы.
- Текущие алгоритмы определения кистей рук далеки от идеала — под некоторыми углами руки вообще фактически перестают определяться — высокий порог входа из-за постоянных проблем с трекингом сильно ухудшают опыт использования решения в целом.
Перчатки
Конечно, у многих идея перчаток для управления в ВР вызывает ностальгию по временам расцвета классического киберпанка в литературе и кино, но в практическом плане перчатки хоть и могут решить многие вопросы с датчиками выше, тут есть иные проблемы с UX и каждодневным использованием — разные размеры рук у разных людей, вопросы гигиены, дополнительное время на подготовку перед использованием, само ощущение постоянного нахождения в перчатках в плюсовую температуру и даже просто наличие проводов, которые обвивают руки.
Платформы для перемещения
О них чуть выше уже было написано — свою аудиторию эти устройства найти вполне смогут, но в текущем виде все существующие платформы плохо пригодны для именно широкого круга потребителей, чтобы являться частью продуктовой версии самих очков — громоздкая установка, требования снимать обувь или иметь специальную обувь для использования на платформе, время на настройку перед игрой, достаточно узкая сфера применения устройства, вот лишь несколько самых очевидных причин, почему широкое распространение эти платформы в текущем виде вряд ли получат.
Также есть и более сырые прототипы или устройства с очень ограниченным на данный момент функционалом, которые пытаются как-то применить в ВР (например, датчики сокращения мышц) — рассматривать их сейчас в целом не имеет смысла.
Трекинг зрачков вызывает активный интерес, но больше относится все же к расширению функционала самих ВР-очков.
Важный момент — я совсем не хочу сказать, что все альтернативы бесперспективны. Речь только о том, что сейчас и в 2016 году и оптические датчики мелкой моторики, перчатки и другие типы устройств ввода проигрывают по ряду важных для конечного потребителя параметров контроллерам вроде Oculus Touch.
Перспективы
Известным альтернативным вариантам ввода в ВР еще нужно решить множество вопросов, чтобы они были также универсальны и удобны для конечного пользователя, как и контроллеры, что будут поставляться вместе с продуктовыми версиями вр-очков. А вероятность того, что проблемы будут решены есть и для некоторых аналогов она довольно высокая (особенно это касается оптических датчиков для трекинга кистей рук). Но и текущие возможности очков и сопутствующего оборудования далеко не идеальны. Их разработчики сейчас находятся лишь в начале долгого и невероятно интересного пути к полному погружению.
Комментарии (5)
Aurum
14.12.2015 20:09+1До того как попробовал HTC Vive я думал, что контроллеры — отстой. Полагал, что они не нужны и будет достаточно качественных оптических трекеров рук типа: Kinect, Leap motion, Nimble VR. После 6-и дней использования контроллеров Вайва я изменил свое мнение. Контроллеры — это круто для тех игр или приложений где надо активно взаимодействовать с объектами: перемещать, держать и комбинировать. К вайвовским контроллерам привык сразу, они повторяют движения рук один к одному, с ними клево что либо брать, вертеть и куда-либо применять. Раньше ничего подобного не испытывал. Видел реакцию 15-и человек и во всех случаях, когда контроллеры не глючили (глючили изредка), реакция была позитивная начиная со стандартных демок с надуванием и толканием шариков, стрельбы из лука, Tilt Brush.
Контроллеры дают крутые ощущения, но полагаю, что когда трекеры рук будут точнее воспрнинимать микромоторику и предсказывать положение пальцев, их будет можно использовать в 90% интерфейсов для нажатия кнопок, выбора и перетаскивания, скролла, шеринга жестов между людьми, и методы ввода о которых пока не догадываюсь. Контроллеры пригодны тогда, когда нужна высокая точность и тактильные ощущения от держания объектов в руках, остальное — оптическим трекерам.
P.S. Пользовался Вайвом 6 дней по многу часов за раз в VRARLab. Удалось посмотреть почти все доступные демки в Стиме и сделать прототип с бросанием мячей, битья посуды и перемещения с этажа на этаж на платформе — захватывает дух, кстати.dtFc7
14.12.2015 21:18+1Привет! Полностью согласен. Но как и писал выше, датчикам мелкой моторики помимо доработки алгоритмов определения, важно еще решить и проблему области трекинга. Обе задачи кажутся вполне выполнимыми в перспективе.
Aurum
15.12.2015 04:22Да, контроллеры уже здесь, они работают, они предсказуемы — ими можо удобно и эффективно пользоваться. Датчики мелкой моторики глючные, не понятно когда и в какой форме, с какими ограничениями будут существовать. Еще контроллерами можно делать почти все тоже самое, что и датчиками. Думаю, что надо в дизайн закладывать возможность использования одного интерфейса тем и другим.
viacheslavnu
dtFc7, отличная статья, как и две предыдущие. Спасибо)
dtFc7
Спасибо)