Product media placeholder
Replace this area with a screenshot or short walkthrough video during the media sweep.
F367 step 5 v2 — fires a one-frame `pulse: 1.0` on the frame a tracked body collides with another body. Filters by `bodyId` (required) and optionally `withBodyId` (specific second-body); set the `event` param to `start` (contact-begin) or `end` (separate). Composes 1:1 with `pulseTween`, state-machine triggers, and `expression` math for "ball lands → squash" or "two bodies meet → spawn".
Inputs
| Port | Type | Description |
|---|---|---|
world | any | World |
bodyId | float | Required. Track collisions involving this body. -1 = disabled. |
withBodyId | float | Optional second-body filter. -1 = match any other body. |
Outputs
| Port | Type | Description |
|---|---|---|
pulse | float | Pulse |
otherBodyId | float | Other Body ID |
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
event | enum | "start" | `start` fires on contact-begin (most common). `end` fires on separation. options start, end |
Use cases
- Squash on landing — `physicsCollisionPulse.pulse` → `pulseTween {duration: 0.15, ease: easeOutBack}` → scale-Y multiplier on the body's element transform. The ball bounces and squishes on each ground contact.
- Combo counter — counts how many balls have hit the floor; `physicsCollisionPulse` per-ball → accumulator → text update. (Pair with `physicsBodyStagger.bodyIds` and one pulse node per index.)
- Spawn-on-impact — collision pulse triggers a `clickStateDispatcher`-style state transition that introduces a new particle / sound / VFX object.
Related nodes
Envelope
Use physicsCollisionPulse as the node type inside a graph node envelope. Add id, optional params, optional connections, and optional activeWhen based on the guide context.
Generated source
Registry faster-motion-docs/node-registry.jsonCategory page /help/faster-motion/faster-motion-node-category-solvers/