Одна из первых вещей, которая бросается в глаза при запуске Crimson Desert – невероятная глубина и детализация поверхностей. Кирпичные стены, каменная кладка, скальные породы – всё выглядит так, словно каждый камень вылеплен из реальной геометрии. Но именно здесь начинается загадка, которая не даёт покоя разработчикам по всему миру с момента релиза игры.
Ютубер и художник по окружению Next Level Game Art посвятил этому вопросу отдельное видео, собрав воедино наблюдения десятков специалистов индустрии.
Суть проблемы проста – если бы Pearl Abyss действительно использовала настоящую геометрию (displacement) для создания такого уровня детализации на каждой поверхности игрового мира, производительность упала бы до неиграбельного уровня.
Displacement работает за счёт добавления реальных вершин в сетку модели – высотная карта буквально выдавливает и вдавливает полигоны, создавая физическую глубину.
Это действительно отличная техника, но крайне "дорогая" в плане вычислительных ресурсов из-за колоссального увеличения количества полигонов.
Логичной альтернативой выглядит параллакс-окклюжн маппинг (POM) – пиксельный шейдерный трюк, который симулирует глубину без добавления геометрии.
POM сдвигает текстурные координаты в зависимости от угла камеры и высотной карты, создавая достаточно убедительную иллюзию рельефа. Данная техника значительно дешевле дисплейсмента и широко используется в индустрии, особенно для горизонтальных поверхностей – земли, пола, дорог, так как у них не видно "краев", которые нарушили бы иллюзию. Либо, края можно перекрыть другими объектами.
Именно POM многие комментаторы предложили в качестве ответа после первого видео Next Level Game Art о движке Crimson Desert. Однако ютубер и ряд других разработчиков не были убеждены, и на то была конкретная причина. Дело в том, что стандартный POM не влияет на силуэты объектов – на краях стен и углов поверхность остаётся плоской.
В Crimson Desert же силуэты и края стен выглядят объёмными практически повсюду. Кроме того, эффект оказался виден в буфере глубины (depth buffer), что нетипично для POM – эта техника обычно отрабатывает позже в рендеринг-пайплайне и в буфере глубины не отображается. Проверить это можно с помощью ReShade – бесплатного инструмента с открытым исходным кодом для ПК-версий игр.
Разгадка пришла от нескольких разработчиков, которые независимо друг от друга пришли к одному выводу. Разработчик Георгиан Аврам Янку опубликовал в X свои наблюдения, указав на технику "параллакс-маппинга с ограничением смещения" (parallax mapping with offset limiting), и дал ссылку на научную работу начала 2000-х годов. Другой разработчик, Джошуа Стаблз, подтвердил гипотезу и назвал технику SPOM – Silhouette Parallax Occlusion Mapping, то есть параллакс-окклюжн маппинг с силуэтами.
SPOM решает главную проблему стандартного POM – плоские силуэты на краях геометрии. При обычном POM стена на углу всё равно выглядит как плоская плоскость, что разрушает иллюзию. SPOM обрабатывает края специальным образом, создавая впечатление реального рельефа даже на силуэтах.
При этом техника не добавляет настоящей геометрии и остаётся в рамках разумной вычислительной стоимости.
Примечательно, что SPOM – далеко не новинка. CryEngine использовал эту технику более десяти лет назад, а в Unreal Engine 4 её можно было применять уже в 2015 году. Это совпадает с тем, что сами разработчики Pearl Abyss ранее говорили в интервью о своей одержимости оптимизацией и использовании "очень старых техник, которые не забыты, но не распространены в современных играх". Вместо погони за новейшими рендеринг-технологиями студия довела до совершенства проверенный временем подход.
Правда, у этого решения есть обратная сторона – те самые визуальные артефакты и мерцание, на которые жалуются некоторые игроки. Характерное "плавание" текстур на краях экрана – типичный побочный эффект POM, который не возникает при использовании настоящего дисплейсмента.
Именно это мерцание стало источником разногласий в сообществе: одни игроки воспринимают артефакты как приемлемую плату за общий уровень визуального качества, другие считают их признаком некачественной оптимизации. Степень заметности артефактов при этом зависит от конкретного железа.
Ютубер отметил, что всё вышесказанное остаётся обоснованным предположением. Pearl Abyss официально не раскрывала детали рендеринг-пайплайна своего движка Black Space.
Однако совокупность наблюдений – поведение в буфере глубины, характер движения на краях экрана, обработка силуэтов и общая производительность – убедительно указывает именно на высокооптимизированную версию SPOM для большинства тайлящихся материалов в игре.
Вне зависимости от точной техники, Crimson Desert наглядно демонстрирует подход, при котором умная оптимизация и шейдерные трюки заменяют грубую вычислительную силу.
Для индустрии, где гонка за реализмом часто упирается в аппаратные ограничения, пример Pearl Abyss показывает, что иногда лучшее решение – не в новых технологиях, а в мастерском применении старых.