Студия Bounding Box Software разработала Prodeus, используя гибридную графическую архитектуру, которая ломает классическую дихотомию между ретро и современным. Движок, построенный на пользовательском конвейере рендеринга (Custom Scriptable Render Pipeline, SRP) в Unity, применяет динамический фильтр пикселизации к высокодетализированным 3D-моделям. Это позволяет геометрии и эффектам частиц сохранять точность современной игры, в то время как финальное изображение разбивается на видимые квадраты, имитируя разрешение шутеров 90-х.
Рабочий процесс между Maya, Unity и собственным редактором уровней 🛠️
Процесс производства опирается на три столпа. Во-первых, Maya используется для моделирования ассетов и анимаций, экспортируя сетки с высоким уровнем геометрической детализации. Эти модели напрямую импортируются в Unity, где Custom SRP управляет динамическим освещением, PBR-затенением и системами постобработки. Ключ к визуальному стилю лежит во встроенном в саму игру редакторе уровней — инструменте, который позволяет дизайнерам создавать сцены и применять фильтр пикселизации на уровне камеры и текстуры. Этот поток исключает необходимость ручного масштабирования ассетов, делегируя ретро-эстетику рендереру в реальном времени.
Иллюзия низкого разрешения без жертвования современными технологиями 🎮
Основной технической задачей было добиться того, чтобы пикселизация не нарушала визуальную согласованность современных эффектов, таких как зеркальные блики или карты нормалей. Решение, реализованное в Custom SRP, разделяет разрешение и логику освещения: расчеты света выполняются в высоком разрешении, в то время как выходной фреймбуфер разбивается на четверти с помощью мозаичного фильтра. Таким образом, Prodeus достигает ощущения игры 90-х, не отказываясь от плавности в 60 FPS и продвинутых систем частиц Unity.
В современном движке, таком как Unity, который отдает приоритет фотореалистичной производительности, как технически обосновывается использование Custom SRP для эмуляции ограничений цветовой палитры и разрешения 90-х без ущерба для читаемости геймплея в Prodeus?
(P.S.: шейдеры — как майонез: если расслаиваются, начинай всё сначала)