Crimson Desert нейроперевод интервью с Digital Foundry.

Алекс Батталья

«И начинается обратный отсчёт до нашего первого материала с практическими впечатлениями».

Crimson Desert на данный момент становится, пожалуй, самой ожидаемой игрой 2026 года — и, судя по всему, что мы уже увидели, ажиотаж вполне оправдан. Более того, чрезвычайно подробные рекомендованные системные требования, представленные Pearl Abyss, также выглядят весьма необычно. Разработчики демонстрируют большую уверенность в своём проекте — настолько, что предоставляют максимально подробную информацию не только для ПК, но и для консолей, а также даже для портативных ПК.

Внутри команды Digital Foundry мы активно работаем над нашими материалами. Всё начнётся с предварительного (но всё равно очень подробного!) анализа версии игры для PlayStation 5 Pro, после чего мы перейдём к более широкому кругу тем. Мы рассмотрим опыт игры на топовых ПК, опубликуем собственные оптимизированные настройки графики для ПК вместе с их консольными эквивалентами (по сути, это будет отражать выбор самой Pearl Abyss для более массового железа) и, конечно же, постараемся предоставить полноценное сравнение всех платформ, как только получим доступ ко всем версиям игры.

Ожидайте наш первый взгляд на консольные версии уже совсем скоро. А пока, изучая Crimson Desert, мы задали Pearl Abyss ряд вопросов — начиная с базовой технологии, получившей название BlackSpace Engine.

«Black» отсылает к предыдущей игре разработчиков — Black Desert Online. А «Space» обозначает более общее понятие «вселенной».

Но это лишь подготовка к самому интервью.

Интервью

Digital Foundry: В игре впечатляющий цикл смены дня и ночи и непрямое освещение, которое, судя по всему, реализовано с помощью трассировки лучей. Как в игре реализовано диффузное глобальное освещение от солнца и локальных источников света?

Pearl Abyss: Мы стремились максимально точно смоделировать естественное поведение света. Сначала мы вычисляем яркость солнца и луны в космосе на основе заданной интенсивности. Затем рассчитываем атмосферное рассеяние света солнца и луны в атмосфере мира Pywel.

Фотоны, которые не были рассеяны, становятся источниками направленного света, а рассеянные фотоны — источниками небесного освещения. Мы создаём surfels для всех мешей вокруг камеры и обновляем их излучение вне экрана.

Когда мы рассчитываем освещённость поверхности, мы генерируем лучи и отслеживаем информацию о столкновениях. Если луч попадает в поверхность, падающая освещённость определяется на основе кэшей излучения (Radiance Caches) на базе surfel-ов и направленного освещения, рассчитанного с помощью shadow maps. Если луч ни во что не попадает, освещённость берётся из небесного освещения, представленного в виде cubemap.

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

Для локальных источников света мы строим иерархическое дерево источников и выбираем из него при расчёте освещения. Мы называем это Many Lights Sampling. Теоретически количество источников света не ограничено, но чтобы снизить стоимость выборки и потребление памяти, мы ограничиваем дерево 32 767 источниками света.

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

Поскольку бюджеты выборки и трассировки лучей ограничены, наивный результат освещения получается довольно шумным. Чтобы уменьшить шум, мы повторно используем результаты выборки пространственных соседей и применяем простое шумоподавление (denoising) для диффузного освещения.

Результаты зеркального освещения объединяются с результатами specular GI, чтобы избежать отдельного этапа шумоподавления и сохранить согласованность освещения. Источники света также могут добавляться в surfel-кэши для непрямого освещения, но высокочастотные источники мы исключаем, чтобы избежать «призраков» изображения.

Digital Foundry: Используете ли вы RT-пробы или расчёт на каждый пиксель? Комбинируется ли это с короткими лучами в screen-space? Сколько отскоков света? Есть ли кэш? Чем больше технических деталей — тем лучше!

Pearl Abyss: В основном мы запускаем лучи глобального освещения на каждый пиксель. Однако количество лучей на пиксель зависит от выбранных настроек качества.

  • Diffuse GI и Many Lights: от 1/16 до 1 луча на пиксель
  • Specular GI: от 1/4 до 1 луча на пиксель

После вычисления излучения для лучей diffuse GI мы создаём Tiled Radiance Caches, чтобы уменьшить шум, вызванный недостаточным количеством лучей. Это экранные тайлы размером 32×32 пикселя.

Затем эти кэши проходят шумоподавление, а также создаются Clustered Radiance Caches, которые помогают корректно работать при множестве слоёв глубины на экране.

Хотя сами лучи рассчитывают только один непрямой отскок, система ведёт себя как псевдо-многократный отскок благодаря обратной связи обновления кэшей.

