Branch operator

The Branch operator spawns child particles which travel at predictably-divergent angles relative to parent particles. It can be used as the basis for effects like growing frost, lightning, etc.


Branches

Spacing
  • Distance: the minimum distance a parent particle must travel before spawning a child.

  • Variation %: the per-particle percentage of variation to apply.
Count
  • Max: the maximum number of particles to spawn at each branch event.

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

The Splay settings allow you to control the incremental splay of particles as a whole, from their parent.

  • X/Y/Z: controls the axis around which the splay will occur.

  • World space/Particle space: controls the source of the splay axis.

  • Splay: the incremental splay, in degrees, over which the new particles will be splayed outwards.

  • Variation %: the per-particle percentage of variation to apply.
  • Divergence: the angle of divergence applied to each group of splayed particles as a whole.

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

The Spread settings allow you to control the incremental spread of particles as a whole, from their parent.

  • Spread: the degrees from which the new particles will be spread outwards from their parent.

  • Variation %: the per-particle percentage of variation to apply.
  • Divergence: the angle of divergence applied to each group of spread particles as a whole.

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

The divergence settings allow you to randomize the individual trajectories of spawned particles.

  • Angle: the angle of divergence applied to each individual spawned particle’s velocity trajectory.

  • Variation %: the per-particle percentage of variation to apply.
Rotation
  • Align to travel direction: when enabled, new particles will be aligned (along their Z-axis) to their new travel (branch) direction.

Limits

  • Max depth: the maximum number of recursive branches that may be spawned.

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

Increasing max depth increases the number of successive recursive steps the branching algorithm can take. For example, a max depth of 2 means that particles which enter the event may spawn children, and those children may spawn children of their own, but that third group of children (the grand-children of the original particles) may not spawn further children. Increasing the max depth will exponentially increase the total number of particles that will be spawned over time.

Inheritance

Velocity
  • Inherit %: the amount of velocity child particles will inherit from parent particles.

  • Variation %: the per-particle percentage of variation to apply.
Scale
  • Inherit %: the amount of scale child particles will inherit from parent particles.

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

Parent

  • Delete %: controls the probability that a parent particle will be deleted after it branches.

  • Branch from parent if parent deleted: controls whether child particles will have their origin moved to the location of their parent particle, if their parent particle is deleted.

When this setting is disabled, child branch particles will be born at the location of the spacing threshold, along the path of their parent particle. For example, if a parent particle travels 10 units up in a time step, and the branch threshold is set to 7 units, the branch particles will be located 7 units up (ie, not at the location of their parent particle). This is desirable when spawning many branches along the trajectory of a living parent particle. However, if the parent particle is deleted, this can cause a break in continuity between the trajectory of the parent particle and its children. By enabling “branch from parent if parent deleted”, the child particles will snap to the location where the parent was deleted, regardless of the spacing value. So using the previous example, if the parent travels 10 units up and the spacing is set to 7 units, if the parent is deleted the child branch particles will snap to 10 units up as their starting location (rather than 7).

  • Convert child branches into siblings: when enabled, new branch particles (which are child particles of the original branch particles) will be converted into siblings of the original branch particles.

By default, new particles spawned by the Branch operator will be children of the original branch particles. However, particles spawned from the original branch particles with other operators (like the Spawn operator) will also be children of the original branch particles - so you can run into situations where branch particles and any children they spawn in other operators will all be siblings. This can confuse other operators like the Particle Bind operator, which can bind particles by sibling relationship. By enabling ‘convert child branches into siblings’, no particles spawned by the Branch operator itself will be children of other particles within the Branch operator…allowing for easier differentiation between branch particles and any of their children spawned by other operators.

Test TRUE

  • Min depth enable: controls whether child particles that reach a certain depth will test TRUE for output.

  • Min depth value: sets the minimum depth value required for child particles to satisfy the condition.

Uniqueness

  • Seed: the seed value for all varied parameters.