Gamedev Владимир Семыкин
8 514

Голова вместо курсора: создание комфортной VR-среды в Tethered

Влияние особенностей человеческого зрения, упрощение UI и сложности разработки «симулятора бога» в VR.

В закладки
Аудио

Технический директор и программист студии Secret Sorcery Ян Моран в тексте на сайте Gamasutra рассказал про особенности создания дебютной игры студии — Tethered. Во время разработки команда стремилась создать наиболее удобные условия для длительных игровых сессий в шлеме виртуальной реальности.

Чтобы добиться комфорта, студии пришлось пойти на ограничение возможностей пользователя. Например, за происходящим на карте можно наблюдать лишь с нескольких заранее установленных позиций. Тем не менее некоторые ограничения привели к интересным решениям. В пример можно привести интерфейс, который был максимально упрощён во время разработки. Кроме этого, разработчики придумали множество мелких решений. Мы выбрали из материала главное.

По словам Яна, он работал с несколькими поколениями железа, начиная с 80-х годов, и каждый раз он видел, как новая волна привносит какие-то изменения. Они позволяют создавать всё более и более сложный контент, но последняя волна даёт возможность сделать что-то действительно особенное. Это смена парадигмы, которая позволяет игрокам полностью погрузиться в виртуальную реальность. Это больше, чем качественное улучшение, оно скорее напоминает изменение среды.

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

Когда разработчики создали различные прототипы игры в виртуальной реальности, они поняли, что хотят выйти за рамки 10-минутных впечатлений и создать захватывающие тайтлы с длительными игровыми сессиями. Команда остановилась на жанре «симулятора бога», который отлично подходил для виртуальной реальности.

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

Прогресс в Tethered происходит путём накапливания «Духовной энергии». По ходу игры пользователь должен раздавать команды своим подчинённым — «чиркам», с помощью которых можно решать головоломки, создавать инфраструктуру и наращивать свою мощь с помощью таких природных элементов, как солнце, ветер, дождь и молнии.

Всё это возможно с помощью простой механики. Игрок начинает с того, что выбирает одного чирка или облако, а затем создаёт связь с другим объектом, который предлагает контекстные возможности.

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

Разработчики ожидали, что им понадобятся дополнительные методы выбора объектов, так как управление могло оказаться очень утомительным для продолжительных игровых сессий. Тем не менее оказалось, что люди естественным образом постоянно тренируются, чтобы держать голову. Благодаря тщательному применению некоторых простых методов команда смогла создать интуитивно понятную систему выбора, которая была бы удобной во время продолжительных игровых сессий.

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

В реальном мире люди обычно подстраивают положение тела, когда поворот головы становится неудобным. Но для более длительных сеансов игры это не практично. Максимальный комфорт при игре в VR в сидячем положении достигается при взгляде вперёд. Уровень удобства снижается, если пользователю приходится поворачивать голову. Хотя абсолютная оценка комфорта варьируется от человека к человеку, команда попыталась определить условную среднюю величину для комфортного вращения головой.

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

Кроме того, команда придерживалась одного важного правила при проектировании уровней: все цели должны находиться в пределах удобных поворотов. А это, в свою очередь, достигается путём определения конуса комфорта, который описывает приемлемое расположение объектов, с которыми игрок может взаимодействовать.

В виртуальной реальности очень интересно рассматривать элементы вблизи. Это можно сравнить со старыми 3D-фильмами, в которых объекты вылетали за пределы экрана. Такие эффекты могут произвести впечатление, но также они могут вызывать дискомфорт даже после небольшой продолжительности.

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

Команда сформировала сферическую «зону безопасности» вокруг каждой выгодной позиции. Это очень помогает игрокам в сидячей позе и не допускает соприкосновения с геометрией карты. На основе этого решения авторы создали критерии для проектирования игровых уровней.

Чтобы выделить объект, с которым хочет взаимодействовать пользователь, с его точки зрения производится рейкастинг: с помощью этого можно выбрать чирка, здание или любой другой игровой элемент.

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

На основе этого выбирается наиболее вероятный кандидат, а функция целеуказания немного «залипает» на нём, что уменьшает риск потерять нужный объект.

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

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

Светлые круги — «зоны безопасности», светлые треугольники — область для комфортного размещения элементов UI

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

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

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

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

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

#vr #геймдизайн

