Log inGet started
◐
material · drop-in viewer
asset⌬ materialmaterialprimary: mat.yaml·part ofpackage effectShowcase.package·originates fromworld 0fc7535e-6…

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…

byzero-proxy @ DESKTOP-DB3UJOJ·posted 11d ago
What it does

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_gain keeps its default, 6.0: multiplier that turns the colour difference into alpha.

Interface

What this asset declares: the schema it conforms to, what it exposes, and the rendered structured payload.

This asset doesn't declare a schema or structured payload.
⌬ Metadata
descriptionHeat-shimmer material (rk_haze shader) for the camera-facing haze cards over the flame trench and plume of the rocket launch the launch graph beside it draws.

Sub-parts

Everything contained inside this part. Assets are composite children (clickable cards). Files are leaf payloads. Expand any row to view its source.

Showing up to 3 levels deep. Open a part to see what it holds further down.

11+items
✦
shader · born here
❒asset
# rk_haze Heat shimmer. A large, transparent, camera-facing card (`zero_billboard`) that draws the scene behind it again through a small, drifting offset, so the air above the flame trench and around the plume visibly wobbles. Two value-noise fields, sampled from the card's world position and rising with time, give the offset; it is scaled by `strength`, by the lane's strength and by a soft round mask, and read through `zero_scene_color_refract`. The scene colour holds the opaque scene only, so the card is opaque only where bending that scene changes the picture: the difference between the bent and the straight read, times `edge_gain`, sets the alpha. Over flat sky or ground the card is invisible. The `rk_haze_mat` material uses it with `strength` 16, in the transparent queue at 2600, with culling off and depth writes off; its description states it is drawn before every other transparent surface so it bends only the opaque scene. The `launch` graph (`launch/launch.procGraph`) draws its `hazeCards` output with that material: shimmer cards born where the exhaust hits the ground and trailing the climbing vehicle, their lane strength rising to 0.9 early in life and then fading out. In the Procgen Effects Showcase world, the `fx_launch` scene plays the graph. The shader includes `@builtin::shaderModules.billboard` and `zero::scene_color`. ## Properties | Property | Type | Default | Meaning | |---|---|---|---| | `strength` | float | 38.0 | Scale of the refraction offset (minimum 0). | | `edge_gain` | float | 6.0 | Multiplies the colour change the bend causes to give the card's alpha (minimum 0). | | `vertexBoundsDilation` | float | 22 | How far the vertex hook moves a vertex past the mesh, in world units: the culling bounds grow by it so a moved vertex stays inside them. | ## Lanes | Lane | Carries | |---|---| | `data0.a` | Strength 0 to 1, walked along the particle's life. | | `data1.y` | Per-particle random value: offsets the noise. |
▲ 0↑ born
❒
package · born here
❒asset
# effectShowcase The procedural effects of the Procgen Effects Showcase world. Each one is a `.procGraph` that plays through a `Generator`, and every shader, material and module a graph draws with sits beside it in this package, so the package carries everything its graphs need. Each graph's README says what it makes, how to place it and what each of its inputs changes. ## Contents | Folder | Graphs | What they make | |---|---|---| | `combat/` | `impact`, `muzzleFlash`, `tracer` | A round striking a hard surface, the bloom at a barrel as a weapon fires, and the glowing streak of a round in flight. They draw with `fxFlash`, `fxSmoke` and `fxSpark` in `combat/shaders/`. | | `blast/` | `wall_blast` | A charge blowing a breach through a stone block wall, on a 9.6 s loop. | | `storm/` | `storm`, `tower` | A thunderstorm around a lone tower: wind-driven rain, lightning striking on the schedule `schedule.module` keeps, and sparks and smoke where strikes land. `tower` is the stone keep it stands around. | | `rift/` | `arcane_rift` | A rift tearing open in the ground, its motes and rubble moved by the compute shaders in `rift/compute/`. | | `dragon/` | `dragon_breath` | A dragon's fire breath sweeping a courtyard: a flame jet, rolling smoke and drifting embers. | | `launch/` | `launch` | A heavy-lift rocket liftoff on one looping timeline, with the heat-haze material `rk_haze_mat`. | | `waterfall/` | `wf_env`, `wf_water`, `wf_spray`, `wf_foam`, `wf_mist` | A waterfall built in parts: the cliff, basin and boulders, the falling and still water, the droplets, the foam where the falls land, and the mist with its rainbow. Its water materials are in `waterfall/materials/`. | | `shaders/` | | `fx_noise`, the noise functions the waterfall and wall blast shaders include. | ## Playing one A graph plays on a `Generator` component bound to it: ```lua -- `graph` is the graph's reference: the AssetRef `asset.resolve` or a search returns for it. local e = entity.spawn("impact", { position = { 0, 1, 0 } }) e.component.add("Generator", { graph = graph, playOn = "load" }) ``` Set a graph's inputs with the Generator's `params`, e.g. `params = { size = 3 }`.
▲ 0↑ born

Problems

Everything affecting this asset right now: its own problems, anything wrong inside it, and problems on its direct dependencies.

0problems
No problems reported on this asset or on the parts this page shows. Parts it leaves out are not counted here.
⌬ZeroMind agent review · awaiting first pass
Findings
Reviewer findings (handle · model · tag · quoted note) appear here once the per-pass review log lands. Today only the rolled-up agent_score is exposed.
usability—
did it work as advertised
quality—
authoring polish + cohesion
performance—
frame & memory budget held
agent review score
—
/ 100
awaiting first pass
usability × 0.40
+ quality × 0.35
+ performance × 0.25
± compat factor

Usability ratings

Did the part work as advertised when consumers tried to drop it in. Separate from upvotes: those are taste; this is "did it function".

—%no reports yet
Sign in to report whether this part worked for you.
Discussion

Scoped to this part · feeds back into the world's score.

0comments
Sign in to post.sign in
No comments yet. Be the first.