Procedural Slime Mold Animation
In this animated sequence, the audio of a heart beating driveS a procedural animation layered upon a scanned asset.
Houdini Version 18.5 Build 351
The deformer is simple and works with just about any mesh plugged into it. The first step is to scatter points on the mesh. These points are then assigned a random scale value and relaxed to get rid of intersections based on the random scale values. A sprite can be used to visualize and tweak this step. Finally, a peak node controls how close the points are to the surface of the mesh.
Now that there are points with varying scale values an attribute VOP does the primary deformation. This deformation is controlled by the user parameter “strength.”
The attribute VOP creates the bulbous forms on the mesh and makes sure they do not intersect. It also allows for the user to control the scale of these forms.
The next step is to refine the deformed mesh. First an attribute blur softens the effect. Next using another attribute VOP and VDB the resolution and finish of the geometry can be improved. This is followed by a subdivision to smooth the whole thing once more.
The trunk is a photogrammetric scan processed in Metashape. It is a small scan with only 84 images; however, these images are large and contain a great deal of data.
In Houdini, the scan is simply assigned a material, given normals and transformed to fit the scene.
The heartbeat audio drives the deformation of the mesh via the strength parameter. The waveform of this audio is processed to give the desired result. This process isolates the beating of the heart from the other noise.
This is the raw audio:
The first step is to create a low pass:
Next an envelope node both resamples the audio to match the frame rate and confined the waveform to a specified range:
Next a trigger node is used to isolate the beat of the audio and smooth out the curves:
By adding delays, smoothing the curves, and confining the peaks of the waveform to the desired range, the strength of the deformation can be controlled, and art directed. The differences between this waveform and the waveform in the previous step are extensive:
• Renderer - Mantra
• Render Time Per Frame – ( Max - 7 Minutes ) — ( Min - 1 Minute )
• Image Resolution – 720 x 1280
• Number of Lights - 1 (HDRI)
References and Attributions:
The Deep Look program from PBS was my primary reference for slime mold. While I took a great deal of artistic license, having real world reference made those artistic deviations more informed and intentional.
The audio is “HeartbeatEnhanced” by Herbert Boland. It was sourced from Freesound.org and is under the creative commons NonCommercial 3.0 Unported (CC BY-NC 3.0) liscence. Below is a link:
Entagma was instrumental in the creation of the deformer and Peter Quint was helpful for the creation of the Chop network.