Лучшее  🚀
25.07.2020 в 21:59 Evernews

Почему графика в 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 все-таки будет использовать динамическое разрешение и апскейл.

Читать далее