The Space Colonization Solver is useful to create spreading effects such as mold or fungi.

A space colonization algorithm is an iterative algorithms that grows a network of branching lines from one or more starting points. Usually each of the starting points looks for “food” in its vicinity, and it creates a new connection that allows it to reach this “food”. This behavior allows for natural looking branching structures that emulate for example the spread of mold, fungi, but also veins on a leaf for example. In this implementation, the food is made up by points belonging to a “food” group, while the points looking for food are called “bachelors”.
The solver outputs animated polylines. For additional control over the animation, you can add a Space Colonization Post Process SOP after the solver.
The solver takes a set of unconnected points as an input, and outputs a set of animated polylines.
The points can either be fed manually, or you can feed in a geometry you’d like to use to scatter points into/onto.
You can also add new points dynamically during the simulation using the second input. Optionally, it can also take in a collider in the third input.


This interface exposes all of the main parameters you need to create a basic (and even not so basic) simulation, however you can access more customization options by double clicking on the node to get access to the inner network:

By default, the first input will be treated as a surface where to scatter the bachelor and food points onto. If you want to use your own food and bachelor points from the first input, you can toggle the “Use Input Points” parameter. If a collider is plugged into the third input, any points outside of it will be deleted when you toggle the “Delete Outside Points” parameter.
The number and density of the bachelor and food points will directly impact the look of the simulation. For example, using many bachelor points will create many separate groups of branches, and using a dense point cloud of food points will create a dense set of branches.
The two most important parameters in this section are the Search Radius and the Max Targets.