Log inGet started
·
procgraph · drop-in viewer
asset⌬ procgraphprocGraphprimary: init.luau·part ofpackage effectShowcase.package·originates fromworld 0fc7535e-6…

wf_water.procGraph

The waterfall's water: three staggered falling curtains, the plunge pool and the river above the lip. The curtains draw with the `wf_sheet_*` materials, whose vertex shader shapes the falling sheet; the pool and river draw with `wf_pool_mat` and `wf_river_mat`. Its parts stand at…

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

wf_water

The waterfall's water: three staggered falling curtains, the plunge pool and the river above the lip. The curtains draw with the wf_sheet_* materials, whose vertex shader shapes the falling sheet; the pool and river draw with wf_pool_mat and wf_river_mat. Its parts stand at z = 42 in the generator's own space, and the materials state that spot too (z0, origin_z).

-- `graph` is this graph's reference: the AssetRef `asset.resolve` or a search returns for it.
local e = entity.spawn("wf_water", { position = { 0, 0, 0 } })
e.component.add("Generator", { graph = graph, playOn = "load", ending = "loop" })

The output water is one entity output holding every part. The timeline has no end and plays at 30 fps, which keeps the water's materials moving.

Interface

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

conforms to

zero/source-extract/v2

The still-and-falling water: three staggered curtains, the plunge pool and the river above the lip. Local frame matches wf_env: cliff face on z = 0, lip at (0, lip, 0), pool centred z ~ -4.4. Materials are real `.material` assets (materials/wf_*.material) rather than `material.shader` nodes: a node-made material reaches the Model with its properties but WITHOUT the `blend` / `cull` / `depthWrite` render state, so the water would draw opaque and z-fight the pool bed.

curtain(id: ?, mat: ?) → void

argtypedescription
id?
mat?
⌬ Metadata
descriptionThe still-and-falling water: three staggered curtains, the plunge pool and the river above the lip. Local frame matches wf_env: cliff face on z = 0, lip at (0, lip, 0), pool centred z ~ -4.4.kindeffect

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.

