ground_arcs
A flat annulus lying on the ground around the foot of the energy-shield dome: a soft energy glow, jagged radial arcs crawling out from the base, and hot spots on the ground under whichever part of the dome was just hit. It is the ground half of the shield, and reads the same hit…
ground_arcs
A flat annulus lying on the ground around the foot of the energy-shield dome: a soft energy glow,
jagged radial arcs crawling out from the base, and hot spots on the ground under whichever part of
the dome was just hit. It is the ground half of the shield, and reads the same hit table and strain
value as shield_dome.
A bright rim sits right on the dome's base circle, with a wide halo outside it (widening as the
ground heats) and a fainter one inside. Four layers of radial arcs, split into sectors 1/9, 1/14,
1/19 and 1/24 of a radian wide, are re-rolled 7, 11, 15 and 19 times a second; each sector lights at
random, more often as heat rises, and draws a jagged line out to a random length between 0.6 and 3.2
units. Heat comes from the hits: each live hit warms the azimuth below it, weighted toward hits low
on the dome and fading with age, plus the shield's strain. The rim and halo are tint, the arcs a
mix of tint and hot, and the rim gains hot as the ground heats. Everything fades out between
4.5 and 9.5 units outside the base circle, and under strain the whole ring dims at random on 27
steps a second. The alpha is 1; the material blends it additively.
The ground_arcs_mat material (additive, culling off, depth writes off) uses it on the
shield_ground_mesh annulus in the fx_shield scene. The ShieldFx module, run by the
ShieldFxDriver component, sets center once at start and writes the twelve hits and the strain
every frame.
Properties
| Property | Type | Default | Meaning |
|---|---|---|---|
tint | color | [0.08, 0.55, 1.0, 1.0] | Base energy colour of the rim, halo and arcs. |
hot | color | [0.75, 0.95, 1.0, 1.0] | Hot colour mixed into the arcs and added to the rim with heat. |
center | float4 | [0, 0, 0, 9] | xyz: world position of the dome's centre; w: the dome's radius. |
strain | float | 0.0 | Overload of the shield, range 0 to 3, read as strain / 2.5 clamped to 1. |
hit0 to hit11 | float4 | [0, 1, 0, -1] | One recent hit each. xyz: unit direction from the dome's centre times the hit's strength; w: age in seconds. A negative age, or one above 3.5, marks the slot idle. |
Scoped to this part · feeds back into the world's score.