Заметки о виртуальной реальности

С первых же секунд Half Life: Alyx захватывает дух. Такого погружения в игровой мир я никогда не испытывал и не представлял, что такое технически возможно.

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

VR — это не только камера, которая в пространстве ориентирована туда, куда смотрит игрок в шлеме. Это совершенно другой левел-дизайн и управление. Half Life: Alyx — это пример такого подхода.

Нельзя просто взять трёхмерную игру и добавить в неё трекинг головы и рук. Энтузиасты портировали GTA V, Cyberpunk 2077, которые изначально не разрабатывались для виртуальной реальности. И у них получилось, но играть в это я бы не стал — это не ощущается натурально. Ещё пример — Skyrim, в который я рассчитываю поиграть в будущем — официальный VR-порт, надеюсь, что там можно помахать мечом и понатягивать тетиву лука. Магия Half Life: Alyx во взаимодействии с предметами. У вас две руки, голова, тело. Вы находите бутылку водки и швыряете её в сторону, чтобы звуком отвлечь чудовище, находите каску и надеваете её на голову, находите шприц с лекарством и вкалываете его себе в плечо. В классических играх у вас есть инвентарь, вы нажимаете кнопки на контроллере для использования предметов или активации способности. В Alyx патроны в рюкзаке за спиной, а в руке оружие — пистолет, дробовик и автомат. А как сделана перезарядка оружия — это просто песня! Можно долго хвалить разработчиков этой игры, поэтому остановлюсь.

Так меня восхитили возможности Alyx, что я решил реализовать хотя бы часть этих механик в нашей игре 2019 года, в которую уже давно никто, кроме нас, не играет.

Unity предоставляет техническую возможность для создания проектов VR/AR, но по состоянию на сегодня плагин SteamVR, который необходим для взаимодействия с самыми крутыми, новыми и дорогими шлемами типа HTC Vive Cosmos Elite, HP Reverb G2, Valve Index, находится в состоянии разработки (альфа версия). Сейчас можно использовать устаревшую систему, доступную в Unity 2019 LTS, поддерживающую SteamVR / Oculus, совместимую с пакетом API для виртуальной реальности, который тоже в активной разработке. Мне сначала показалось странным, что отсутствует стабильное API (не устаревшее и не в раннем доступе), но, как оказалось, бояться нечего. Всё заработало: перемещение по комнате, отслеживание позиции рук, головы, геймплей. Не так круто, как в Alyx, но быстро и легко — и всё-таки впечатляюще.

Поскольку в игре способности класса активировались кнопкой, нужно было предусмотреть более органичный для виртуальной реальности способ активации способности. Например, нужно надеть очки на голову, чтобы активировать рентгеновское зрение, взять посох в руки и ударить им по земле, или откусить кусочек гриба. Все эти предметы находятся в игровом мире, и их нужно взять в руку. Когда игрок подносит очки к голове, то вибрация даёт игроку понять, что их можно надеть. Очки ещё можно и снять!

Кружка с пивом, как самый главный приз игры, тоже нуждалась в адаптации для VR. И тут получилось не так, как я хотел изначально. Сначала я рассчитывал, что пиво можно будет виртуально выпить, поэтому приобрёл в магазине Unity симуляцию жидкости, чтобы пиво и пена были максимально похожи на реальную. Но возникло два непреодолимых ограничения: эффект туннеля и низкая производительность при нахождении жидкости в кружке. Эффект туннеля возникает при быстром движении кружки с пивом: при обсчете физики частиц жидкости, они получали импульс, дающий им большую скорость. Физический движок не «видел» столкновения быстрых частиц жидкости с тонкими стенками сосуда, поэтому жидкость проходила насквозь кружки. Решить это можно с помощью повышения частоты дискретизации, то есть более частым обсчетом физики на каждый кадр отрисовки, или более толстыми стенками кружки, но эти решения были неприемлемы. Тогда мы решили сделать пиво условно физичным, чтобы жидкость не симулировалась на частицах, а анимировалась через плагин Dynamic bone. Пиво нельзя выпить, но оно покачивается при наклоне и перемещении вместе с пеной. А если уронить кружку, то она разбивается на осколки, и в этот момент активируется симуляция жидкости: пиво разливается и стекает по поверхности. Поскольку жидкость не ограничена сосудом, то просадок по производительности и эффекта туннеля нет.

Мне очень понравились возможности, которые сейчас есть в виртуальной реальности. Помимо Half Life: Alyx огромное удовольствие я получил от игры Paper Beast (тоже сделана в Unity). Перед самым новым годом вышел Microsoft Flight Simulator для VR — это тоже круто. Я пролетел на кукурузнике над пейзажами Среднего Запада, буквально с открытым от удивления ртом. Но, к сожалению, это просто отслеживание головы, то есть само управление воздушным судном «за пределами» виртуальной реальности: в моём случае приходилось держать в руках старый добрый контроллер Xbox… Надеюсь, что доработают, потому что Flight Simulator стоит дороже каменного моста, и хочется за такие деньги максимально полных ощущений от управления самолётом.

Запись опубликована в рубрике Uncategorized. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *