Трассировка лучей в Elden Ring? Вот как я добавил это сам
Элден Ринг выглядит не очень. Это полезно, но это шаг назад в качестве изображения по сравнению с Sekiro: Shadows Die Twice и Dark Souls 3, по крайней мере, для меня. Пока я играл, я все время думал про себя: «Чувак, было бы неплохо, если бы разработчики пропатчили трассировку лучей в игре».
Но потом я понял, что могу сделать это сам.
Elden Ring вызвала приключение благодаря трассировке лучей и ее ненадежному определению, различным способам расчета освещения в играх и тому, как игры RTX от Nvidia работают на техническом уровне. В итоге я добавил трассировку лучей в несколько компьютерных игр, включая Elden Ring. Вот как я это сделал.
Учебник по трассировке лучей
Добиться славы трассировки лучей в игре, которая ее не поддерживает, непросто. Но благодаря инструменту под названием ReShade это возможно.
Как, спросите вы? Что ж, следует помнить, что трассировка лучей — это метод, а не функция. Трассировка лучей RTX от Nvidia привела к определению того, что это такое, что некоторые могут назвать правильной трассировкой лучей. Короче говоря, трассировка лучей RTX отслеживает лучи света, исходящие от каждого источника света в сцене, независимо от того, что вы видите на экране в данный момент.
То, что я говорю о добавлении себя, иногда называют «маршированием лучей», и следует сказать: назвать серую область между этим и трассировкой лучей двусмысленной было бы преуменьшением. Вместо того, чтобы проходить кропотливый процесс определения того, как каждый луч взаимодействует с объектами для всей сцены, при марш-броске лучей используется карта глубины, чтобы выпустить лучи (или заставить их двигаться вперед) для определения характеристик освещения. Ниже вы можете увидеть пример карты глубины, которая просто показывает, насколько далеко или близко находятся объекты от камеры.
Здесь много технических деталей, но вот что важно: трассировка лучей пытается имитировать реалистичное освещение, независимо от того, насколько требователен этот процесс, в то время как трассировка лучей связана только с тем, что вы видите на экране в данный момент. Оба являются трассировкой лучей в том смысле, что они рассчитывают, как лучи света отражаются от объектов, но делают это совершенно по-разному.
Все это объяснение имеет решающее значение для понимания того, что трассировка лучей может использоваться по-разному. Несомненно, большинство людей думают о трассировке лучей как об отражениях, но у нее гораздо больше применений. Трассировка лучей также затрагивает тени, окружающее затенение, глобальное освещение и в основном любую другую технику, связанную с освещением и тенями.
Это возвращает нас к шейдеру RTGI ReShade Паскаля «Марти Макфлая» Гилчера. Это шейдер, который обрабатывает глобальное освещение с трассировкой лучей с помощью инструмента под названием ReShade, который, по сути, является посредником, который изменяет инструкции из игры до того, как они попадут в графический драйвер. Это не «настоящая» трассировка лучей, как в играх с поддержкой RTX, а использование трассировки лучей в качестве метода, обеспечивающего более реалистичное освещение и тени в играх, которые не поддерживаются должным образом.
Гилчер предлагает шейдер RTGI через Patreon за 5 долларов в месяц , но он также доступен на видеокартах Nvidia (SSRTGI или глобальное освещение с трассировкой лучей на экране, фильтр в GeForce Experience) бесплатно. Я подписался, чтобы оказать некоторую поддержку, и сразу же опробовал шейдер в некоторых из моих любимых игр.
Но потом я понял, насколько глубоким должен быть процесс, чтобы заставить его работать.
Испытание терпения
Когда у меня в руках был шейдер RTGI, мне пришлось установить ReShade . Я использовал ReShade раньше, и если вы заинтересованы в изменении внешнего вида своих игр, стоит изучить его. Первым шагом было установить ReShade и шейдер RTGI для каждой игры, которую я хотел протестировать. Вы должны делать их по очереди.
Настроить ReShade достаточно просто благодаря краткому руководству, которое запускается при первом запуске. Я впервые включил шейдер в Elden Ring , и он ничего не сделал. Я провел небольшое дополнительное исследование, но не смог понять, почему, поэтому отложил эту идею на некоторое время.
Моя проблема, с которой я сталкивался почти в каждой тестируемой игре, была связана с картой глубины. Это самая важная вещь для шейдера RTGI, так как он использует карту глубины, чтобы определить, как имитировать освещение. Игры используют другой подход, поэтому в некоторых случаях они вообще не тянут карту глубины, а в других они переворачивают карту так, что объекты, находящиеся близко к камере, визуализируются так, как будто они находятся далеко, и наоборот.
RTGI предоставляет инструменты для решения этих проблем, но они не совсем удобны для пользователя. В таких играх, как Assassin's Creed Odyssey, мне приходилось инвертировать карту глубины с помощью RTGI, а в таких играх, как Batman Arkham City, мне приходилось определять, насколько далеко карта глубины проникала в сцену. Универсального решения не существует, но после небольшой практики я быстро смог настроить карту глубины для достижения желаемых результатов.
Это главное, о чем стоит побеспокоиться, чтобы добиться реалистичного результата, но я столкнулся как минимум с дюжиной других препятствий. Ореолы вокруг объектов, резкое и непривлекательное рассеяние света и странные взаимодействия с тенями возникали несколько раз. А в некоторых играх, таких как Half-Life 2, шейдер просто выглядел неправильно, что бы я ни делал.
Если вы хотите начать работу с RTGI, вот несколько советов, которые помогут вам встать на правильный путь:
- Всегда включайте шейдер DisplayDepth в ReShade после включения RTGI. Он нужен вам, чтобы увидеть, правильно ли отображается ваша карта глубины, но вы можете отключить его позже.
- Отключить сглаживание в игре. Вы можете справиться со сглаживанием через ReShade, и это может испортить карту глубины для RTGI.
- RTGI предоставляет глобальные настройки для шейдера. Они объясняются в интерфейсе DisplayDepth, и вам нужно настроить их на основе того, что вы видите на карте глубины.
- На вкладке «Дополнения» ReShade обязательно выберите свою карту глубины. Вы увидите список карт внизу, и они очень запутаны. Вы ищете тот, который имеет разрешение, соответствующее вашему дисплею.
- RTGI сам по себе может вызвать проблемы с цветом, поэтому обязательно используйте инструмент кривых или уровней, чтобы впоследствии настроить внешний вид игры.
- RTGI включает в себя несколько настроек в нижней части интерфейса (бесконечные отскоки для лучей, освещение на основе материалов и т. д.). Вам, вероятно, потребуется включить хотя бы несколько из этих функций для достижения наилучших результатов.
RTGI требует большого терпения и экспериментов, поэтому не выбирайте его как решение в один клик. Я не собираюсь использовать его в каждой игре, но в таких играх, как Elden Ring , в которые я хочу играть много раз, результаты великолепны.
Результаты, достижения
Этой технической болтовни хватит на неделю, может, на месяц или даже на год. Пришло время посмотреть, что RTGI может сделать в действии. Я применил его к 10 играм, но получил пять, которые мне понравились: Assassin's Creed Odyssey, Batman Arkham City, Hitman 3, Metro 2033 Redux и, конечно же, Elden Ring.
Вот скриншоты:
RTGI не выполняет всю работу самостоятельно. Как уже упоминалось, хорошей идеей будет добавить корректировку уровней или кривых после RTGI, чтобы сбалансировать все странности, которые он делает. Мне приходилось делать это в каждой игре, и, как и в случае с RTGI, это процесс проб и ошибок.
Но мне по-прежнему нравится глубина, которую приносит RTGI. В Elden Ring это то, как правильно затеняется задняя часть щита. В Hitman 3 это контактные тени пальто Агента 47 и налет от яркого света, падающего на другие поверхности. RTGI не переделывает игры; это только усиливает их.
Стоило ли?
Нет. Для подавляющего большинства геймеров возня с ReShade и RTGI вообще не стоит. Я сделал это, потому что я гик и люблю компьютерную графику, и я все еще несколько раз разочаровывался в процессе.
Если у вас есть игра, которую вы хотите улучшить, и вы планируете посвятить ей много времени, RTGI — это решение. Это не обязательно, но если вы занимаетесь моддингом компьютерных игр , RTGI предоставляет множество возможностей для экспериментов. И результаты отличные, учитывая, что вы потратите некоторое время на настройку правильных настроек.
Я не буду использовать RTGI в каждой игре или даже в большинстве из них. Но в некоторых однопользовательских играх — использование RTGI или любого фильтра ReShade в многопользовательской игре — это быстрый способ заработать бан — я буду использовать его снова.