rk_haze_mat
Heat-shimmer material for the rocket launch. The `launch` graph beside it (`launch.procGraph`) resolves it by name and draws its `hazeCards` output with it: one card per particle of a 500-particle simulation fed from where the flame hits (36 per second at full thrust, living 1.2…
rk_haze_mat
Heat-shimmer material for the rocket launch. The launch graph beside it (launch.procGraph)
resolves it by name and draws its hazeCards output with it: one card per particle of a
500-particle simulation fed from where the flame hits (36 per second at full thrust, living 1.2 to
2.4 s) and from the plume column (14 per second at full thrust, living 0.9 to 1.8 s). Each card
grows from 0.7 to 1.4 times its size over its life, and its lane-0 colour comes from a ramp whose
alpha rises to 0.9, falls to 0.5 and ends at 0; the shader reads that alpha as its strength. The
graph's comment states that a .material asset is used here because the draw order matters for the
haze. The launch_fx Generator entity runs the graph.
The description in mat.yaml states that it is drawn before every other transparent surface, so it bends only the opaque scene and the flame and smoke drawn over it stay intact.
Shader: rk_haze (rk_haze.shader). Its header: a large, transparent, camera-facing card that
draws nothing of its own; it re-reads the scene colour behind it through a small, drifting noise
offset, so the air above the flame trench and around the plume wobbles. The card's alpha follows how
much the bent read differs from the straight one, so it is visible at edges in the opaque scene and
blends away over flat sky or ground.
Render state (the render block of mat.yaml): queue: 2600, type: transparent (alpha blend),
cull: none, depth_write: false.
Properties
strength: 16.0: scale of the noise offset, in pixels, applied to the scene-colour read (default 38.0).edge_gainkeeps its default, 6.0: multiplier that turns the colour difference into alpha.
Scoped to this part · feeds back into the world's score.