3b4485506af62d17dc3eac181b913b6e760adb39
Reported from a live run: a light keeps rotating, and the object visibly should not be
rotating. Two separate problems, only one of which is a bug.
The bug — BillboardController resolved its target camera once and cached it forever, while
Director.MainCameraTransform is reassigned every frame (_cameraTransforms[_activeCameraIndex])
and switches between three cameras whenever the CameraSwitcher track fires. After the first
switch the billboards face a camera the viewer is not looking through, and that camera keeps
moving along its own timeline — which reads exactly as "spinning for no reason". Now resolved
per frame. Any stage script that references "the current camera" has this hazard.
The guess — whether _rotationType == 0 means "face the camera on all axes" at all, and whether
the up vector should be the camera's (screen-aligned, rolls with the shot) or world up (yaw
only), have no ground truth behind them, and the two look completely different on screen. Per
the project rule, that goes off: EnableRotation now defaults to false, same treatment as
PostFilmRendererFeature._enableRendering. With it off the quads keep the orientation the prefab
author gave them, which is real data rather than my inference.
Target selection was checked rather than assumed, and it holds up: all 106 type-0 instances are
named *_billbord / *_billboard / glow_plane / spotlight, all 106 carry a MeshRenderer, and the
lamp bodies are further up the chain (swing_ < arm_ < stand_). So "these should billboard" is
probably right; "how they should turn" is what is unsupported.
Docs also walk back an over-claim from 050a2c9. That commit said the mirror ball rotation was
settled and "already correct in our build". The clip rate is ground truth for the clip
(-179.50 deg/s, and currentLiveTime is in seconds so there is no unit error), but the same live
run reports the balls are still too fast — so the original either applies a playback multiplier
or does not drive the ball with this clip at all. Data settles the asset, not what the original
does with the asset. The multiplier goes back on the unknowable list.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UzXXkLzVC8pNA3JjyUGMbq
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
- Uma Musume: Pretty Derby with full data download is required to run the viewer.
- 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\...
- ...\...
- Target Folder\
- Download the most recent UmaViewer.zip file from Releases tab.
- Extract the archive anywhere, can be extracted over previous version.
- Run the UmaViewer.exe.
- 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
- Unity Hub with Unity Engine Version 2022.3.62f1 is recommended. It should be possible to run it on newer 2022.3.X versions.
- Clone or download and extract this repository.
- Import and Open the project in Unity Hub, missing files should be automatically repaired.
- Open the Assets/Scenes/Version2 scene.
- note: If there are errors in the console, JSON .NET For Unity may be required
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.
Description
Languages
C#
94.3%
GLSL
1.8%
ShaderLab
1.6%
C
0.7%
JavaScript
0.5%
Other
0.9%