Topological Breach
A stylised 3D animated short film produced as a team project. I owned the full technical pipeline — designing a Houdini-to-Blender VFX workflow that let rigging, animation, and VFX production run in parallel, and delivering the hero character rig in phases to keep the team unblocked.
Replaced Blender's rigid body solver with a Houdini pipeline — simulate, cache to .abc, import. Eliminated crashes and decoupled VFX from the animation timeline.
Went from pure physics simulation → metadata-driven boundary boxes → density-weighted fracture lines with camera-aware fragment culling. Fully procedural on final pass.
Once the procedural system was in place, all feedback on wall-breaking could be adjusted by moving a boundary box — no waiting on animation to be finalised.
VFX Pipeline
Every previous project that touched Blender's rigid body solver ended the same way — unstable working files and render times that ballooned unpredictably. The solution here was to move all dynamics into Houdini, pre-bake simulations to .abc cache files, and import those into Blender. That switch alone cut simulation and render time by 90%, and, more critically, made the VFX process completely independent of the animation timeline.
The wall-breaking system iterated three times. Pure physics looked real but didn't fit the stylised direction. Switching to a metadata-driven approach — keyframing boundary boxes to control fragment timing and velocity — solved the artistic problem but caused thick-wall fragments to jam. The final system added hand-drawn fracture boundaries with code-generated high-density edges along the break lines, plus a dual-boundary-box camera mask to cull fragments outside the frame before they could interfere with the foreground geometry.
Character Rigging
Rigging was phased to avoid blocking the animation team — arm controls shipped first so two scenes could begin production immediately. Auto Rig Pro handled the full body rig (including automatic voxel weighting) in about an hour. Facial controls were rebuilt from scratch using Faceit, which handles complex lip and eye topology that ARP's automatic weights consistently fail on.
Secondary motion on the hair and belt runs through damped-track skeleton chains, with manually keyframed controller overrides added on top to suppress clipping during large root-bone displacements — a limitation of Blender's instantaneous constraint evaluation.
Geometry Nodes
The matrix scene was built entirely in Blender Geometry Nodes using the same point-data compilation approach from Houdini: assemble point metadata first, then instance geometry on top. This kept real-time previs smooth and made last-minute layout changes a matter of seconds rather than re-baking a simulation.