{ "author_name": "Владимир Семыкин", "author_type": "editor", "tags": ["vr","\u0433\u0435\u0439\u043c\u0434\u0438\u0437\u0430\u0439\u043d"], "comments": 17, "likes": 33, "favorites": 43, "is_advertisement": false, "subsite_label": "gamedev", "id": 48187, "is_wide": true, "is_ugc": false, "date": "Sat, 27 Apr 2019 20:24:34 +0300" }
{ "id": 48187, "author_id": 94357, "diff_limit": 1000, "urls": {"diff":"\/comments\/48187\/get","add":"\/comments\/48187\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/48187"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64954, "last_count_and_date": null }

17 комментариев 17 комм.

Популярные

По порядку

Написать комментарий...
7

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

Поворот головы в ВР у них дискомфорт вызывает, май эсс. Весь смысл ВР в том, что он сцуко вокруг тебя и ты его со всех сторон рассматриваешь!

Ответить
1

Ок. "VR фанбой"(я) выходит на связь. Я дрочил на ВР, когда у большинства еще дрочило не отросло.
Повороты в шлеме не вызывают никакой тошноты, а поворот на геймпаде и чем плавнее - тем быстрее хочется все выплеснуть наружу
Я уже писал расширенный комментарий насчет ВР ранее и если отмести долгое повествование, то *чем больше движений через геймпад, а не через шлем и чем плавнее они выполнены, тем хуже*
Организм не понимает что происходит, голова на месте, тело тоже, но тебя куда-то двигает. Аларм! Ты отравлен! Всех свистать наверх, нужно помочь хозяину опустошить желудок и извергнуть токсин, которые приводит движения в диссонанс с телом.
Именно поэтому в нормальных играх круговые повороты моментальны, иначе будет плохо.

Ответить
0

Поддерживаю. Как бы не хотелось поиграть в RE7, не могу – тошнит. Что примечательно, ни в одной другой игре на PSVR подобного не замечал, даже в копеечном «Паранормальном явлении».

Ответить
0

я играл мелкими сессиями по 20 минут. И в настройках поставь моментальный поворот на геймпаде.

Ответить
0

Есть мнение, что это связано с запаздыванием рендеринга картинки, а не с тем, каким методом осуществляется управление поворотами.

В нормальных играх это каких?
В ААА (типа) играх везде реализован плавный поворот, кроме РЕ7 - но вон там ниже как раз от него и тошнит. Skyrim, Borderlands, SuperHot,
Fairpoint - ну ведь во всех флагманах псвр именно плавный поворот. Более того, если его где-то нет (например, недавний Jade Legacy) то коммьюнити начинает бомбить, и разработчики (хвала им) выкатывают патч.

Ответить
0

Farepoint не требует постоянных поворачиваний, т.к по сути рельсовый шутер. РЕ7 в этом плане постоянные повороты.
Рендеринг непричем. Пример Here They Lie - полный рассинхрон. При движении просто прямо, камере добавили покачивания, мол в развалочку человек идет. Я выключил почти сразу.

Ответить
5

Концепция управления через наведение взглядом была еще в проектах под Oculus DK1, в кардбордах и других мобильных гарнитурах, вроде Gear VR. Ее активно использовали с 2013, пока не появились 3DoF контроллеры в мобильном VR и моушн-контроллеры в таких системах, как Vive, Oculus Rift и PSVR, так как они предоставляют больше возможностей по взаимодействию в виртуальной среде и дополнительно могут работать на погружение - hand presence и т.д. Поэтому несколько странно видеть подобную систему управления при тех возможностях, что есть сейчас. Да и вроде у авторов проекта уже есть поддержка, например, тачей от Окулуса.

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

Ответить
2

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

С нынешними технологиями сглаживания (если отсутствует кадр, он дорисовывается на основании предыдущего), такой проблемы уже давно нет. Укачивание возникает при плохо организованном движении. Чем больше изменений скорости и направления движения, особенно без участия игрока, - тем хуже.

Ответить
0

Я про типичные проблемы с оптимизацией некоторых VR-проектов - когда, например, в кадре тонна дроуколлов, тут ничего не спасет. Но это вопрос не к технологии, а к разработчикам.

Ответить
0

Тут имеет смысл разделить тему с укачиванием из-за системы перемещения и плохой оптимизации (как раз момент с поворотами головы). Есть еще и другие аспекты, которые могут повлиять на комфортное восприятие виртуальной среды, но думаю данные два аспекта являются самыми критичными.

Ответить
0

когда, например, в кадре тонна дроуколлов,

Ох, если бы все было так просто.

Ответить
0

Пиксельные игры должны под VR хорошо зайти)

Ответить
0

Интересно что там создатели Окулус Квест планируют. Хотят стать VR нинтендо?

Ответить
0

Они имхо просрали почти все полимеры. Последняя надежда на Quest.

Ответить
0

У них просто другая стратегия. Массовость важнее характеристик. Фейсбуку нужны соцсервисы, а не игры. В конечном итоге, ему нужна лишь информация о тебе, чтобы продавать ее рекламодателям, но для этого VR все еще надо сделать максимально массовым. А значит дешевым и простеньким.

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

Ответить
0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } } ]
Игру с лучшим стелсом никто не заметил
Подписаться на push-уведомления