Trigger
Test which elements lie inside a distance field zone without running a simulation, with optional enter and exit tracking per identity.
What it does
Tests a set of elements against a zone, a Distance Field region, and reports which ones are inside. For each element the distance to the zone's surface is measured: inside when that distance is less than Radius. Radius 0 gives a point test; raise it to treat each element as a sphere.
No simulation is involved. The zone can be a shape, a combined shape, a mesh, an image or a Volume, all auto-converted into a Distance Field, and the field is sampled fresh each frame, so a moving zone costs nothing extra. With Track Identity on and elements carrying an @id, for example from a Spawn node, the result is diffed frame to frame into who entered, who is still inside and who exited.
When to use it
Pickups, kill zones, checkpoints and doorway triggers without a physics simulation
Which points or entities are inside a moving or animated region right now
Per-entity enter and exit events, via Track Identity and an
@idcolumnThe raw signed distance from each element to a region's surface, rather than an inside/outside flag
| Parameter | Type | Default |
|---|---|---|
elements | OneOf([Collection]) | — |
zone | OneOf([FieldOf(Sdf)]) | — |
radius | Number | 0 |
track_identity | Boolean | false |
opacity | Number | 1 |
Gotchas
Radius treats each element as a small sphere instead of an infinitesimal point, so elements near the boundary still register as inside.
Enter and exit tracking needs an @id column on the elements. Without one, Entered, Staying and Exited stay empty even with Track Identity on, and only Inside and Distance are populated.
Exited reports each entity's last-known row, so it still appears even if the entity was removed from the graph entirely that frame. Use it for cleanup logic, but it does not vanish along with a despawned element.
Worked example
Wire a Spawn (or any points source with an
@idcolumn) into Elements.Add a shape, a sphere or box, and wire it into Zone as the watched region.
Raise Radius slightly for elements to register just before they touch the boundary.
Turn on Track Identity, then read Entered / Staying / Exited to drive pickup, checkpoint or kill-zone logic per entity.