Some examples of how to use the spring modifier in v2.
The first modifier in the image below makes springs between fragments that were inside a volume in their initial position (at the start frame).
The second modifier finds the fragments within a different volume, then makes the existing springs between them stronger (the red ones). This does NOT create new springs, it just edits the existing ones. The unchanged weaker springs are left in yellow.
The event has a volume filter to isolate the green fragments. The modifier destroys springs that connect fragments inside the volume to fragments outside the volume, i.e. between fragments which are modified by the event and those which are NOT modified.
This causes a chunk (green) to fall out, but keeps the springs between fragments within the chunk, only removing the ones connecting the chunk to the rest of the fragments (blue).
The pink springs connect the fragments to a passive input object.
The yellow springs connect the fragments to each other, as soon as they’re created (when the cube is broken).
The last modifier finds fragments in the volume (the lower half) and edits the detach velocity of the springs connecting them to anything outside the volume. This weakens the link between fragments inside and outside the volume. The lower half is more likely to detach when it’s hit by the ball. (All the blue springs have detached and so don’t appear in the image.)
Destroy springs after N frames
This example creates springs when an object is broken then destroys them after a few frames.
Break an object using the bomb anim event as a starting point, then reconfigure it as below to create springs.
On the modifier list of the event, add an assign modifier, choose a name for the custom attribute, e.g. "detachtime", then right click on the field and enter the expression: modify_operand1_float = frame;
This will store the frame number at which the fragment was created on the fragment as data called "detachtime". Then add a randomize modifier to add (+=) a random offset to it.
Add a second event from animated->push fragments, then reconfigure it as below. Note the test for frame >= detachtime, which will make the event run at different times for different fragments.
Now the springs detach at a random time between 3 and 10 frames after creation/breaking.