Unity Lab / Emberworks
VFX · Full Pipeline

Emberworks

A firework maker's riverside workshop at night. You do not watch this display, you MAKE it: 1/2/3 load green, red and amber stars, SPACE rams the lift charge (and over-ramming is a real fault, so the skill is knowing when to stop), SHIFT sets the break charge, F lights the fuse. The burst is not the show - it is the readout. A shell packed loose breaks lopsided, too much break shreds it to a dud, and a pack near the mark gives you a clean symmetric peony. The bench, the rocket tubes and the bored copper mortar are code-modeled Blender exports; the stars, sparks and smoke are engine particle systems shaded through URP.

AI concept painting
1 · AI concept
Concept prompt

A firework maker's riverside workshop at night: paper shell cases and rocket tubes stacked on a workbench, a copper mortar tube angled at the sky, sparks and glowing embers drifting from a small charcoal brazier, coloured star pellets in shallow trays, a lit fuse trailing smoke, dark timber walls with tools on hooks, one test shell bursting green and gold over the black river beyond.

Blender studio render
2 · Blender render (code-modeled)
Tap once for sound - 1/2/3 load stars - SPACE rams - SHIFT sets the break charge - F fires - R resets Open fullscreen ↗
Made by AI, compiled by the real Unity 6 engine. This lab already had a fireworks piece, and finding that out three Blender units into the build is the lesson this cycle actually paid for: the existing one is a display you watch, so this one had to become a workshop you operate, same subject, different verb. Two engine findings came out of it. First, a particle system with no material does not vanish, it turns magenta - so a missing shader and a dead emitter are different bugs and the probe here answers them with two different instruments, a live-particle count for emission and a null-material control for shading. Second, and the more expensive one: the burst was firing correctly and entirely off-screen, because the shell climbed out of a camera that was looking level. A scored event the player cannot perceive is the same defect as an unreachable control. The fix is in this page's frame - the shell is flown at an angle that keeps the burst about thirteen degrees above the eyeline while the bench stays about twenty-one below it, and the camera widens rather than only tilting, so your workmanship and its verdict read in one frame.