1. Procedural Modeling
  2. Scene Setup

Procedural Modeling

Start with a spherical Fibonacci distribution, this gives a very uniform point distribution. The custom offset variable setup allows animating point movement from pole to pole.

3D model of a candle holder

Randomized branching copied to starting points. The endpoints of each branch are then projected to noise driven geometry to get a snaping effect.

Points of each branch have a unique "@id2" attribute. First we compute a new point attribute "f@dist" that stores each point's distance from the root point. This lets us then define ramp parameters as a function of distance along each curve. These ramp parameters are then used to layer position noise inside a point VOP (view VEX code below).

Next, compute custom velocities based on the point position difference in between frames. The velocities will be used for motion blur in final render setup.

Adding noise functions on velocity vectors gives more randomness and distortion to motion blur. The width of the branches is a custom ramp function of distance along each branch.

Scene Setup

Camera movement was tracked using Cinema 4D from a video recorded on a smartphone to give animation more realism. The solved camera was then imported into Houdini.

Background materials are simple PBR textures and plasma material is an emissive material with emissive color and opacity driven by custom VEX ramps.

Light setup is a simple HDRI dome.

Everything is rendered using ACES tone mapping and multi-EXR composited with After Effects.