KasKade Engine

Модульный 3D-движок на Rust и Direct3D 12. RTX Path Tracing с поддержкой динамических объектов, DLSS RR и FSR RR.

Angry Neighbor в KasKade Engine. RTX PT + DLSS RR.
Ядро
Rust
Объекты, компоненты и выполнение игры.
Рендеринг
Direct3D 12
Растеризация и RTX Path Tracing.
Сценарии
C# и Zito
Игровые компоненты и интерфейс.
Платформа
Windows
Редактор и отдельное приложение.

О движке

KasKade - 3D-движок на Rust для Windows. В проект входят редактор сцен, среда выполнения игры и средства сборки.

Сцены и объекты
Сцена состоит из объектов и компонентов. Компоненты задают отображение модели, физическое тело, звук и поведение объекта.
Импорт ресурсов
Поддерживаются модели glTF/GLB и FBX, текстуры PNG, материалы и скелетные модели. Импортированные данные сохраняются в дисковом кэше.
Сборка игры
Средства сборки создают папку с исполняемым файлом и ресурсами проекта. Готовое приложение запускается отдельно от редактора.

Графика

Основной рендерер использует Direct3D 12. Для растеризации также есть реализации на Direct3D 11 и Vulkan.

Освещение и тени
Растеризатор поддерживает глобальное освещение RTXGI DDGI, каскадные тени и контактные тени.
Обработка изображения
Доступны HDR, bloom, временное сглаживание TAA и тональная коррекция. Настройки зависят от выбранного режима рендеринга.

RealTime Path Tracing

В Direct3D 12 встроен NVIDIA RTX Path Tracing. Режим обрабатывает освещение, отражения и тени в динамической сцене.

Динамические объекты
Поддерживаются перемещение объектов и скелетная анимация. Изменения сцены передаются в рендерер во время работы.
Восстановление изображения
Доступны DLSS Ray Reconstruction и FSR Ray Regeneration. Выбор режима зависит от видеокарты и установленных компонентов.
Окружение
Есть объёмный туман, локальные области тумана и процедурное небо с настройкой времени суток.
Интерьер: свет и переотражения на кирпичных поверхностях. RTX PT + DLSS RR.
Вечерняя сцена: тёплый свет и окружение. RTX PT + DLSS RR.
Экстерьер: освещение дома и растительности. RTX PT + DLSS RR.
Дневной свет: фасад, небо и кроны деревьев. RTX PT + DLSS RR.

ZitoLang

Zito - встроенный язык сценариев с компилятором и виртуальной машиной. Скрипты подключаются к объектам как компоненты.

Игровая логика
API предоставляет доступ к объектам, вводу, физике, звуку, навигации и интерфейсу. В демонстрационном проекте Angry Neighbor игровая логика написана на Zito.
Меню и настройки
Система интерфейса рисует текст, изображения и элементы управления. В демопроекте на ней сделаны главное меню, пауза и настройки графики, звука и управления. Настройки сохраняются между запусками.

Редактор и инструменты

Редактор содержит окно сцены, иерархию объектов и инспектор компонентов.

Работа с проектом
Объекты размещаются в сцене, их свойства редактируются в инспекторе. Модели, сцены и скрипты хранятся в папке проекта.
Проверка производительности
В среде выполнения есть отладочная панель и запись отчёта по времени кадра. Отчёт сохраняет настройки и положение камеры для повторной проверки сцены.
KasKade Studio Viewport
+
1. Direct3D 12 Вьюпорт Рендеринг сцены в реальном времени с поддержкой RTXGI DDGI, каскадных теней CSM и отображением гизмо перемещения (W/E/R).
+
2. Иерархия сцены Древовидная структура игровых сущностей .kscene с поддержкой drag-and-drop группировки и поиска по тегам.
+
3. Инспектор параметров Редактирование координат Transform, мешей, материалов PBR, физических тел Rigidbody и скриптовых полей.
+
4. Консоль & Профайлер Вывод логов ядра, трассировка исключений C#/.zito и графики задержек потоков кадра (CPU/GPU time).
Редактор KasKade Studio.

C# и .NET 10

Движок запускает C#-компоненты через встроенный .NET 10. Скрипты компилируются средствами Roslyn.

Компоненты
Классы Behaviour и MonoBehaviour предоставляют методы жизненного цикла и доступ к объектам сцены. Поддерживаются сериализуемые поля.
Редактирование и отладка
Редактор формирует проект для IDE и открывает ошибки компиляции на нужной строке. Поддерживается перезагрузка сборки с переносом поддерживаемого состояния компонентов. Отладчик можно подключить к процессу игры.

Физика, навигация и звук

Эти системы доступны игровым компонентам и сценариям.

Физика Box3D
Поддерживаются динамические и кинематические тела, столкновения и триггеры.
Перемещение персонажей
Есть контроллер игрока с прыжками, приседанием, лестницами и движущимися поверхностями. Для навигации персонажей предусмотрены построение navmesh и поиск пути.
Звук
Интеграция Steam Audio используется для пространственного звука и учёта препятствий между источником и слушателем.

Платформа и требования

Требования зависят от режима рендеринга и содержимого проекта.

Запуск
Основная платформа - Windows 10/11. Для Path Tracing нужна видеокарта с поддержкой DXR. DLSS RR требует NVIDIA RTX; текущая интеграция FSR RR рассчитана на AMD RDNA 4 и Windows 11.
Сборка исходников
Используются Rust 1.85 или новее, Visual Studio 2022 и Windows SDK. Для C#-компонентов используется .NET 10.