Log inGet started
What it does

tracer

A round in flight. A hot head runs the span from the muzzle to what it hits at a muzzle velocity in metres per second, with a tail drawn out behind it that narrows as it falls away, and it is gone the moment it lands.

effects.play("@builtin::systems.effects.combat.tracer", {
    params = { from = muzzle.position, to = hit.point, speed = 260 },
})

The round is drawn on one rod covering the whole flight path. The head is a number on an instance-data lane, so nothing about the geometry moves as the round travels — the flight is a lane write per frame.

Parameters

ParameterTypeDefaultRangeWhat it changes
fromvec3{0, 0, 0}world spaceWhere the round starts — the muzzle.
tovec3{0, 0, 40}world spaceWhere it ends — what it hits.
speednumber260.05.0 – 2500.0Muzzle velocity in metres per second. The flight time is the span divided by it, so a longer shot at the same speed takes longer.
widthnumber0.070.005 – 1.5Thickness of the streak, in metres.
colorcolor{1.0, 0.72, 0.34}linear 0..1Colour of the trace. Standard runs orange, a night load runs green.
tailLengthnumber7.00.25 – 120.0How far the tail is drawn behind the head, in metres. Held at the span when the shot is shorter than the tail.

The effect's length is not a parameter: it is span / speed, which is what stats().flightTime reports and what handle.duration is.

Cost

<!-- cost: quoted verbatim from effect.yaml -->
gpuMsvramBytesmeasuredOn
0.010see effect.yaml

The size is what the effect's own backends report they hold at a representative instant — handle:stats().bytes — read identically on every engine, in every scene and on every repeat: a tracer leases one piece of pooled geometry and holds no simulation state of its own, so it holds no bytes, and what it costs does not change with the span or the speed. The span is the median of five interleaved idle/loaded windows of the frame's measured GPU pass sum, which read 0.000 ms with a spread of about 0.008 ms: the effect costs less GPU time than that instrument resolves, and 0.01 is the bound the reading supports.

Telling it apart from the plasma bolt

The two are different effects, not one with a colour swap, and the numbers say so. At their declared defaults over the same span a tracer's flightTime is roughly six times shorter than a bolt's, its coreRadius is 0 where the bolt carries a ball of a stated radius, and it leases no emitter and spawns no light where the bolt does both.

What it draws with

AssetRole
combat/materials/combat_glowthe family's one additive material, drawing its streak form
combat/glowthe module that leases the rod and writes its lanes

See also

  • @builtin::systems.effects.combat.muzzleFlash — the flash that sends it.
  • @builtin::systems.effects.combat.impact — what it does where it lands.
  • guides { path: "topics/visual-effects" }.

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.

Sub-parts

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

0items
This part has no composite children. See the Files segment for its leaf payloads.
This part has no leaf payloads.

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.