Декали: грязь, потёртости и 90% атмосферы уровня

28 апр 2026 · 6 мин · 💬 0

Есть тест на «сделан ли уровень с душой»: посмотрите на углы и стыки. Если там идеально чисто — декатектура нет. Декали — это недооценённый инструмент, который превращает архитектурный макет в заброшенный завод за один вечер. Объясняю, как они работают и почему без них не вывозит ни один окруженец.

Что такое декаль на самом деле

Декаль — полупрозрачная текстура, спроецированная на геометрию поверх основного материала. Не отдельный объект со своими полигонами (хотя технически часто так и рендерится), а «наклейка»: подтёк ржавчины, трещина в бетоне, стёртая разметка, пятна масла, надпись «Осторожно, скользко», следы шин.

В Godot это DecalNode (в Godot 4 — узел Decal), в Unreal — Decal Actor, в Blender для статичных сцен — проекция UV или модификатор DataTransfer. Суть везде одна: берём маску, накладываем на поверхность, настраиваем blending.

Что декали решают, а что нет

Решают: - Variation без новых текстур. Одна бетонная тайл-текстура + 15 декалей (трещины, пятна, мох, пыль в углах) дают ощущение уникальности. Без декалей тайлинг выдаёт себя через три метра коридора. - Повествование. Следы выстрелов на стене, выгоревший участок, лужа с отражением — это рассказ игроку без единого слова. - Износ геометрии. Потёртости по рёбрам ступеней, сколы на углах — то, что hand-painted делает кистью, реалистичный стиль делает декалью.

Не решают: - Форму. Декаль не создаёт рельеф, если не использует normal-канал. Плоская трещина выглядит как нарисованная. - Дальние планы. На расстоянии 50 метров декали сливаются — там работайте общей палитрой.

Технические грабли

  1. Z-fighting. Декаль лежит вплотную к поверхности — если расстояние (extent/offset) выставлено криво, начинается мерцание. Отступ в пару сантиметров от геометрии, не в миллиметр.
  2. Порядок слоёв. Грязь рисуется после пыли, следы шин — после грязи. Decal в движке имеет layer/sort order; в Blender — очередь модификаторов. Хаотичная stacking-логика убивает читаемость.
  3. Fade по углу. Декаль на вертикальную стену, спроецированный сверху, ложится клином. Включите fade по нормали (в Godot — flag_*, distance_fade), иначе углы получат рваные границы.
  4. Не экономьте на масках. Чёрно-белая JPEG-маска с артефактами сжатия на белом бетоне видна мгновенно. PNG с альфой или packed-каналы.

Рабочий процесс, который прижился у меня

  • Собираю библиотеку из 30-50 декалей: 10 трещин, 10 пятен/подтёков, 5 пыли в углах, 5 следов, 5 разметки/надписей. Рисую в Substance или беру готовые наборы, довожу альфу вручную.
  • Базовая материалка — чисто тайл, без «сюжета». Весь сюжет — декалями.
  • Сначала крупные формы (подтёк на всю стену), потом средние (пятна), в конце мелочь (пыль в углах, разводы). Как грим: тон, румяна, детали.
  • Смотрю на скриншот в масштабе 100% и издалека. Если издалека «грязно», а вблизи «нарисовано» — перебор с контрастом масок.

Хороший уровень — это когда игрок чувствует место, но не замечает технологии. Декали — самый дешёвый способ этой иллюзии: никаких новых UV, никаких дополнительных материалов сцены, только проекция и альфа-блендинг. Посчитайте свои: если в последнем уровне меньше десяти декалей, вы, скорее всего, строите витрину, а не мир.

Комментарии (0)

Комментариев пока нет — будь первым, кому не лень.

Форма для гостей комментариев пока не принимается — писать можно автору (expeot@outlook.com) или через владельца блога. Все записи выше настоящие, никто их не модерирует молча.