Почему графика в Halo Infinite кажется плоской: объясняет Digital Foundry
Игру подвело стремление к обсчету освещения в реальном времени.
Кстати, на сайте читать удобнее
Первый геймплей Halo Infinite выглядел не очень хорошо: были заметны подгрузки и текстуры низкого разрешения, персонажи и объекты выглядели так, словно система освещения вообще не работает. Редактор Digital Foundry Алекс Батталья изучил геймплейный ролик и рассказал, почему картинка выглядит устаревшей.
Основная проблема в том, что разработчики Halo Infinite постарались сделать освещение более реалистичным. В игре используется динамическое освещение: если в Halo 5 все освещение было статичным и обсчитывалось заранее, еще при сборке уровней, то в Infinite свет считается в реальном времени.
У такого подхода есть плюсы и минусы. Теоретически картинка должна выглядеть реалистичнее, кроме того, отказ от заранее обсчитанного освещения ускоряет разработку игры. Но важно учитывать, что динамическое освещение в современных графических движках работает не совсем реалистично.
The Last of Us 2 — яркий пример игры с хорошим статичным освещением. Но по динамическим объектам можно догадаться, что оно именно статичное: игра не может осветить их так же реалистично.
Уровень, показанный в геймплее Halo Infinite, спроектирован так, что персонаж почти всегда оказывается вне прямого солнечного света — в тени. Полностью реалистичное глобальное освещение обеспечило бы реалистичные мягкие тени, но его в игре нет.
В графическом движке Halo Infinite реализовано упрощенное глобальное динамическое освещение. Оно хорошо работает с объектами, находящимися под прямым освещением, но не справляется, если они оказываются в тени. Именно отсюда берется кажущаяся плоскость графики.
Под прямым освещением лучше выглядит вообще все. Сразу становится видно, что персонажи, снаряжение и оружие покрыто качественными текстурами, противники уже не кажутся такими картонными и безжизненными, как в тени.
Как только объект попадает в тень, даже совсем небольшую, создается впечатление, что система освещения перестает его замечать. По сути так оно и есть: динамическое глобальное освещение, даже в урезанном варианте, это очень ресурсоемкая технология.
Картинка, отмечает Батталья, могла бы выглядеть лучше, если бы не дизайн локации с высокими горами, долинами, по которым путешествует главный герой, и низко стоящим солнцем. Горы и другие объекты почти всегда перегораживают прямой солнечный свет — не самое лучшее дизайнерское решение.
В принципе, с такими проблемами сталкиваются и разработчики практически всех остальных игр, использующих динамическое освещение. В качестве одного из примеров Алекс приводит Metro Exodus, где время от времени видны характерные проблемы.
Однако в игре 4A Games есть система динамического глобального освещения на основе трассировки лучей. Она спасает ситуацию: с трассировкой игровой движок может отрисовать по-настоящему реальное освещение, сделав картинку достовернее.
Слева — обычное глобальное освещение, справа — трассировка лучей
Похожие решения есть и у других студий: у Crytek это SVOGI, глобальное освещение на базе вокселей, у Epic Games есть система Lumen, встроенная в Unreal Engine 5. Авторам Halo Infinite, считает Алекс, стоит разжиться чем-то похожим.
В принципе, разработчики уже подтвердили, что игра получит поддержку трассировки лучей, но есть несколько проблем. Во-первых, она выйдет в виде патча уже после релиза; во-вторых, на Xbox One или Xbox One X технология вряд ли заведется.
Батталья сомневается, что даже на Xbox Series X игра сможет одновременно работать в разрешении 4К, выдавать 60 кадров в секунду и использовать трассировку лучей. Возможно, в финальной версии Halo Infinite все-таки будет использовать динамическое разрешение и апскейл.
- В Halo 5 воссоздали кусочек уровня Halo Infinite — освещение выглядит лучше
- Бросок брута: главное из интервью с авторами Halo Infinite
- Супермен в черном и уничтожение «Лиги»: Зак Снайдер рассказывает о режиссерской версии
- Кранчи и лекарство от рака: как работают авторы Frostpunk и This War of Mine
- Бета-тест Halo Infinite могут отменить, а мультиплеерный режим — отложить
- Геймплей Halo Infinite выглядит не очень хорошо. Microsoft говорит, что это старый билд