VecFlow0.1.0
FlowsOperators

Struck Test

Send rigid bodies on when another body strikes them hard enough: knock bricks from a wall held still, or set off a chain.

VecFlow 0.1.0

Rigid bodies another body strikes faster than a speed go along the wire (resting on one, or carried by it, doesn't strike it). Kinematic ones sent to an event whose Rigid Body isn't are freed as they are struck, and take the blow.

Add it
EventAdd OperatorTestsStruck Test
Sends on
Along its wire: rigid bodies another body strikes faster than the speed.
Influence
No: a value can’t weigh it.

When to use it

To keep rigid bodies still until something hits them: a wall that stands until a ball strikes it, a stack that holds until it's knocked, a row of dominoes. The struck ones go to another event, and from there fall like any other body.

It needs a Rigid Body in its event.

Set it up

Make the still bodies Kinematic in the first event, and give the event the Struck Test sends to a Rigid Body that isn't, with a Gravity.

A flow of 3 events. Wall: Birth, Rigid Body, Struck Test; Struck Test: faster than 0.5 m/s sends to Falling. Falling: Rigid Body, Gravity, Collide. Ball: Birth, Position, Speed, Rigid Body, Gravity, Collide.WallStruck Test: faster than 0.5 m/sBirth: on Wall's pieces at frame 1. Make new particles: some every frame, all at once, one on each vertex of an object's mesh (for cloth and ropes: bind them with Bind, Mesh Edges), one on each piece of it (to smash: glue them with Bind, Pieces), or the event's Liquid filling itBirth: on Wall's pieces at frame…Rigid Body: box, kinematic. Particles are solid: they tumble, hit each other (and those of other events with this operator), stack and come to rest, on this event's Collide objects and ground. Each one is the shape it shows: its object from the Shapes collection, its piece of a mesh, or its sphereRigid Body: box, kinematicStruck Test: faster than 0.5 m/s. Rigid bodies another body strikes faster than a speed go along the wire (resting on one, or carried by it, doesn't strike it). Kinematic ones sent to an event whose Rigid Body isn't are freed as they are struck, and take the blowStruck Test: faster than 0.5 m/sInFallingCollide: groundRigid Body: box. Particles are solid: they tumble, hit each other (and those of other events with this operator), stack and come to rest, on this event's Collide objects and ground. Each one is the shape it shows: its object from the Shapes collection, its piece of a mesh, or its sphereRigid Body: boxGravity: 9.81 m/s². Pull particles down, or any way you point itGravity: 9.81 m/s²Collide: ground. Bounce off an object, a collection's objects or the ground, friction slowing their sliding and their spin where they touch. The ones that hit go along the wireCollide: groundInBallCollide: groundBirth: 1 at frame 20. Make new particles: some every frame, all at once, one on each vertex of an object's mesh (for cloth and ropes: bind them with Bind, Mesh Edges), one on each piece of it (to smash: glue them with Bind, Pieces), or the event's Liquid filling itBirth: 1 at frame 20Position: Cannon, volume. Place new particles in an object's box, on its surface or inside it, or along a curve (a tube round it)Position: Cannon, volumeSpeed: 12 m/s. Set the speed of particles entering the event, along a direction (an object's own axes when given), or add it to how they comeSpeed: 12 m/sRigid Body: ball, density 4000. Particles are solid: they tumble, hit each other (and those of other events with this operator), stack and come to rest, on this event's Collide objects and ground. Each one is the shape it shows: its object from the Shapes collection, its piece of a mesh, or its sphereRigid Body: ball, density 4000Gravity: 9.81 m/s². Pull particles down, or any way you point itGravity: 9.81 m/s²Collide: ground. Bounce off an object, a collection's objects or the ground, friction slowing their sliding and their spin where they touch. The ones that hit go along the wireCollide: groundIn
A wall that stands until a ball hits it: the bricks it strikes are freed into Falling, and knock the next ones loose.BirthForcesPhysicsLooksTests

Settings

As the flow editor’s sidebar shows them. Changing any of them marks the bake old; those marked Keyframable can also change through a bake.

Speed
Keyframable
0.5 m/s0 to 50

The speed to test against.

Speed is how fast another body must close on one, in metres a second, for it to count. A body resting on another, or carried along by it, isn't striking it, however long it touches.

Freed as they're struck

A Kinematic body sent to an event whose Rigid Body isn't kinematic is freed as it's struck, and takes the blow: it flies off as a body hit that hard would. The blow arrives a substep after the strike.

The wire

Not wired, a Struck Test does nothing: struck bodies stay.

Works with

  • Rigid Body, in its event: an error without one. Bodies of every event can strike them.
  • Collide: a body that hits the event's colliders or ground goes along the Collide's wire, not this one's.
  • It can't be weighed by a value.

Problems you may see

Error

event: a Struck Test is for rigid bodies: add a Rigid Body

Errors stop a bake; warnings don’t. Every message is on the Messages page.

On this page