Procedurally generated tomato plants built with L-systems
This scene/shot was based off of footage from this video from Journey to the Microcosmos.
Initially I was approaching the physarum as a particle simulation. The methods explored by Entagma and Jensen above described this approach, which simulates the behavior of slime mold. I think they’re visually the best methods, and of course the most accurate. That method is implemented below. However, the problem was that the particle simulation didn’t translate into geometry very well, and my goal was to use the slime mold as a part of an environment, not VFX. This led me to pursue the second method of cheap growth using pathfinding.
Individual particles move each frame, sense the particles around them, and move toward the highest density “cell” of particles on a grid. The visual effect of this is more compelling than the simple growth, but I wasn’t able to translate it to 3D geometry very well or achieve the same effect with more complex geometry.
The pathfinding method I developed instead takes the intitial geometry, subdivides it into a voronoi cell pattern, and pathfinds from one or more points to outer goal points. Tracing these lines creates the illusion of growth.
This method is much more dynamic, and can be used with whatever input 3D surfaces. Creating the geometry of the lines is simple enough given that the traced lines are curves, not particles, and can be swept along.
Part of the physarum effect that I was studying had internal particles within the lines of the slime mold. Once again, Entagma had a guide on vector field-based particle flow. This method samples the geometry as a volume, and creates a vector field based on the tangent of the path at each point in the field. The particles then use this vector while going through the tubes.
The shader for the physarum lines when seen up close was developed inside houdini’s shader network.