The Particle Bind operator can be used to create bindings between particles.
Bindings are not solved by this operator, only created. Bindings are solved by the global particle bind solver at the end of each simulation step. Bindings created by this operator will persist between events.
Binding ID: the ID to assign to created bindings.
Stiffness: the stiffness value to assign to created bindings.
Stiffness affects inertia: controls whether the stiffness value of bindings will affect inertia of bound particles.
“Inertia” is the tendency for an object to resist outside forces. When “stiffness affects inertia” is enabled, binding stiffness will affect how much energy will be transferred between the attached particles. Enabling this setting can help dissipate unwanted energy transfer between particles. This setting has no effect on particles whose bindings have a stiffness value of 1.
Simple: bindings are solved in a straight-forward manner. Their stiffness is mostly dependent on bind solver step count.
Constrained: bindings are solved in a way that makes their stiffness somewhat independent of bind solver step count, at a small performance cost. This setting has no effect on bindings whose stiffness value is 1.
Bias: the post-initialization multiplier to apply to binding rest lengths.
Enable min length: applies a minimum length constraint to bindings, during initialization.
Absolute: sets the minimum length to an absolute value.
Absolute value: the absolute minimum length value.
Shape radius sum: sets the minimum length to the sum of the attached particles’ radii.
Scale radius sum: sets the minimum length to the sum of the attached particles’ scale values.
Mult: the multiplier applied to shape/scale radius sums.
Enable max length: applies a maximum length constraint to bindings, during initialization.
Max length value: the absolute maximum length value.
Bindings can break: controls whether bindings can break, based on various criteria.
Break by stretch: enables binding breaking by overstretch.
Stretch %: bindings that stretch beyond this percent will break.
Break by compress: enables binding breaking by compression.
Compress %: bindings that compress beyond this percent will break.
Break by min length: enables binding breaking by explicit minimum length.
*Min length: bindings that compress to this length will break.
Break by max length: enables binding breaking by explicit maximum length.
Max length: bindings that stretch to this length will break.
Break by tension: enables binding breaking by tension.
Tension: if a binding’s attached particles have a tangential velocity magnitude that exceeds this value, the binding will break.
Proximity bindings are created between neighbor particles that are a within a threshold distance from each other.
Enable proximity bind: controls whether proximity bindings will be created.
Absolute distance: controls whether neighbor particles must be within an absolute distance of each other in order to be bound.
Distance: the absolute distance value.
Shape diameter: controls whether neighbor particles must be within a distance less than a particle’s shape diameter in order to be bound.
Scale diameter: controls whether neighbor particles must be within a distance less than a particle’s scale diameter in order to be bound.
Distance mult: a multiplier applied to the shape/scale diameter.
Max binds: the maximum number of bindings that may form between a particle and its neighbors.
When the total number of valid neighbor particles exceeds the “max binds” value, these settings control how to sort the results.
Unsorted: no sorting will occur.
Sort by dist. (closest): the neighbors will be sorted from closest to furthest.
Sort by dist. (furthest): the neighbors will be sorted from furthest to closest.
Sort by size (biggest): the neighbors will be sorted from biggest to smallest.
Sort by size (smallest): the neighbors will be sorted from smallest to biggest.
Enable clustering: controls whether binding candidates will be determined by cluster values.
Channel: the particle data channel to get cluster values from.
Cluster if equal: binding candidates must have equal cluster values.
Cluster if equal: binding candidates must have unequal cluster values.
Bind All: all particles will be bound, ignoring their relationships.
Bind siblings: only sibling particles will be bound to each other.
Bind non-siblings: only non-siblings will be bound to each other.
Bind to siblings: controls whether sibling particles will be bound to each other.
Proximity: controls the sibling adjacency level that will be used during the bind operation.
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.
A “proximity” value of 1 means that only adjacent siblings will be bound to each other. A “proximity” value of 2 means that particles will only be bound if they are both adjacent to a third sibling between them. A “proximity” value of 3 means that particles will only be bound if they are both adjacent to two other siblings, who themselves are both adjacent to each other, etc. It essentially relates to the number of sibling adjacency relationships that must exist between two particles, in order for them to be bound.