Создание более динамичного пользовательского интерфейса для VR в игре «Beat the Beats»
Гостевая статья Лукаса Гонсалеса Эрнанса
Лукас Хуан Гонсалес Хулио ДэПуэбло Эрнанц — испанский разработчик игр с более чем 15-летним опытом работы, создавший такие проекты, как Lego Star Wars Saga , Lego Marvel , Little Big Planet и Limbo . В 2016 году он стал соучредителем Parallel Circles , небольшой инди-студии, специализирующейся на создании высококачественных игровых процессов с упором на интерактивность и ощущения от игры. Последняя игра студии, Beat the Beats, доступна на Meta Quest и PSVR 2 .
Когда мы начали работать над Beat the Beats , у нас была одна четкая задача: мы хотели создать максимально цельный игровой процесс с момента запуска игры. Это подразумевает такое же серьезное отношение к пользовательскому интерфейсу и меню, как и к самому игровому процессу.
Проведение времени в меню, возможно, и не является «главным развлечением», но оно имеет фундаментальное значение для создания захватывающего игрового процесса и задавания тона. Время, проведенное за изучением пользовательского интерфейса, — это прелюдия к матчу, которая помогает настроиться на боксёрский поединок.
Вот краткий обзор наиболее важных моментов, которые мы учитывали при интеграции нашего пользовательского интерфейса и максимальном использовании особых качеств VR, от создания элементов, которые можно пробивать, до избегания любых черных переходов между экранами.
Глубина
Виртуальная реальность предлагает то, чего нет ни в одном другом виде медиа: подлинное ощущение глубины.
Однако большинство VR-интерфейсов не используют его дальше реализации изогнутых 2D-меню. Это логично, поскольку большинство из них созданы на основе 2D-систем, но мы хотели максимально интегрировать наш пользовательский интерфейс в среду, чтобы создать совершенно иной опыт. Мы используем глубину в меню как часть нашего основного дизайнерского подхода. Вот несколько примеров его применения:
- Выделение элементов: Анимация глубины помогает привлечь внимание игрока, не перекрывая другие элементы и не требуя дополнительных шейдеров.
- При наведении курсора: Небольшое перемещение выбранного элемента вперед — это интуитивно понятный и эффективный способ.
- Слои меню: При наличии нескольких слоев активный слой перемещается вперед, а фоновые слои — назад. Это делает контекст более читабельным.
- Расположение: Элементы появляются и исчезают с помощью анимации, основанной на глубине. Направление соответствует их слою, помогая игрокам выстраивать целостную структуру своего местоположения в меню.
- Перемещение без перекрытия: распространённая проблема пользовательского интерфейса — перемещение элементов внутри списка без перекрытия других элементов. Часто это решается с помощью переходов «скрыть/показать». В нашем случае элементы просто перемещаются вперёд вглубь, что позволяет плавно менять их положение без конфликтов.
Для разработчиков последствия использования Z-позиции (глубины) в пользовательском интерфейсе во многом зависят от интерфейса движка. Большинство систем пользовательского интерфейса изначально были разработаны для плоских экранов и работают исключительно в 2D. Для введения глубины существует несколько подходов: переписывание системы пользовательского интерфейса, сочетание традиционных элементов пользовательского интерфейса с 3D-объектами или (как мы сделали) создание всего пользовательского интерфейса с использованием стандартных 3D-объектов.
В зависимости от проекта это может потребовать значительных усилий. Если вы выберете этот путь, важно с самого начала четко понимать все необходимые элементы. Я бы рекомендовал начать с прототипирования пользовательского интерфейса движка и перейти к этому подходу только после того, как структура меню и поток данных будут хорошо определены и стабильны.
Наш выбор в пользу использования стандартных 3D-объектов в качестве элементов пользовательского интерфейса помог нам в следующем вопросе.
Физическое взаимодействие
Виртуальная реальность позволяет осуществлять более насыщенное и разнообразное взаимодействие, чем это когда-либо могли делать плоские экраны. Это открывает огромные возможности для исследований, особенно в такой игровой среде, как игры. В этом аспекте некоторые игры отлично справились с задачей, например, Superhot VR , но многие игры всё ещё могли бы выиграть от интеграции большего количества физического взаимодействия.
В нашем случае, поскольку мы разрабатывали боксерскую игру, нам показалось естественным включить подобное физическое взаимодействие в интерфейс. Идеальная возможность представилась в момент разблокировки альбома. Вместо того чтобы нажимать на плавающую кнопку, вы фактически бьете по ней, чтобы разблокировать, вы разбиваете ее, вы уничтожаете, как врага. Интерфейс становится чем-то, с чем вы взаимодействуете физически, а не через абстракцию.
Как только идея стала понятной, на ее реализацию в игре ушло меньше недели, и мы получили много положительных отзывов, так что я действительно считаю, что усилия того стоили.
Плавность
Последовательность действий в пользовательском интерфейсе чрезвычайно важна для создания приятного опыта с момента запуска игры. Это требует предоставления плавного, отзывчивого и удобного интерфейса. Мы уже делали это раньше, нам нравится, когда каждый переход ощущается плавным и живым.
Но помимо этого, для обеспечения плавности работы важно также учитывать время загрузки. Время загрузки всегда раздражает игроков, но в VR это еще более критично по двум причинам:
- Они разрушают ощущение физического присутствия и, следовательно, магию виртуальной реальности.
- Игрок фактически с завязанными глазами, и поэтому ему нечем занять себя в свободное время (например, телефоном или напитком).
Чтобы обеспечить полностью бесперебойный поток музыки, мы отнеслись к этому очень серьезно при создании Beat the Beats . Мы решили полностью отказаться от экранов загрузки и вместо этого плавно переходить в мир каждого альбома, вдохновившись переходами между магазинами в Splatoon .
Это потребовало некоторого планирования и дополнительной технической разработки. Наш минималистичный стиль идеально подошел, поскольку мы не зависим от сложных моделей или множества текстур для создания желаемой атмосферы. В некотором смысле, это похоже на методы, используемые в демо-сценах. Мы в значительной степени полагаемся на определенные алгоритмы (в основном шейдеры) и повторное использование одних и тех же ресурсов для создания нужной атмосферы, одновременно поддерживая низкий уровень потребления ресурсов. Это потребовало дополнительных усилий, но в результате получился очень плавный и надежный интерфейс.
Заключительные мысли
Разработка дизайна для VR означает переосмысление устоявшихся представлений. Это было интересное путешествие, и, безусловно, потребовалось дополнительное время и планирование для создания уникального интерфейса, но я думаю, что результат полностью того стоит.
Речь не идёт о переводе плоских интерфейсов в трёхмерное пространство. Рассматривая элементы пользовательского интерфейса как физические, пространственные и динамические компоненты мира, мы гарантируем, что погружение начинается не с момента начала игрового процесса, а в тот момент, когда вы надеваете гарнитуру. Я действительно считаю, что у пользовательского интерфейса огромный потенциал для развития в VR-среде. Широкий спектр возможностей взаимодействия создаёт великолепный ландшафт для исследования. Каждая игра может привнести в эту область свой собственный стиль и индивидуальность. С нашей точки зрения, интерфейс — это не слой поверх игры, а часть самой игры.