В сознании многих людей ВР-очки все еще являются просто «линзами с мониторами перед глазами, где вместо мышки нужно крутить головой». Даже многочисленные IT-специалисты еще не пришли к простому факту, что VR — это полноценная новая платформа, которая требует совершенно новых подходов в области выстраивания системы взаимодействия между человеком и компьютером, изменению концепций управления в известных игровых жанрах и UI/UX в целом. Одним словом — платформа требует исследования, которое и ведется множеством разработчиков вот уже несколько лет с момента появления Oculus Rift DK1.
Одним из наглядных примеров уникальности платформы является проблема свободного перемещения в виртуальной реальности и связанный с ним эффект укачивания (motion sickness). Давайте все же еще раз разберем его чуть подробнее.
Идея вернуться к этой теме возникла после того, как в нескольких докладах и статьях встретилось упоминание проблемы, но с очень странными объяснениями причины ее возникновения и местами спорными примерами ее решения. Данная статья — попытка чуть более системно подойти к вопросу и описать такие варианты ее решения, которые будут полезны с позиции коммерческой разработки на данный момент.
Казалось бы, есть игровой жанр, который просто создан для виртуальной реальности — шутеры от первого лица. Во всяком случае именно они чаще всего фигурируют в различных книгах, фильмах и играх про VR. Но на большое количество пользователей классическая механика перемещения из FPS оказала совсем не радостное впечатление — они просто-напросто не могут пройтись по игровой локации — их тошнит от этого в самом прямом смысле.
Эффект motion sickness возникает включительно в следствии сенсорного диссонанса (или sensory conflict) — рассогласованности данных идущих от зрительного канала и информации, которую человек получает от вестибулярного аппарата. Другими словами, когда пользователь перемещается в виртуальной реальности (бежит по игровому уровню), но не двигается в реальности объективной (сидит на стуле).
Более наглядный пример — многочисленные американские горки и качели в виртуальной реальности, которые некоторое время назад были очень популярны. В действительности, то, что подавалось, как результат возможностей погружения в VR — крики пользователей, головокружение, сложность устоять на ногах — на деле является самым ярким примером нарушения всех возможных гайдлайнов по разработке проектов под очки виртуальной реальности, которые уже к тому времени были вполне сформированы. Можно сказать, что в каком-то смысле все эти аттракционы и другие криво созданные на коленке демки поучаствовали в популяризации VR, но также они сформировали стереотип, что укачивание является фундаментальной проблемой новой платформы. А это совсем не так.
Саму же проблему можно разделить на три блока — хардварный, софтварный и индивидуальные аспекты.
Оборудование
На уровне железа современные системы и стационарного и мобильного VR ушли далеко вперед своих аналогов из 90х, которыми было просто невозможно пользоваться. Это касается и характеристик экрана и оптики, возможностей датчиков трекинга и эргономики, а также производительности самих компьютеров.. Конечно, еще есть к чему стремиться и как улучшать пользовательский опыт. Время отклика, разрешение, поле обзора, трекинг зрачка, вес устройства, общее удобство его использования и т.п.) — все это может сказаться на ситуации с укачиванием, но уже сейчас при правильном выстроенной системе взаимодействия, можно добиться отличных результатов в решении проблемы для большинства пользователей.
На текущий момент есть способ, который позволяет максимально сократить эффект укачивания — это полный трекинг тела, когда все данные, полученные от движения тела пользователя в реале, учитываются и воспроизводятся в виртуальной реальности. С позиции потребительской версии, наиболее близка к этому система трекинга Lighthouse для HTC Vive. Но у данной технологии (точнее ее текущего форм-фактора) существует своя специфика, накладывающие определенные ограничения по использованию и далеко не всем пользователям будет интересен исключительно только такой опыт взаимодействия в VR, поэтому если речь идет о проекте для массмаркета, нужно рассчитывать, как на румскейл-формат, так и на использование VR в сидячем/стоячем положении.
Также я сейчас не беру в расчет различные платформы для симуляции перемещения в виртуальном пространстве, которые часто приводят в пример в аналогичных статья. Несмотря на то, что они могут решить обозначенную проблему, определенный скепсис по поводу их, как продукта для массмаркета я уже описывал. Поэтому с позиции коммерческой разработки ориентироваться на подобную возможность при создании системы перемещения нежелательно.
Программная часть
Тут также наблюдается существенный прогресс — за последнее время тысячи разработчиков исследовали возможности VR, не обошли стороной и проблему укачивания.
Эмпирически было найдено несколько решений и сформирован ряд рекомендаций, которые позволяют значительно сократить неприятные эффекты и создать комфортное для большинства пользователей взаимодействие в VR. В предыдущих статьях я указывал на эти приемы, но теперь хочу разобрать их подробнее.
Использование эффекта slow motion и работа с динамикой
В целом, чем более предсказуемы действия камеры и окружения в VR, тем меньше неприятных эффектов будет возникать. Slow motion тут как нельзя кстати. Сюда же можно отнести отказ от любых резких движений камеры, каких-либо ускорений, эффектов размытия, тряски камеры или тем более перехвата ее управления (взгляда) пользователя.
Чем четче пользователь будет осознавать где виртуальной среде он находится в каждый конкретный момент времени, тем комфортней он будет себя в ней ощущать.
Любая капсула/кабина
Это необязательно кокпит космического корабля или салон авто — идея заключается в окружении пользователя статичным по отношению к нему пространством (можно даже просто на уровне GUI это обыграть). Это может быть, например, шлем космического скафандра или как в этом примере элементы каркаса джетпака:
Расположение вокруг пользователя и на переднем плане по пути его движения статических объектов помогает сгладить неприятные ощущения, все становится более предсказуемым вокруг него, появляется и синхрон между сидящим юзером в реале и также статичным аватаром внутри виртуальной «кабины», которая уже в свою очередь, находится в движении.
Телепортация и различные стилизации дискретного перемещения
Тут все достаточно очевидно — нет визуализации смещения, нет и проблемы укачивания при смещении. Телепортация является сейчас одним из самых действенных способов редуцирования неприятного эффекта, так как она просто-напросто в принципе убирает причину его возникновения.
Движение в точку направления взгляда
В основном дезориентацию вызывают боковые смещения влево–вправо или вверх-вниз, т.е. движение перпендикулярное направлению взгляда пользователя. Но если пользователь будет двигаться туда, куда он смотрит, то неприятные эффекты могут быть уменьшены.
Конечно, данный способ, как в принципе и все остальные далеко не универсален и может применяться только в тех случаях, где подобная система перемещения может быть уместна.
Визуализация траектории движения
Если нет резких изменений направления движения (как на американских горках, где полотно дороги тот же самый визуализатор), то это вполне рабочий вариант — мы видим куда движемся и это не так напрягает, как при отсутствии понимания траектории движения.
Похожий прием используется при перемещении аватара с камерой от третьего лица — сперва движется персонаж, задавая направление движения, потом с некоторой инерцией в сторону движения аватара начинает двигаться и камера пользователя.
Частичный или полный отказ от визуализации тела
Этот момент касается, не столько движения, сколько схожего диссонанса — конфликта восприятия себя самого в VR, который, как кажется (!), также может вызывать не очень приятные ощущения или просто ухудшать эффект погружения в виртуальную среду.
В классической неврологии есть понятие схема тела. Благодаря схеме тела мы имеем представление о его динамических характеристиках, текущем положении его частей и можем планировать движения. Благодаря схеме вы можете дотронутся пальцем кончика носа с закрытыми глазами.
И сейчас, если речь идет о пользовательском опыте от первого лица, то некоторые разработчики отказываются от визуализации или анимации тех частей тела, которые нельзя тречить в пространстве в реале, чтобы не создавать рассинхрон между реальным положением пользователя во время его движения в пространстве и положением его виртуального тела.
Об этом же говорили создатели Toybox еще на Oculus Connect 2
Это далеко не все существующие сегодня способы решения вопроса перемещения в VR. Разработчики продолжают экспериментировать и постоянно предлагают новые иногда довольно необычные варианты:
В действительности, три примера выше в той или иной степени обыгрывают концепцию своеобразной “кабины”, внутри которой пользователь смотрит на окружающее виртуальное пространство, которое в данный вариантах не занимает все поле зрения.
Индивидуальные аспекты
А это то, что находится вне контроля создателей самих VR-устройств и разработчиков ПО. Помимо того, что реальное расположение пользователя может отличаться от виртуального (в реале человек лежит, а в виртуале стоит на ногах, что ухудшает VR-опыт), существуют определенные индивидуальные физиологические особенности — заболевания, связанные с нарушением координации движения, просто обычное переутомление, недосыпание, наличие гриппа — аспекты, которые невозможно контролировать на стороне разработчика, но которые усиливают эффект укачивания. В конце концов, есть просто предрасположенность к обычному укачиванию — если человека укачивает, когда он едет в салоне автомобиля, то можно предположить, что софтварное решение по сокращению неприятного эффекта в VR через создание виртуальной кабины ему вряд ли поможет. Но разработчики могут (и должны) сделать все возможное со своей стороны, чтобы создавать комфортное взаимодействие. Ведь все инструменты для этого у них теперь есть в наличии.
Проблема с укачиванием, как и ряд других специфичных моментов демонстрирует не только уникальные отличия VR-устройств от классических интерфейсов, но и показывает, что если раньше разработчикам игр и сервисов нужно было разбираться в поведенческой и социальной психологии, социологии и психологии восприятия, то в задачи создателей проектов для VR входит изучение и неврологии и последних достижений в области изучения сознания. Ведь теперь для выстраивания качественной системы взаимодействия с виртуальной средой нужно понимать не только то, как человек воспринимает окружающий мир и других индивидов, но и как он воспринимает сам себя в этом или виртуальном мире. И это станет крайне актуально, когда (или для сомневающихся — если) технология виртуальной реальности перейдет в область массмаркета.