При выборке Tiled Radiance Caches для пикселя используются screen-space лучи, чтобы оценить видимость тайла. Мы также используем SSAO, чтобы сохранить мелкие детали окклюзии.

Когда нужно получить излучение для луча, попавшего в поверхность, используются ранее описанные surfel-кэши.

Также применяются дополнительные методы, такие как Ray Guiding и ReSTIR GI, чтобы уменьшить шум при малом количестве лучей.

Digital Foundry: Какие объекты, материалы и текстуры включаются в BVH (иерархию ограничивающих объёмов) и на каком расстоянии она работает?

Pearl Abyss: Практически все объекты — кроме травы и очень мелких деталей — включены в BVH для трассировки лучей. Это:

  • ландшафт
  • здания
  • предметы окружения
  • деревья
  • персонажи

Однако из-за ограничений по памяти и производительности BVH работает на расстоянии примерно 100–150 метров.

Объекты дальше этого расстояния представляются с помощью SDF (Signed Distance Fields) на дистанции примерно до 2 км.

Чтобы уменьшить divergence hit-shader-ов и повысить производительность, мы используем упрощённые версии материалов. Например, сложные многослойные текстуры персонажей запекаются в одну текстуру.

Эмиссионные материалы также включены в BVH, чтобы корректно отображать непрямые отражения.

Digital Foundry: Как реализовано непрямое зеркальное освещение на воде, броне и других поверхностях?

Pearl Abyss: Непрямое зеркальное освещение также рассчитывается с помощью трассировки лучей.

На системах без поддержки RT используется ray marching по SDF.

Этот же метод применяется для дальних отражений, которые выходят за пределы BVH трассировки лучей.

Также используются screen-space лучи, чтобы экономить бюджет трассировки и получать точные отражения.

Для шероховатых поверхностей мы используем Tiled Radiance Caches, чтобы уменьшить шум и снизить количество RT-вычислений. Оставшийся шум устраняется простым денойзером.

Digital Foundry: Деревья видны на огромных расстояниях. Как достигается такой экстремальный уровень LOD?

Pearl Abyss: Мы используем ассеты SpeedTree для моделей деревьев. Для дальних дистанций создаются 3D-импостеры, рендерящиеся в 8×8 направлениях.

Эти импостеры затем запекаются в Proxy LOD — финальный уровень LOD, представляющий мир.

Proxy LOD не имеет ограничения по расстоянию на системах выше рекомендуемых требований, поэтому импостеры деревьев тоже фактически не имеют ограничения по дальности.

Digital Foundry: Использует ли игра mesh shaders для LOD или отсечения?

Pearl Abyss: Да. Описанные выше импостеры деревьев реализованы с использованием mesh shaders на поддерживаемом оборудовании. Также есть и другие техники, которые используют mesh shaders.

Digital Foundry: Как реализованы тени для персонажей, удалённых объектов, деревьев и ландшафта?

Pearl Abyss: Используется несколько слоёв shadow maps, чтобы корректно отображать огромный открытый мир.

  1. Статические карты теней — две каскады, постепенно обновляются и покрывают большинство дальних объектов.
  2. Карты теней ландшафта — одна каскада только для очень дальнего рельефа.
  3. Динамические карты теней — две каскады, обновляются каждый кадр для всех ближайших объектов и анимации (деревья, ткань, персонажи).
  4. Ближние карты теней — одна каскада только для ближайших персонажей, чтобы повысить детализацию.

Мелкие контактные тени создаются с помощью screen-space contact shadows.

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

Digital Foundry: Рендеринг воды выглядит необычно: она не просто деформируется, а как будто «возвращается» и заполняет углубления. Как это реализовано?

Pearl Abyss: Это частичная симуляция жидкости на частицах, основанная на уравнении мелкой воды (Shallow Water Equation).

Около камеры симулируется до 250 000 частиц. Частицы сталкиваются:

  • с границами (высота рельефа, береговые SDF)
  • друг с другом.

При столкновении давление увеличивается, и верхние частицы поднимаются вверх, после чего падают обратно под действием гравитации.

Digital Foundry: Какие технологии апскейлинга поддерживаются на старте?

Pearl Abyss:

  • FSR 3 / FSR 4 и DLSS 4 / DLSS 4.5 — на ПК
  • PSSR — на PS5 Pro
  • FSR 3 — на PS5 и Xbox Series S/X

Frame Generation поддерживается только на ПК — как для FSR, так и для DLSS.

Digital Foundry: Поддерживается ли AMD Ray Regeneration или NVIDIA Ray Reconstruction?

Pearl Abyss: Да, поддерживаются обе технологии — FSR Ray Regeneration от AMD и DLSS Ray Reconstruction от NVIDIA.

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

6
1
9 комментариев