31+items
◐
material · born here
❒asset
# wf_sheet_back Waterfall curtain material, the back one of the three staggered curtains of the falls. `waterfall/wf_water.procGraph` builds the still and falling water of the waterfall and assigns this material to one of its parts by name; the graph's header states that the water materials are `.material` assets so the Model receives their blend, cull and depth-write state. The `WaterfallWater` Generator entity in the Procgen Effects Showcase world's `fx_falls` scene runs that graph. The graph builds each curtain from a 6.8 x 21.5 m grid of 44 x 220 cells stood upright with its top at the lip, and assigns this material to `curtain_back`; the graph's comment states that the vertex shader places the real curtain and the grid only carries bounds for culling. Shader: `wf_sheet` (`waterfall/shaders/wf_sheet.shader`). Its README: a waterfall curtain with a ballistic vertex path off the lip, packet-timed ribbon noise that tears with distance fallen, aeration to white, backlit scatter and a refracted background. From its header: the vertex stage places every vertex on the path water takes off a lip, leaving with `out_speed` and falling under gravity (9.81), so the curtain bows out and widens; the fragment pattern is pinned to packets of water, so its streaks stretch as the water speeds up and the sheet tears into ribbons as the breakup threshold rises with the distance fallen. The cliff behind shows through, bent by the ripples. Render state: `blend: alphaBlend`, `cull: none`, `depth_write: false`. ## Properties - `z0: 42`: z of the lip line the water leaves from (the graph's `Z0`). - `base_y: 21.9`: height of the lip, the top edge of the sheet. - `height: 21.5`: drop from the lip to the plunge. - `width: 9.8`: width of the sheet at the lip (default 6.6). - `out_speed: 1.45`: horizontal speed the water leaves the lip with; the sheet moves `out_speed` times the fall time away from `z0` toward -z (default 1.7). - `spread: 0.2`: extra width at the bottom, as width x (1 + spread x s) with s running from 0 at the lip to 1 at the plunge (default 0.22). - `seed: 11`: seed for the sway and the noise patterns (default 3). - `density: 1.1`: multiplier on the sheet's body coverage (default 1.15). - `z_bias: -0.32`: z offset subtracted from the whole sheet (default 0); -0.32 shifts this curtain 0.32 m toward +z, behind the main one.
▲ 0↑ born
◐
material · born here
❒asset
# wf_sheet_main Waterfall curtain material, the middle of the three staggered curtains of the falls. `waterfall/wf_water.procGraph` builds the still and falling water of the waterfall and assigns this material to one of its parts by name; the graph's header states that the water materials are `.material` assets so the Model receives their blend, cull and depth-write state. The `WaterfallWater` Generator entity in the Procgen Effects Showcase world's `fx_falls` scene runs that graph. The graph builds each curtain from a 6.8 x 21.5 m grid of 44 x 220 cells stood upright with its top at the lip, and assigns this material to `curtain_main`; the graph's comment states that the vertex shader places the real curtain and the grid only carries bounds for culling. Shader: `wf_sheet` (`waterfall/shaders/wf_sheet.shader`). Its README: a waterfall curtain with a ballistic vertex path off the lip, packet-timed ribbon noise that tears with distance fallen, aeration to white, backlit scatter and a refracted background. From its header: the vertex stage places every vertex on the path water takes off a lip, leaving with `out_speed` and falling under gravity (9.81), so the curtain bows out and widens; the fragment pattern is pinned to packets of water, so its streaks stretch as the water speeds up and the sheet tears into ribbons as the breakup threshold rises with the distance fallen. The cliff behind shows through, bent by the ripples. Render state: `blend: alphaBlend`, `cull: none`, `depth_write: false`. ## Properties - `z0: 42`: z of the lip line the water leaves from (the graph's `Z0`). - `base_y: 21.9`: height of the lip, the top edge of the sheet. - `height: 21.5`: drop from the lip to the plunge. - `width: 9.2`: width of the sheet at the lip (default 6.6). - `out_speed: 1.7`: horizontal speed the water leaves the lip with; the sheet moves `out_speed` times the fall time away from `z0` toward -z (default 1.7). - `spread: 0.22`: extra width at the bottom, as width x (1 + spread x s) with s running from 0 at the lip to 1 at the plunge (default 0.22). - `seed: 3`: seed for the sway and the noise patterns (default 3). - `density: 1.15`: multiplier on the sheet's body coverage (default 1.15). - `z_bias: 0`: z offset subtracted from the whole sheet (default 0); the middle curtain sits at the unshifted position.
▲ 0↑ born
◐
material · born here
❒asset
# wf_river_mat Water material for the river that runs to the waterfall's lip. `waterfall/wf_water.procGraph` builds the still and falling water of the waterfall and assigns this material to one of its parts by name; the graph's header states that the water materials are `.material` assets so the Model receives their blend, cull and depth-write state. The `WaterfallWater` Generator entity in the Procgen Effects Showcase world's `fx_falls` scene runs that graph. This material goes on `river_skin`: a 7.2 x 13 m grid at the lip height (21.9), centred 6.9 m on the +z side of the waterfall's z (Z0 + 6.9). Shader: `wf_pool` (`waterfall/shaders/wf_pool.shader`). Its README: plunge-pool water with travelling ripples, churn turbulence, two-phase radial foam flow, depth-driven shore and rock foam, fresnel sky reflection and sun glitter, and a refracted bed. It reads the scene depth already drawn under the surface to choose between a lighter and a darker water colour and to put foam where the water meets the bed and rocks; alpha runs from 0.55 to 1 with that depth term, plus foam. The river uses the same shader as the plunge pool (`wf_pool_mat`) with its own values. Render state: `blend: alphaBlend`, `cull: none`, `depth_write: false`. ## Properties - `origin_x: 0` and `origin_z: 42`: world x and z the shader measures positions from. 42 is the `Z0` constant `waterfall/wf_water.procGraph` places the waterfall at. - `impact_x: 0` and `impact_z: 60`: the point, relative to the origin, that the churn is centred on and the foam flows away from. The river grid spans z 0.4 to 13.4 relative to the origin, so this point lies upstream of it, and the foam flow moves toward the lip. - `churn_radius: 3`: size of the churned zone around that point, as the falloff `exp(-(d / churn_radius)^2)`. - `foam: 0.55`: blend weight of the foam over the water colour (default 1.0).
▲ 0↑ born
◐
material · born here
❒asset
# wf_pool_mat Water material for the plunge pool at the foot of the waterfall. `waterfall/wf_water.procGraph` builds the still and falling water of the waterfall and assigns this material to one of its parts by name; the graph's header states that the water materials are `.material` assets so the Model receives their blend, cull and depth-write state. The `WaterfallWater` Generator entity in the Procgen Effects Showcase world's `fx_falls` scene runs that graph. This material goes on `pool_skin`: a 21 x 18.5 m grid at height -0.35, centred 4.4 m on the -z side of the waterfall's z (Z0 - 4.4). Shader: `wf_pool` (`waterfall/shaders/wf_pool.shader`). Its README: plunge-pool water with travelling ripples, churn turbulence, two-phase radial foam flow, depth-driven shore and rock foam, fresnel sky reflection and sun glitter, and a refracted bed. It reads the scene depth already drawn under the surface to choose between a lighter and a darker water colour and to put foam where the water meets the bed and rocks; alpha runs from 0.55 to 1 with that depth term, plus foam. Render state: `blend: alphaBlend`, `cull: none`, `depth_write: false`. ## Properties - `origin_x: 0` and `origin_z: 42`: world x and z the shader measures positions from. 42 is the `Z0` constant `waterfall/wf_water.procGraph` places the waterfall at. - `impact_x: 0` and `impact_z: -3.5`: the plunge point, relative to the origin (default impact_z -3.4). The water churns around it and the foam flows outward from it. - `churn_radius: 3.7`: size of the churned zone around the plunge point, as the falloff `exp(-(d / churn_radius)^2)` (default 3.6). - `foam: 1`: blend weight of the foam over the water colour (default 1.0).
▲ 0↑ born
◐
material · born here
❒asset
# wf_sheet_front Waterfall curtain material, the front one of the three staggered curtains of the falls. `waterfall/wf_water.procGraph` builds the still and falling water of the waterfall and assigns this material to one of its parts by name; the graph's header states that the water materials are `.material` assets so the Model receives their blend, cull and depth-write state. The `WaterfallWater` Generator entity in the Procgen Effects Showcase world's `fx_falls` scene runs that graph. The graph builds each curtain from a 6.8 x 21.5 m grid of 44 x 220 cells stood upright with its top at the lip, and assigns this material to `curtain_front`; the graph's comment states that the vertex shader places the real curtain and the grid only carries bounds for culling. Shader: `wf_sheet` (`waterfall/shaders/wf_sheet.shader`). Its README: a waterfall curtain with a ballistic vertex path off the lip, packet-timed ribbon noise that tears with distance fallen, aeration to white, backlit scatter and a refracted background. From its header: the vertex stage places every vertex on the path water takes off a lip, leaving with `out_speed` and falling under gravity (9.81), so the curtain bows out and widens; the fragment pattern is pinned to packets of water, so its streaks stretch as the water speeds up and the sheet tears into ribbons as the breakup threshold rises with the distance fallen. The cliff behind shows through, bent by the ripples. Render state: `blend: alphaBlend`, `cull: none`, `depth_write: false`. ## Properties - `z0: 42`: z of the lip line the water leaves from (the graph's `Z0`). - `base_y: 21.9`: height of the lip, the top edge of the sheet. - `height: 21.5`: drop from the lip to the plunge. - `width: 7.6`: width of the sheet at the lip (default 6.6). - `out_speed: 1.95`: horizontal speed the water leaves the lip with; the sheet moves `out_speed` times the fall time away from `z0` toward -z (default 1.7). - `spread: 0.26`: extra width at the bottom, as width x (1 + spread x s) with s running from 0 at the lip to 1 at the plunge (default 0.22). - `seed: 27`: seed for the sway and the noise patterns (default 3). - `density: 0.8`: multiplier on the sheet's body coverage (default 1.15). - `z_bias: 0.34`: z offset subtracted from the whole sheet (default 0); 0.34 shifts this curtain 0.34 m toward -z, in front of the main one.
▲ 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
backing path · effectShowcase.package/waterfall/wf_water.procGraph

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.