Опись: чем умеем, где живёт, что не выбрано

Границы дока. Здесь — арсенал и карта зон: какими средствами джус физически рисуется, в каких зонах эффекты живут и что из этого сегодня не задействовано. Опись, а не дизайн: как выглядит событие — VFX Language, как реагируют время и камера — Time & Camera, чем красим — VFX Color, какая текстура играет роль — Asset Palette.

Смысл дока — отвечать на вопрос «а чем это вообще можно сделать» до того, как начнётся спор о вкусе. Половина плохих решений в джусе рождается из выбора инструмента, который не умеет того, что от него хотят.


Плотность арены — константа

В гильдии всегда четыре «Сосуда» (Coop - Index). Кооператив меняет только распределение управления между игроками (от одного до четырёх), а не число бойцов. Значит бюджет джуса считается по постоянной плотности, и «а что если юнитов станет втрое больше» — не наш вопрос.


Восемь инструментов

У каждого есть то, чего он не умеет в принципе. Это не настройка и не вопрос старания.

ИнструментУмеетНе умеетСтатус
Particle System (URP Particles Unlit)рой, разлёт, шлейф, искры, дым — «много мелкого», разброс по палитредержать форму: частица не рисует дугу и не имеет силуэта6 префабов в бою
Шейдер по спрайту (Shader Graph / HLSL)менять САМ юнит: вспышка, растворение, голограмма, контур, дисторсия, десатурациябыть отдельным объектом в миреSH_Sprite_HitFlash, SH_Sprite_Shatter, SH_Sprite_Desaturate
Спрайтовая анимациянарисованную форму — дугу, взрыв, всё характерное, что нарисовал художникбыть параметрической: цвет и размер только грубоне используется
Shapes (векторная геометрия, компонентный и immediate режим)идеальные дуги, кольца, линии заданной толщины — параметрически, любым цветом, без текстурытекстурную детализацию, «грязь»вспышка арены, дев-кольца статусов, карта акта
LitMotion (твины)движение, масштаб, «глаголы» — выпад, отскок, сплющивание, наливающийся зарядсам по себе ничего не рисуетUnitView, точечно
TrailRenderer / LineRendererнепрерывный след за движущимся объектомформу, не привязанную к движениюслед снаряда
Меш из спрайта (ShatterMesh)резать конкретный спрайт юнита на осколки — то, что префабом не подменитьбыть переиспользуемым префабомDeathShatter
Fullscreen шейдерэкранные эффекты: дисторсия, вигнетка, цветокор, переходчто-либо локальноецифровая подмена арены, переход карты

Установлено и не используется: VFX Graph (ни одного .vfx), Light2D (ноль экземпляров в сценах — при 152 масках света Kenney на диске).


Пять видов реакции на момент

Одно событие может отозваться пятью способами. Первые два локальны, следующие два глобальны, пятый живёт в чужом контуре.

ВидЧем делаетсяГде решается
Визуал — что видно в точке и на телепартиклы, шейдер, Shapes, спрайтvfx-language
Трансформ — что делает тело: выпад, отброс, сплющивание, оседаниеLitMotion по трансформу видаvfx-language, тумблеры в feel-конфиге
Время — hitstop, замедление, пауза, freeze frameTimeScaleService (владелец — combat-sim), джус потребляетtime-and-camera
Камера — тряска, фокус, зум, кадр, экранный эффектCameraModeController / IScreenShaketime-and-camera
ЗвукIAudioService / FMODконтур audio, подписан на событие независимо

Девять зон: где эффект живёт

Зона определяет и инструмент, и сортировку, и владельца. Порядок — от тела наружу.

A · Тело юнита — через шов IUnitBodyVisual, шейдер по спрайту. Вспышка удара по школе · вспышка блока фларом · подсветка лечения · тинт-приглушение · контур каста · наливающийся заряд · голограмма смерти · осколки · силуэт за препятствием · пульс на низком HP. Есть почти всё. Нет: свечения оружия отдельно от тела — шов адресует тело целиком.

B · Событие в точке — партиклы + Shapes + спрайт, слой OverheadFX. Ядро · форма · осколки · остаток (четыре роли). Есть ядро и осколки, одной текстурой на три разных события. Роли «форма» нет ни у одного.

C · Оружие и движение — Shapes / Trail / спрайт. Слеш-дуга · трейл клинка · свечение клинка на замахе · след снаряда · шлейф рывка · тень под прыжком. Есть только след снаряда. Линия дуги считается офлайн — RigSweep отдаёт путь с разбивкой windup / strike / recovery.

D · Земля — партиклы + спрайт, слой GroundFX. Пыль шага · пыль удара · кляксы-отметины · выжженный след · тень юнита · телеграф зоны AoE. Есть две пыли. 36 клякс лежат неразобранными.

E · Статусы — постоянные, не событийные — шейдер + партиклы. Яд · горение · заморозка · стан · щит · усиление · метка · невидимость. Нет ничего, кроме CombatStatusOverlay — а это dev-инструмент, кольца Shapes по консольной команде. В настоящем бою статусы невидимы. У постоянного эффекта другая экономика внимания: он висит секундами, значит обязан быть тихим и однозначным одновременно.

F · Арена — Shapes + fullscreen шейдер. Вспышка фона · цифровая подмена арены · затемнение на паузе · зона деплоя. Есть вспышка фона, подмена и деплой.

G · Экран — fullscreen шейдер. Дисторсия от тяжёлого удара · вигнетка на добивании · хроматическая аберрация · freeze frame. Нет ничего.

H · ВремяTimeScaleService. Hitstop пары · замедление с предчувствием · таймлайн финишера · пауза · скорость боя. Есть всё, кроме freeze frame (весь кадр на пару кадров — не то же, что локальный hitstop).

I · КамераCameraModeController. Тряска · цель слежения · четыре режима · наезд и всплытие на карте. Нет: наезда на боевое событие, сдвига фокуса на конкретный юнит, наклона кадра, любого экранного эффекта по событию.

J · СветLight2D. Свет от вспышки · свет огня · огоньки павших · свет каста · мигание на стане. Не задействован вообще. Самый большой невыбранный рычаг: свет превращает эффект из наклейки поверх спрайта в событие, происходящее в мире.


Реестр невыбранного

Собран отдельно, потому что «не сделано» и «сознательно отвергнуто» — разные вещи, и путать их дорого. Здесь первое: средства и зоны, до которых просто не дошли.

ЧтоЗонаЧем ценно
Light2DJотложен сознательно (31.07.2026): планируем без света, прикрутим позже. Потолок качества высокий, 152 маски уже на диске
Спрайтовая анимация эффектовB, Cне наш путь (31.07.2026): форма делается гладкой — Shapes и шейдер. Спрайт остаётся на характер, который светом не передать
Роль «форма» (дуга, конус, кольцо)Bнесёт смысл события; сейчас его не несёт ничто
Боевой показ статусовEэто информация, а не украшение
Свечение оружияA, Cключевой приём эталона (см. Style - SAO)
Freeze frameG, Hдёшево до неприличия, читается как удар грома
Экранная дисторсия, вигнеткаGвес тяжёлого момента
Наезд / сужение вниманияIакцент без потери обзора — открытый вопрос
Кляксы и отметины на землеDарена рассказывает, что тут было
VFX Graphустановлен; нужен только при объёме, которого у нас нет

Связано: Gamefeel - Index, Reference - Asset Inventory (что вообще есть в проекте).