Нодовый редактор
Двойной клик по файлу .kmat, .kshader или .kfx в панели Project открывает нодовый редактор. Редактор сохраняет граф автоматически и сразу перекомпилирует шейдер.
| Файл | Что это | Выходная нода |
|---|---|---|
.kmat | PBR-материал | Output: Base color, Roughness, Metallic, Emission, Alpha, Occlusion, Normal, Height |
.kshader | Шейдер объекта (неосвещаемый цвет, свечение, смещение вершин) | Shader output |
.kfx | Эффект камеры на весь экран | Effect output |
Основы
- Правый клик по холсту или Shift+A - меню добавления нод. Слева категории, справа ноды с описанием; стрелки и Enter работают.
- Перетащите выход ноды в пустое место - откроется меню, новая нода сразу соединится.
- Любой выход можно подключить к любому входу: число раскладывается на три канала.
- Колесо - масштаб, СКМ или Space+перетаскивание - панорама, F - показать всё.
- Ctrl+C / V / D - копировать, вставить, дублировать. Ctrl+Z / Y - отмена и повтор. Del - удалить.
- Комментарий (
Comment) - рамка с заметкой; ноды внутри двигаются вместе с ней. - Справа - превью материала на шаре, кубе или вашей модели. «Preview only the selected node» показывает результат выбранной ноды.
Превью внутри нод
Шумы и узоры показывают маленькое превью прямо в теле ноды: видно, что именно вы настраиваете. Правый клик по ноде → Show preview in node включает превью у любой ноды. Превью обновляется через четверть секунды после правки, чтобы ползунки не тормозили.
Категории
| Категория | Что внутри |
|---|---|
| Ввод | константы, текстуры, время, трипланарная текстура |
| Геометрия | позиция, нормаль, высота, UV, маски по направлению, стороны (верх / бок / низ), смещение вершин |
| Свет | угол к свету, блики, контровой свет, тени, свет неба, свечение и пульсирующее свечение |
| Нормали | карты нормалей, бамп из высоты, высота в нормаль, смешивание и сила нормалей |
| Шумы | фрактальный, Перлина, ячейки Вороного, трещины, облака, грязь, царапины |
| Узоры | шашки, кирпичи, соты, доски, плетение, сетка, градиенты, фигуры |
| Цвет | Color ramp, режимы наложения, HSV, цветокоррекция, кривые |
| Математика, Векторы | арифметика, кривые, повороты, скалярное и векторное произведение |
Полный список - в справочнике нод.
Готовые материалы
В каждый новый проект кладётся папка assets/materials/library/ с 326 процедурными материалами: камень, земля, металл, дерево, органика, ткани, строительные, светящиеся, прозрачные и простые. Это обычные графы - откройте любой и меняйте. Файлы создаёт cargo run -p kvas_engine --example gen_material_library, а картинку ниже - cargo run --release -p kvas_render --example material_sheet.

Рецепты
Карта нормалей из файла
- В правой панели в слот normal выберите PNG с картой нормалей.
- Добавьте ноду Texture со слотом
1и подключите её в Normal map (вход Map). - Выход Normal map подключите в Output → Normal. Ползунок strength управляет глубиной.
Нормали из карты высот
- Из текстуры высоты: Height to normal (слот текстуры, сила) → Normal map → Output → Normal.
- Прямо из любой ноды-высоты (шум, узор): подключите её в Output → Height или в Bump from height - материал станет рельефным без текстур.
- Детали поверх базовой нормали: Normal blend.
Ржавчина и износ на краях
- Fractal noise → Color ramp (тёмный → оранжевый → светлый).
- Fresnel или Direction mask как маска, Blend colours (режим multiply) смешивает цвет и маску.
- Результат в Base color, а тот же шум через Map range в Roughness.
Снег сверху, камень по бокам
Surface sides отдаёт красный = верх, зелёный = бок, синий = низ. Нода Red вытаскивает верх, Mix смешивает текстуры камня и снега по этой маске. Добавьте шум в Height blend, чтобы граница была рваной.
Светящиеся края
Rim light (цвет, степень, яркость) подключается в Emission. Для пульсации - Pulsing glow. Свечение попадёт в Bloom постобработки, если он включён в настройках сцены.
Ветер и волны (вершины)
В графе .kshader подключите Wind sway или Wave offset в Shader output → Vertex offset. Ноды с выборкой текстур и производными (Texture, Bump, Shadow...) в вершинной стадии недоступны - редактор подскажет.
Color ramp
Четыре цветовые точки с позициями 0..1. Над нодой рисуется градиент и маркеры точек. Подключите значение 0..1 (шум, Fresnel, высоту) на вход Position, чтобы раскрасить его по шкале.
Режимы наложения
Нода Blend colours принимает режим числом: 0 mix, 1 multiply, 2 screen, 3 overlay, 4 add, 5 subtract, 6 difference, 7 darken, 8 lighten, 9 soft light, 10 dodge, 11 burn, 12 hard light. Подсказка к параметру показывается при наведении на его название.
Экспорт в WGSL
Кнопка Export as WGSL shader записывает сгенерированный шейдер в assets/shaders/, чтобы дальше править его кодом. Из такого файла можно вернуться к графу (Open node graph).