Website powered by

Watcher

Niagara system overview. Main Emitters and scratch pad modules

Niagara system overview. Main Emitters and scratch pad modules

Watcher

Personal Project: WATCHER — VFX Overview
_______________________________________________
For this piece, my main goal was to build a fully programmable Niagara system where I could art-direct the fracturing behavior instead of relying on physics or cached simulation. To achieve that, I developed custom Scratch Pad modules to control how fractured pieces are attracted toward floating spheres placed around the emitter, acting like magnetic forces and eventually pulling the fragments back to their original positions.
_______________________________________________

I procedurally modeled the monolith and the rest of the environment in Houdini, sharpening the edges to achieve a more stylized, painterly look. After that, I fractured and cached the model and its fractured pieces centroids using a Niagara point cloud workflow. I then imported both the fractured mesh and its corresponding point cloud into Unreal Engine 5, which gives me full per-particle control while remaining efficient from a performance standpoint.
_______________________________________________

Inside Niagara, the system is built around two main emitters: one controlling the fractured monolith pieces, and another driving the orbiting spheres that act as attractors within a defined influence range. Because I wanted the effect to stay fully dynamic and programmable, I implemented a custom delayed return state that rematerializes the fragments after dispersion.
_______________________________________________

I intentionally avoided using traditional velocity forces. All motion is driven by a custom Scratch Pad module that emulates curl-noise-like behavior using procedural math and positional calculations. This allows the particles to move organically while giving me precise control over timing and overall motion design.
_______________________________________________

For the final phase, I wanted to introduce some unpredictability, so I wrote a custom HLSL shader simulating a mechanical eye that stutters and scans the environment before firing. I then combined the Unreal Engine workflow with Procreate Dreams to hand-paint animated 2D VFX elements — laser energy, smoke, sparkles, debris, and a bit of controlled chaos, which I always like to add to my work. :D