Grow operator

The Grow operator invokes various algorithms to grow intricate patterns of particles.


Growth Rollout

Growth Algorithm

  • Diffusion-Limited Aggregation: the DLA algorithm grows particles outwards from particles that are surrounded by open space.

  • Space Colonization: the space colonization algorithm grows particles from seed particles that are in close proximity to expansion particles.


DLA Rollout

Growth

  • Radius: controls the size of particles within the DLA algorithm. Increasing this value will increase the overall size of the growth.

As particles are spawned, they are connected to each others’ implicit surfaces. The minimum distance between two spawned particles is therefore (radius x 2).

  • Enable spacing: controls whether to use a custom value for the minimum size of empty space required for that region to spawn particles. If this is disabled, the radius value will be used instead.

  • Spacing value: the minimum size value of an empty region before it will be able to spawn particles. Increasing this value will result in growths stretching outward, rather than remaining in tighter clumps.

Each time the growth algorithm progresses, it chooses a random region adjacent to existing particles and checks that region for overlapping particles. If a particle exists inside the region, spawning inside the region is disabled. The smaller the spacing value, the easier it is for the growth algorithm to find empty regions and therefore progress forward. The larger the region, the more the growth algorithm must stretch out into empty space in order to find an area free of particles.

  • Bias: controls whether the search algorithm will tend to look for valid regions near the center of existing particles, or near the boundary of existing particles. Values less than 1.0 bias towards the center, values greater than 1.0 bias towards the boundary.

  • Inherited vel %: the percentage of velocity child particles will inherit from their parent.

  • Max tries: the maximum number of attempts the algorithm will make to find a valid region of space to spawn a particle, at each growth iteration.

  • Iterations: the number of growth iterations to perform, at each time step of the simulation.

  • Align rotation: aligns the rotation of particles to the vector between themselves and their parent.

  • Affect position/velocity: chooses which particle properties the growth algorithm will affect.

Clusters
  • Enable clustering: controls whether the DLA algorithm will iterate over clusters of particles individually, or over all event particles simultaneously.

  • Channel: the custom particle data channel from which cluster data will be retrieved.

By default, the growth algorithm will process all event particles together. By enabling clustering, you can separate particles into cluster-specific groups, which causes the growth algorithm to process those groups separately. This allows you to have multiple, independent growths forming within the same event.

Seed position

  • Growth bounds/random particle: controls whether starting candidate positions for new growth particles will be located around the bounds of overall growth, or at a random particle within the growth.

  • Spread: the amount of random spread applied to the seed positions.

  • Simulation groups: controls which particle simulation groups the random particle seed position will be derived from.

  • Show seed points: displays the resulting seed points in the viewport.

Uniqueness

  • Seed: the seed value for all varied parameters.

Space Colonization Rollout

Unlike DLA, the space colonization algorithm requires two types of particles in order to run: seed particles and expansion particles. Seed particles are particles which will give birth to new particles during each iteration of the growth cycle. Expansion particles are particles that are in close proximity to seed particles, and that tell seed particles which direction to grow in. A typical setup using this algorithm involves a birth event that generates the initial seed particles, and a birth event which generates the volume of expansion particles the seed particles should grow towards.

Space Colonization

  • Seed radius: controls the size of seed particles.

  • Expansion distance: controls the maximum distance allowed between seed particles and expansion particles. Expansion particles further than this value from any seed particles will not affect growth in the current iteration.

  • Kill distance: controls the maximum distance between expansion particles and seed particles that will cause expansion particles to be deleted after seed particles grow outwards during a growth iteration.

  • Variation %: the per-particle percentage of variation to apply.
  • Align rotation: aligns the rotation of particles to the vector between themselves and their parent.

  • Grow on whole frames only: the growth algorith will only run on whole frames, not sub frames.

Expansion particles

  • Enable filtering: when enabled, the only particles that will be treated as expansion particles, are those whose custom float data channel value is not equal to 0.

  • Channel: the custom float data channel to use for filtering.

Targets

  • Set target to seed particle: each new particle will have its target set to the seed particle it was spawned from.

  • Channel: the custom float data channel to assign the target value to.

Scale

  • Multiplier: the multiplier applied to the scale value new particles inherit from their seed parents.

  • Variation %: the per-particle percentage of variation to apply.

Uniqueness

  • Seed: the seed value for all varied parameters.

Forces Rollout

Forces will affect the direction of growths.

Forces

  • Force object list: the list of force objects used to direct the growths.

  • Influence %: the amount of influence forces will have on growths.

  • Variation %: the per-particle percentage of variation to apply.

Built-in Force

Using the built-in force allows you to apply simple forces to growth particles without having to create force objects in the scene.

  • X/Y/Z: the direction vector of the built-in force.

  • Strength: the strength of the built-in force.

  • Variation %: the per-particle percentage of variation to apply.

Built-in Noise

  • Strength: the strength of the noise.

  • Frequency: the frequency of the noise. Increasing this value will evolve the noise pattern over time.

  • Scale: the scale of the noise.

  • Roughness: the roughness of the noise.

  • Iterations: the number of iterations to use to calculate the noise.

  • Phase: the overall evolution offset of the noise pattern.

Objects

  • Object list: the list of scene objects which will act as growth attractors.

  • Attraction: the amount of attraction force the scene objects will apply to particles.

  • Above/Below: controls whether attraction forces will be applied to particles above or below the object’s surface.

Attraction influence

The attraction influence extends outwards from nearby objects.

  • Distance: particles within this distance will be fully affected.

  • Falloff: the effect on particles beyond the base distance, but within this falloff distance, will diminish according to the inverse-square law.


  • Follow: the amount of force the scene objects will apply to particles, parallel to the object’s surface.

  • Above/Below: controls whether follow forces will be applied to particles above or below the object’s surface.

Follow influence

The follow influence extends outwards from nearby objects.

  • Distance: particles within this distance will be fully affected.

  • Falloff: the effect on particles beyond the base distance, but within this falloff distance, will diminish according to the inverse-square law.


  • Variation %: the per-particle percentage of variation to apply.