Files
UmaViewer/Assets/Scripts
ritenseki f75e6fdd1f Stage: restore the authored blend state that a URP Lit property table overwrote
Chasing "why does this ground wash light keep swinging as a black wedge" landed on something
much wider than one lamp.

Gallop's light shaders take their blend state from material properties — LightBlinkBlend and
friends declare `Blend [_SrcBlend] [_DstBlend]`. Every one of live10149's 26 materials stores
_SrcBlend=One, _DstBlend=Zero, i.e. opaque overwrite. That is not authoring intent: all 26 also
carry _WorkflowMode, _Surface, _ClearCoatMask, _Smoothness and _Blend in their float tables,
which is URP Lit's property set, and One/Zero is URP Lit's opaque preset. The table was stamped
over the whole batch.

The authored values are recoverable, because the shaders declare their own defaults. Of the 16
shaders in the bundle that expose these two properties, 14 default to One/One — additive — and
they are exactly the emissive family: LightBlinkBlend, LightBlend, StageBeamLight and its
Cutoff/Fadeout variants, StageLightBlinkCutoff/Fadeout, the three StageProjectorBlend variants,
StageMonitorBlend*, MirrorBallProjector, BgUnlitStencilAlpha.

Forced opaque, an additive beam whose _BlinkLightColor is black stops being "adds nothing, so
invisible" and becomes a solid black wall — which is what the swinging wash beams look like on
screen, and very likely also what LIVE_TRACKS.md has been recording as "small bulbs render as
black blocks".

So on stage init, every material whose shader declares _SrcBlend/_DstBlend gets those reset to
the shader's declared default. The correction is self-limiting: for a shader that really is
opaque the default is already One/Zero and nothing changes. Only properties the current shader
actually declares are touched — the material's saved table is the thing we do not trust here,
so it is not consulted for what to write.

Every change is logged with material, shader and before/after, so the next run says exactly what
was corrected rather than leaving it to inference.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UzXXkLzVC8pNA3JjyUGMbq
2026-08-07 13:57:41 +08:00
..
2022-12-13 22:47:31 +08:00
2024-11-06 23:58:45 +01:00
2025-09-01 22:41:41 +02:00
2022-09-07 01:22:44 +08:00
2022-12-13 22:47:31 +08:00
2022-12-28 14:29:18 +01:00
2023-07-03 18:51:54 +08:00
2023-07-03 18:51:54 +08:00
2023-06-30 14:08:40 +08:00
2023-07-12 17:22:00 +08:00
2022-12-14 23:32:16 +08:00
2023-12-14 01:45:07 +01:00
2022-09-19 20:15:41 +08:00
2022-09-18 23:30:00 +08:00
2025-08-02 09:19:38 +02:00
…
2025-10-03 23:21:48 +02:00
2023-07-13 01:41:59 +08:00
2023-08-20 13:16:12 +02:00
2023-07-05 02:25:27 +08:00
2024-11-06 23:58:45 +01:00
2022-12-23 19:07:42 +08:00