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
2025-01-20 11:11:43 +01:00
2025-07-20 07:18:58 +02:00
2022-06-18 17:47:39 +02:00
2022-09-07 01:22:44 +08:00
2025-10-03 11:00:39 +02:00

Uma Viewer (2)

Unity application that makes it easy to view assets from Uma Musume: Pretty Derby.

Version Supported
JP (DMM) ✅
JP (Steam) ✅
KR ✅
Global ✅

⚠️ 🌍 EN/Global users ⚠️

In UmaViewer, set WorkMode to Default and Region to Global in the 'Other' Settings tab.

Currently only the default work mode is supported - you need to download assets using the Download All button in the game's settings for the viewer to work.


Requirements/Installation

  1. Uma Musume: Pretty Derby with full data download is required to run the viewer.
  2. Depending on your version and update status, the game stores its data in different locations
  • DMM/Steam Older installations : C:\Users\your_username\AppData\LocalLow\Cygames\umamusume(?)\
  • DMM/Steam Fresh installations : ...\Umamusume installation directory\Umamusume_Data\Persistent(?)\
  • In any case,confirm your file listing in target folder looks like this
    • Target Folder\
      • meta
      • master\
        • master.mdb
      • dat\
        • 2A\...
        • 2B\...
        • ...\...
  1. Download the most recent UmaViewer.zip file from Releases tab.
  2. Extract the archive anywhere, can be extracted over previous version.
  3. Run the UmaViewer.exe.
  4. UmaViewer will try to automatically detect the game data folder.
    • If it fails or shows an error, go to Settings → Other → Change DataPath and manually select target folder.

  • For Developers/Contributors
  1. Unity Hub with Unity Engine Version 2022.3.62f1 is recommended. It should be possible to run it on newer 2022.3.X versions.
  2. Clone or download and extract this repository.
  3. Import and Open the project in Unity Hub, missing files should be automatically repaired.
  4. Open the Assets/Scenes/Version2 scene.

Features

✓ - Working / - Incomplete x - Unsupported
Viewing main character models/animations ✓
Swapping costumes/animations between characters ✓
Viewing chibi models/animations ✓
Viewing mob (NPC) models ✓
Playing facial animations, custom sliders ✓
Cloth/Hair physics ✓
Playing Live Audio with Lyrics ✓
Exporting animations to MMD ✓
Recording animations (.gif), screenshots ✓
Viewing Props, Scenery, Live scenes /
Exporting models /

All characters and animations are supported

Mobs / background characters as well

Mixing outfits and animations

Screenshot and .gif recording

and more

Also check out:

UmaChat by kagari - model viewer fork that lets you chat with Umas using AI + TTS

Special Thank to:

MarshmallowAndroid: UmaMusumeExplorer for acb/awb decoder.

S
Description
Mirror of https://github.com/0xcjy/UmaViewer (Unity Uma Musume viewer)
Readme 159 MiB
Languages
C# 94.3%
GLSL 1.8%
ShaderLab 1.6%
C 0.7%
JavaScript 0.5%
Other 0.9%