Cassette Beasts — яркий пример того, как Godot Engine может без труда справляться со стилем 2.5D. Игра сочетает высококачественные 2D-спрайты с полностью трёхмерным миром, создавая современную эстетику пиксель-арта, напоминающую классических карманных монстров, но со свободой 3D-камеры. Интересен здесь не только визуальный результат, но и технический рабочий процесс, стоящий за ним, с использованием Aseprite для спрайтов и Blender для моделей окружения и кат-сцен.
Технический рабочий процесс: 2D-спрайты в 3D-движке 🎨
Секрет визуальной работы Cassette Beasts заключается в использовании узлов Sprite3D внутри Godot. Вместо создания полигональных моделей для персонажей команда отрендерила каждый угол анимации в Aseprite и импортировала их как плоские текстуры, которые всегда обращены к камере — техника, известная как билбординг. Для окружения они использовали Blender для моделирования простой 3D-геометрии, а затем текстурировали всё палитрами пиксель-арта. Ключевой совет для оптимизации этого процесса — поддерживать единое разрешение спрайтов и использовать систему мешей Godot для наложения динамических теней на эти 2D-плоскости, избегая визуального мерцания.
Эффект кассеты: Ретро-шейдеры для современного погружения 📼
Отличительная черта Cassette Beasts — эстетика ретро-кассеты. Вместо простого пост-обработочного фильтра этот эффект был достигнут с помощью пользовательских шейдеров в Godot. Его легко воспроизвести, используя ShaderMaterial, который манипулирует цветовым каналом, внося лёгкое RGB-смещение (хроматическую аберрацию) и добавляя горизонтальные строки развёртки с низкочастотным шумом. Для эффекта магнитной ленты можно использовать шейдер, который случайно, но плавно смещает пиксели по оси Y, имитируя нестабильность физической ленты. Это демонстрирует, что Godot подходит не только для простых игр, но и для проектов, требующих сложной и уникальной визуальной идентичности.
Как Godot Engine обеспечивает интеграцию динамического освещения и теней с 2D-спрайтами в Cassette Beasts для создания характерной глубины 2.5D пиксель-арта без потери производительности?
(P.S.: Разработчик игр — это человек, который тратит 1000 часов на создание игры, которую люди проходят за 2)