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

fx_flare_mat

Additive glow material for the flare blobs of the energy-shield effect. `ShieldFx.module` resolves it by name in `M.start` and makes it the material of one of its GPU-instanced pools: a single draw whose instance transforms and lane data the module writes from Luau every frame. `…

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

fx_flare_mat

Additive glow material for the flare blobs of the energy-shield effect. ShieldFx.module resolves it by name in M.start and makes it the material of one of its GPU-instanced pools: a single draw whose instance transforms and lane data the module writes from Luau every frame. ShieldFxDriver on the ShieldDome entity in the fx_shield scene starts the effect and steps it each frame. This material's pool is "flare": up to 12 instances of a unit sphere (12 x 16 segments). A flare appears where each shot strikes the dome (lasting 0.42 s) and at the far point each incoming streak starts from (lasting 0.22 s); its size grows over its life and lane 0 carries (age / life, 1, 0, 0).

Shader: fx_glow (fx_glow.shader). Its header describes one additive shader for every small emissive thing in the shield effect: form picks the look, and per-instance lane 0 carries (life 0..1, brightness, seed, 0). The forms are 0 tracer streak, 1 soft flare blob, 2 spark and 3 burning fragment. The output is the form's colour times brightness times gain, with alpha 1. For form 1 it takes r = pow(abs(dot(n, v)), 2.2) and returns color2 * r^7 * 12 + color1 * r^2 * 1.1, scaled by (1 - life)^2: a hot core in color2 inside a halo in color1, fading over the flare's life.

Render state: blend: additive, cull: none, depth_write: false.

Properties

  • form: 1: selects the soft flare blob.
  • gain: 1.0: multiplier on the output.
  • color1: { r: 0.35, g: 0.75, b: 1.0, a: 1.0 }: halo colour.
  • color2: { r: 1.0, g: 0.97, b: 0.9, a: 1.0 }: core colour.

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
descriptionAdditive fx_glow material (form 1, flare) for the impact and launch flare blobs that ShieldFx draws as one instanced pool in fx_shield.

Sub-parts

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

10items
✦
shader · born here
❒asset
# fx_glow One additive shader for every small emissive thing in the energy-shield effect. The material's `form` picks the look, and the per-instance lane 0 carries life, brightness and seed. It shades the 3D meshes the `ShieldFx` module builds: the brightness falls off with the angle between the surface normal and the view direction, so each mesh reads as a glowing volume with soft edges. The output colour is multiplied by the lane's brightness and the material's `gain`. - Form 0, tracer streak: along a tapered prism (`uv.x` 0 at the pointed tail, 1 at the blunt head) the colour runs from `color1` in the long fiery tail to a white-hot `color2` head. - Form 1, soft flare blob: a hot `color2` core inside a `color1` halo, fading with the square of the remaining life. - Form 2, spark: bright along the head of the prism, moving from `color2` while hot to `color1` as it cools, and fading with life. - Form 3, burning fragment: a faceted ember that cools from `color2` to dark red with a flicker whose rate comes from the seed, plus a faint `color1` glow. The `ShieldFx` module draws the effect with four materials made from it, all additive with culling off and depth writes off: `fx_streak_mat` (form 0, gain 1.0) on the incoming tracers, `fx_flare_mat` (form 1, gain 1.0) on the impact flares and the flashes where each tracer starts, `fx_spark_mat` (form 2, gain 1.8) on the sparks, and `fx_frag_mat` (form 3, gain 1.8) on the burning fragments. Each pool is one GPU-instanced draw whose lane 0 the module writes every frame: the tracer prism, a sphere for flares, the prism again for sparks, and an octahedron shard for fragments. The `ShieldFxDriver` component runs the module in the `fx_shield` scene. ## Properties | Property | Type | Default | Meaning | |---|---|---|---| | `form` | float | 0.0 | Look selector, range 0 to 4: below 0.5 tracer, below 1.5 flare, below 2.5 spark, otherwise burning fragment. | | `color1` | color | [1.0, 0.45, 0.1, 1.0] | The cooler colour: tracer tail, flare halo, cooled spark, fragment glow. | | `color2` | color | [1.0, 0.9, 0.7, 1.0] | The hot colour: tracer head, flare core, hot spark, hot fragment. | | `gain` | float | 1.0 | Multiplies the output colour (range 0 to 20). | ## Lanes | Lane | Carries | |---|---| | `data0.x` | Life, 0 to 1: fades the flare and cools the spark and fragment. | | `data0.y` | Brightness, multiplied into the output. | | `data0.z` | Seed: the fragment's flicker rate and phase. | | `data0.w` | 0. | `ShieldFx` writes (0, 1, 0, 0) for tracers, (age / life, 1, 0, 0) for flares and sparks, and (age / life, 1, seed, 0) for fragments.
▲ 0↑ born
backing path · fx_flare_mat.material

Problems

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

0problems
No problems reported. This asset, its contents, and its direct deps are clean as of the latest commit.
⌬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.