BEx3 - Appliqué: Per-Clip Art

Updated 2 weeks ago

Appliqué: Per-Clip Art

Sprites · extra · advanced. Give ONE animation its own art, even when it shares sprites with a dozen others. The escape hatch from the reused-frames problem. Ten minutes.

You'll be able to: replace a sprite for one clip only, so the idle can change without dragging every attack that reuses its frames along with it.

Before you start: Reused Frames explains the problem this solves; the animation console is where you'll do it.

The problem it solves

tk2d animations freely reuse sprites: one drawn frame can appear in many clips. A normal replacement (Sprites/<Collection>/<Material>/<sprite>.png) changes that sprite everywhere it appears — the console's Reused frames chip warns you exactly how wide that blast radius is ("×15 · 14 clips").

Appliqué (like the sewing technique: a patch applied on top) scopes a replacement to one named clip. The vanilla sprite — and every other clip using it — stays untouched.

The folder convention

Sprites/<CollectionName>/Clips/<ClipName>/<SpriteName>.png

That's the whole mechanism from a pack's point of view: a Clips/ tier between the collection and the file. Anchor and pivot tags (Anchors) work exactly as they do on shared replacements. One file patches the sprite at every occurrence within that clip.

Priority: a per-clip file beats a shared replacement for that clip; other clips keep the shared file (or vanilla, if there is none).

Two ways to author it

Single sprite — "Detach for This Clip" (console, This Sprite panel). One click copies the sprite's current art (shared replacement if one exists, else a fresh vanilla dump) into Sprites/<Collection>/Clips/<ClipName>/ and opens it. Edit, save, hot reload — only this clip changes.

Whole animation — "Compile for This Clip" (console, Whole Clip panel, the accent-tinted button). The full animation canvas round trip, but the compile lands in the per-clip tier instead of the shared one. Extract → edit the onion-skin canvas → Compile for This Clip.

Good to know

  • It's art-on-rails. Appliqué changes what a clip's frames look like, not their count or timing — the animation's motion is the game's.
  • Same-named collections all receive the rewrite, consistent with how the default sprite paths behave (Instance-Specific covers the disambiguation story).
  • Rotated vanilla frames (a minority, stored sideways in the atlas) are the one case still under in-game verification — if a per-clip replacement renders mirrored where a shared one doesn't, report it with the clip name; the log marks the first rotated target it meets.
  • Hot reload, pack toggling, and file deletion all behave exactly like shared replacements — the per-clip tier rides the same reload cycle.