Как в Red Dead Redemption 2 устроены визуальные эффекты

Облака, тени и объёмное освещение.

На конференции SIGGRAPH 2019, посвящённой в том числе и графическим достижениям видеоигр, с лекцией выступил Фабьен Бауэр — старший программист графики Rockstar. Разработчик рассказал, на каких принципах в Red Dead Redemption 2 устроены визуальные эффекты.

Мы выбрали самое интересное из его выступления. В материале изложены лишь основы рендеринга игры — полную презентацию со всеми подробностями, уравнениями и техническими особенностями вы можете найти здесь.

Как в Red Dead Redemption 2 устроены визуальные эффекты

По словам Бауэра, главной целью создателей было достоверно отобразить американскую дикую природу конца девятнадцатого века — причём, сразу в нескольких климатических зонах. Упор сделали на освещении, главным «источником» которого было небо.

Разработчики вдохновлялись картинами художников Школы реки Гудзон — в них живописцы всегда пытались добиться правильного объёмного света и естественных тонов. Солнце преломляется в больших облаках, которые едва касаются остального окружения. Видны туманы и радуга.

Альберт Бирштадт — «Гроза в Скалистых горах»
Альберт Бирштадт — «Гроза в Скалистых горах»
Как в Red Dead Redemption 2 устроены визуальные эффекты
Альберт Бирштадт — «Среди гор Сьерра—Невада»
Альберт Бирштадт — «Среди гор Сьерра—Невада»

Чтобы воссоздать это в игре, разработчики реализовали продуманную систему рассеивания частиц, основанную на физических принципах.

Скажем, если на пути света находятся частицы тумана, то он либо поглощается ими, либо отражается. Чем больше таких частиц находится на пути рассеивания, тем больше свет рассеивается — причём, не только первоначальные лучи, но в том числе и рассеянные.

На каждую частицу в игре моделируется рассеянный свет (на слайде — Scattered Light) как алгебраическая сумма всей интенсивности света. Также у каждой частицы есть коэффициент пропускания (Transmittance), который выражен в виде экспоненциальной функции — она описывает, сколько света передаётся по указанному направлению в объёмной среде. Он определяется экстинцией (Extinction) — суммой коэффициентов поглощения и рассеивания.

V — функция видимости, а P — фазовая функция, которая описывает направление рассеяного света с учётом вероятностей
V — функция видимости, а P — фазовая функция, которая описывает направление рассеяного света с учётом вероятностей

Система, которую реализовали в игре, охватывает эффекты как большого, так и маленького масштаба — с поддержкой огромного количества материалов. По факту, в игре одна система рендеринга на почти все объекты.

В первую очередь Бауэр рассказал, как в Red Dead Redemption 2 реализованы облака. В реальном времени генерируется облачная карта, которая охватывает сразу весь внутриигровой мир — с учётом погоды и времени суток. Получается двухканальная текстура, которая содержит данные о плотности облаков на двух слоях.

Как в Red Dead Redemption 2 устроены визуальные эффекты
Как в Red Dead Redemption 2 устроены визуальные эффекты

Однако так мы лишь знаем, где облака будут располагаться в двух плоскостях — теперь им нужно придать форму, основанную на высоте. Для этого в игре существует таблица из разных градиентов, которые позволяют создавать разные кучевые и слоистые облака.

Также под облаками иногда создаётся дождевой туман — в зависимости от их плотности на дождевой карте.

Как в Red Dead Redemption 2 устроены визуальные эффекты

Туман в игре создаётся подобно облакам. Генерируется отдельная карта с тремя каналами — со стартовой высотой тумана, расстоянием покрытия и плотностью. Все эти параметры также учитывают время суток и погоду. Поэтому утренний туман, который появляется на водоёмах, со временем рассеивается.

Как в Red Dead Redemption 2 устроены визуальные эффекты

Иногда места сосредоточения тумана художники размещали самостоятельно.

Как в Red Dead Redemption 2 устроены визуальные эффекты

Система рендеринга же, по словам Бауэра, в игре устроена так: ближняя дистанция покрывается усечённым полем зрения полностью, в то время как дальняя — лишь лучами.

Как в Red Dead Redemption 2 устроены визуальные эффекты

С технической стороны затенение работает примерно как рассеивание. Происходит трассировка лучей по поверхности карты высот местности — в направлении движения Солнца или Луны. При этом учитывается как высота пересечения с окружением, так и длина луча. Затем точки высот сравниваются с картой теней, чтобы определить их видимость.

Параметр длины луча нужен, чтобы резкость теней менялась в зависимости от расстояния.

Как в Red Dead Redemption 2 устроены визуальные эффекты

Радуги в Red Dead Redemption 2 работают в рамках системы рассеивания. По открытому миру их размещают не художники, а сама игра в зависимости от сочетания погодных условий и положения Солнца или Луны.

Технически, это отдельный источник света, чья интенсивность определяется плотностью капель воды.

Как в Red Dead Redemption 2 устроены визуальные эффекты
351351
160 комментариев

Комментарий недоступен

111
Ответить

Комментарий недоступен

2
Ответить

Не знаю насчет облаков, но в RDR2 лучшее ночное освещение, которое я видел в играх.
После этого играть в одиссею было немного больно.

74
Ответить

А для меня топ с ночным освещением - хорайзен. Просто наслаждался каждой пробежкой ночью.

32
Ответить

Я не мог скрыть щенячьего восторга воспоминаний из детсва, когда приехал в полнолуние ночью в заснеженную локацию.

15
Ответить

Комментарий недоступен

8
Ответить

Лучшее ночное небо которое я видел в играх было в TES 3: Morrowind. Я не иронизирую, ночное звёздное небо, как и дневное с облаками до сих пор выглядит лучше чем в подавляющем большинстве современных игр с открытым миром.

3
Ответить