This effect hinges on a single keyword: discard. In the fragment shader, if noise value n is below uProgress (a value animating 0 to 1), discard drops that pixel entirely — unlike fading alpha to 0, discard also skips depth, so anything behind it shows through immediately. Ramping uProgress from 0 to 1 makes the lowest-noise regions vanish first, so the whole surface doesn’t fade evenly — it reads as holes opening up and spreading.
A hard cutoff looks flat, so smoothstep(uProgress, uProgress + edgeWidth, n) carves out a thin band at the boundary and tints it a different color (an orange glow) to read as a "burning edge." The noise itself reuses the same hash-based 3D value noise as vertex-displacement and noise-sphere, just fed the surface position (vPos) instead of a vertex.
Driving uProgress with a sine wave turns dissolve-and-reform into an endless loop. This demo caps it at 0.45 so the shape never fully disappears, meaning a screenshot taken at any random moment — like the card preview — still shows something; in production this usually plays once, for a skill activation, an object spawning or despawning, or a hit effect.
When to use
Character/item spawn or despawn, skill effects, scene transitions. For a one-shot play, animate uProgress from 0 to 1 once.