Реализация трассировки лучей в Krafton Abyss of Dungeons

Почему трассировка лучей на мобильных устройствах так важна

Трассировка лучей открывает реалистичное освещение, отражения и тени, чтобы повысить уровень погружения игрока в темный фэнтезийный мир Abyss of Dungeons . Хотя визуально ошеломляющая графика имеет решающее значение в мобильных играх, достижение эффектов высокой точности, таких как визуальные эффекты трассировки лучей, было значительной проблемой. Исторически ограничения производительности мобильных игр ограничивали передовые методы рендеринга, вынуждая идти на компромиссы в визуальном качестве по сравнению с ПК и консольными играми.

Krafton Abyss of Dungeons был нацелен на преодоление этих ограничений. Цель состояла в том, чтобы интегрировать технологию трассировки лучей, обычно зарезервированную для высокопроизводительных платформ, в мобильную версию в Unreal Engine 5 (UE5). Эта попытка была направлена ​​на значительное улучшение погружения игрока за счет предоставления более реалистичной и визуально насыщенной графики на мобильных устройствах. Команде нужно было устранить узкие места производительности, адаптировать сложные конвейеры рендеринга, такие как Lumen UE5 , и обеспечить стабильность на различном мобильном оборудовании, что стало значительным шагом на пути к привнесению графики консольного качества в мобильные игры.

Визуальный скачок от растеризации к трассировке лучей

Обычная растеризация является стандартом для мобильного рендеринга из-за своей скорости. Она проецирует 3D-объекты на 2D-экран пиксель за пикселем. Этот метод эффективен, но упрощает взаимодействие света, что приводит к менее реалистичным теням и отражениям.

Трассировка лучей предлагает другой подход. Она имитирует фактический путь световых лучей и вычисляет их взаимодействие с объектами. Это создает очень точное и реалистичное освещение, тени и отражения. Однако этот реализм достигается ценой вычислительной интенсивности. Расчет пути каждого луча и взаимодействия требует значительной вычислительной мощности.

Сравнение растеризации и трассировки лучей

В следующей таблице обобщены основные различия между растеризацией и трассировкой лучей:

Особенность Растеризация Трассировка лучей
Скорость Быстрый Медленный
Реализм Ниже Выше
Использование ресурсов Низкий Высокий

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

Выбор и реализация трассировки лучей на Android: методический подход

Для реализации трассировки лучей на Android с помощью Vulkan рассматривались два основных метода: Ray Queries и Ray Pipelines. Ray Queries предлагал более простой подход, позволяя управлять лучами вручную в шейдерах, что было проще для интеграции в существующие системы.

Однако Ray Pipelines предоставил более масштабируемое решение, позволив Vulkan управлять обходом и пересечением лучей. Хотя Ray Queries изначально были немного быстрее в более простых сценах, Ray Pipelines продемонстрировали лучшую масштабируемость и производительность для более сложных приложений трассировки лучей, что сделало их превосходным выбором для долгосрочной разработки и сложных визуальных требований. Мы решили сбалансировать начальную простоту разработки с будущей масштабируемостью и общей производительностью, сосредоточившись на долгосрочной визуальной целостности игры.

Адаптация UE5 Lumen для мобильных устройств: грандиозная задача

Lumen от UE5, система глобального освещения и отражения в реальном времени, произвела революцию в освещении в игровых средах. Однако изначально она была разработана для высокопроизводительных ПК и консолей, а не для мобильных устройств. Сложность и требования к ресурсам Lumen представляли собой серьезную проблему для мобильной интеграции. Адаптация Lumen для Android потребовала значительных изменений в конвейере рендеринга UE5 и компиляторе шейдеров, а также оптимизации структур ускорения (AS) для эффективного управления данными сложной сцены. Работа команды была направлена ​​на преодоление разрыва, позволяя мобильным устройствам обрабатывать сложные расчеты освещения Lumen, не жертвуя производительностью или стабильностью. Эти усилия по адаптации также внесли вклад в официальную кодовую базу Unreal Engine, что принесло пользу более широкому сообществу разработчиков игр и расширило возможности мобильного рендеринга.

Трассировка лучей, тени и отражения: повышение визуального реализма

Реализация Ray Tracing Shadows включала трассировку световых лучей непосредственно от поверхностей к источникам света, что обеспечивало превосходную точность по сравнению с обычными картами теней. Процесс включал предварительный проход глубины, тени запроса лучей, шумоподавление и интеграцию в проход освещения. Мягкие тени были эффективно получены с использованием одного луча с дрожанием, за которым последовало шумоподавление. Для отражений команда реализовала многоэтапный процесс, включающий проход G-буфера, трассировку лучей, отражение и хранение данных попаданий, преобразование идентификатора материала, проход разрешения (построение отраженного изображения) и проход смешивания (интеграция отражений в основную сцену). Оптимизации, такие как обратное считывание ЦП, плиточные подходы, пакетирование экземпляров и асинхронные сборки AS, значительно улучшили производительность и сократили накладные расходы, решая ресурсоемкую природу этих процессов на мобильных устройствах.

Влияние на производительность и стратегии оптимизации

Samsung Galaxy S24 Xclipse 940, Верх (оптимизированный, синий) Низ (до оптимизации, желтый)

Влияние трассировки лучей на производительность, особенно с отражениями, сильно зависело от сцены. В сценах с большими отражающими поверхностями отражения могли занимать значительную часть времени кадра (30–40%). Оптимизации имели решающее значение для того, чтобы сделать трассировку лучей жизнеспособной. Команда использовала многочисленные методы для снижения накладных расходов и повышения эффективности: использование подхода к рендерингу на основе плиток для минимизации ненужной обработки, пакетирование экземпляров одного и того же материала и геометрии для сокращения вызовов отрисовки, построение структур ускорения только для видимых геометрий и использование асинхронных вычислений для построения AS. Эти стратегии радикально сокращают время обработки и снижают нагрузку на GPU, делая трассировку лучей в реальном времени возможной на мобильном оборудовании.

Дальнейшее чтение

Команда Samsung DevTech и Abyss of Dungeons от Krafton продемонстрировали, что с помощью стратегических адаптаций и оптимизаций можно перенести высококлассные методы рендеринга, такие как трассировка лучей, на мобильные платформы. Команда успешно адаптировала систему Lumen UE5, внедрила индивидуальные решения рендеринга и решила многочисленные технические препятствия для предоставления визуально улучшенного игрового опыта. Это начинание не только улучшило визуальную точность Abyss of Dungeons, но и предоставило бесценные идеи и методы для будущей разработки мобильных игр. Оно подчеркивает силу сотрудничества между разработчиками игр и поставщиками технологий для инноваций и повышения качества мобильного игрового опыта, приближая его к качеству, которое можно найти на ПК и консолях.