Resample operator

The Resample operator allows you to spawn or delete particles, based on their hierarchical relationship.


Resample Rollout

Mode

  • Interpolate: in this mode, particles will be spawned between matching particle pairs.

  • Optimize: in this mode, particle pairs will be condensed by deleting adjacent particles.

Interpolate Rollout

Interpolate

  • Siblings: particles in an adjacent sibling relationship will be resampled.

  • Parent/children: particles in a parent/child relationship will be resampled.

  • Target: particles and their target (if it exists) will be resampled.

  • Particle binds: controls whether the bindings between particle pairs will be resampled.

  • Target channel: the custom data float channel from which to get the target particle ID.

A particle is a child of another particle if it was spawned from that other particle. Two particles are considered siblings if they were spawned from the same parent particle. Two particles are considered adjacent siblings if they were spawned in order, one immediately before or after the other.

Particles

  • Close sibling loops: controls whether groups of sibling particles will be turned into closed loops (turn this on to resample particles generated from closed splines).

By distance

  • Enable: controls whether resampling will occur when two particle pairs are separated by a certain distance.

  • Thresh: the minimum distance required between two particle pairs before resampling will occur.

By probability

  • Enable: controls whether resampling will occur between particle pairs on a random probability.

  • Thresh: the random probability that two particle pairs will be resampled.

Subdivision

  • Count: the number of new particles spawned during a resampling of particle pairs.

Interpolation Limits

  • Particles per pair: limits the total number of new particles that can be spawned between any two matching pairs (sibling or parent/child pairs)

  • Enable max pairs: limits the total number of new particles that can be spawned, per time step.

  • Max pairs: the maximum number of particle pairs that can be resampled, per time step.

When “particle binds” is enabled, if pair particles A and B are resampled such that particle C is spawned between them, any bindings between A and B will be resampled such that A will be bound to C, and C will be bound to B.

(A–B) > (A–C–B)

Uniqueness

  • Seed: the seed value for all varied parameters.

Optimize Rollout

Optimize

  • Siblings: particles in an adjacent sibling relationship will be optimized.

  • Parent/children: particles in a parent/child relationship will be optimized.

  • Target: particles and their target (if it exists) will be optimized.

  • Target channel: the custom data float channel from which to get the target particle ID.

By angle between two pairs

  • Enable: controls whether particles will be deleted if the angle between their adjacent pairs is below a certain threshold.

  • Thresh: the angle threshold.

By length of pair

  • Enable: controls whether particles will be deleted if the distance between them and their adjacent particle is below a certain threshold.

  • Thresh: the length threshold.

By distance from end to next junction

  • Enable: controls whether particles adjacent to a single junction particle will be deleted if the distance between them and the junction is below a certain threshold.

  • Thresh: the distance threshold.

Misc

  • Max optimization: particles will only be deleted if the length of the resulting pair (the pair formed by both of the deleted particle’s adjacent particles) is below this threshold.

  • Iterations: the number of times to re-perform the overall optimize algorithm.

Certain optimizations can result in more particles becoming optimization candidates after the algorithm completes one iteration. Increasing the iteration count will optimize those new candidates in the same time step.

  • Preserve all junctions: junctions (particles with more than two adjacent particles) will not be deleted.