Решили: шесть боевых VFX-материалов с суффиксом _Add переведены на настоящий URP-аддитив —
_Blend = 2, _SrcBlend = SrcAlpha, _DstBlend = One. Было _Blend = 1 (Premultiply) при
_DstBlend = OneMinusSrcAlpha и кейворде _BLENDMODE_ADD: подпись, enum и рендер-стейт говорили
три разные вещи. Заодно _healFlashPeak поднят с 0.5 до 1.0.
Почему: premultiplied alpha не складывается с фоном, поэтому эффекты физически не могли
светиться — искры и вспышки читались блёклыми пятнами поверх спрайта, и это была главная причина
жалобы «VFX — тихий ужас». Отвергли вариант «поднять яркость цвета»: цвет уже живёт выше порога
bloom (главный ×2.0, пересвет ×2.6), и добавлять ещё значило бы лечить симптом, оставив режим
блендинга врущим. One/One вместо SrcAlpha/One тоже отвергли — он игнорирует альфу и тащит в
кадр полупрозрачную кайму текстуры целиком, а у Kenney-PNG она широкая.
Вспышка лечения не пробивала bloom по той же логике: цвет у неё уже HDR-флар
(--gm-color-combat-heal → --gm-flare-mint), но peak = 0.5 доводил лерп только до половины, и
за порог свечения он не выходил. Сила вспышки блока при этом стоит на 1.0 — «подсветить как при
блоке» буквально означало сравнять peak.
Грабли: после первой правки диск и память разошлись — в рантайме материал показывал
Src = SrcAlpha (URP-валидатор применил своё при смене _Blend), а в .mat на диске лежало
записанное мной One. Проверка по ответу инструмента показала бы «всё хорошо». Сверять только
git diff, как и требует правило про ассеты при живом редакторе.
Владелец правды: Assets/_Project/Art/Materials/Vfx/*.mat,
Assets/_Project/ScriptableObjects/Configs/CombatFeelConfig.asset,
спека — docs/wiki/gdd/70-gamefeel/vfx-language.md.