impact
set 0× in templates and rigs
One hit of a camera's `motion(preset=cam.impact)`, at `at` seconds: a trauma shake (offset = trauma² × noise, so small hits barely move and big ones slam), an optional FOV punch and an optional hitstop. Rows sum; each is a pure function of scene time and sits beside a path motion or keyed channels on the same camera. Attributes on the `motion` are defaults for its rows; with no rows, `at` on the `motion` is one hit.
impact(at=1 decay=1 fov-punch=1)
Attributes
atnumberWhen it hits, scene seconds.0×decaynumberTrauma lost per second (default 1.5), so strength 0.6 is gone in 0.4 s.0×fov-punchnumberDegrees the lens kicks wider, then eases back (default 0, off).0×frequencynumberHz of its noise (default 15): earth rumbles near 8, lightning cracks near 30.0×hitstopnumberSeconds the scene's clock stops at the hit, nodes and keys alike; the shake and the audio keep going (default 0, off). It then catches up, so nothing later moves.0×hitstop-ratenumberHow fast the clock runs during the stop, 0 frozen to 1 not at all (default 0).0×hitstop-recovernumberSeconds it takes to catch scene time again (default 0.25). A hit closer than stop + recover to the scene's end leaves the scene that far behind through its transition.0×punch-timenumberSeconds of that kick (default 0.08).0×strengthnumberTrauma it adds, 0..1 (default 0.6). The total clamps at 1; the shake goes with its square.0×