diff options
Diffstat (limited to 'docs/维护说明.md')
| -rw-r--r-- | docs/维护说明.md | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/docs/维护说明.md b/docs/维护说明.md index c8047c8..96dcecd 100644 --- a/docs/维护说明.md +++ b/docs/维护说明.md @@ -1033,3 +1033,43 @@ python3 scripts/check-no-white-blocks.py /tmp/opencode/lv-p32-evidence/night 说明:`DrawMapFitted` 生成器渲染路径不绘制炊烟(炊烟只在样例村庄 `VillageArt.drawWorld` 的 late pass),故「灯笼光晕 + 水面」以生成器夜帧为准,「炊烟」见样例村庄昼间特写。所有帧 `check-no-white-blocks.py` 0 命中(无 ≥64x64 不透明纯白块)。 + +## P33 素材接入样板(真实像素素材竖直切片) + +把样例村庄的**一类地面 + 一类角色**从程序绘制换成 CC0 真实像素素材,跑通接入管线;其余仍走 +原程序绘制图集 fallback。来源 / 许可 / sha256 完整记录见 `docs/素材来源.md`。 + +- 构建(确定性,二次运行 byte-identical): + + ```bash + python3 scripts/make-cc0-art.py + # -> Assets/cc0-tiles.png 128x32 (4 个 32x32 地面格) + # -> Assets/cc0-characters.png 3840x48 (5 变体 x 4 向 x 6 帧, 32x48 格) + ``` + + 同时修复了地块取样间距:源用无间距的 `tilemap_packed.png`(16px pitch),旧代码误按带间距 + 的 17px pitch 采样导致错格。 +- 开关:`LV_ASSET_PACK=cc0` 启用真实素材;未设置或其它值回退程序绘制江南图集。选择入口 + `VillageArt.useCc0Pack` / `selectedGroundAtlasRelativePath` / `selectedCharacterAtlasRelativePath`。 +- 规格:源 16x16 / 16x24 整数 **2x NEAREST** → 32x32 / 32x48;加载尺寸与整数倍由 + `src/LivingVillage.Desktop.Tests/AssetPackTests.fs` 断言(含开关与 fallback)。 +- 证据(`docs/evidence/`,被 .gitignore 命中故 `git add -f`;`check-no-white-blocks.py` 4 帧 0 命中): + - `p33-atlas-day.png` / `p33-atlas-night.png`:样例村庄真实素材昼 / 夜整帧 1280x720。 + - `p33-atlas-closeup-2x.png`:村庄地面 + 角色 2x NEAREST 特写(Kenney 草色 (78,151,76) 与 + (132,198,105) 合计约 7.4 万像素,证实真素材上图)。 + - `p33-atlas-baseline-day.png`:同场景程序绘制 fallback 对照(草色 (66,112,70)),与真实素材 + 帧明显不同(昼帧约 92% 像素差异)。 +- 复现: + + ```bash + DLL=src/LivingVillage.Desktop/bin/Release/net8.0/LivingVillage.Desktop.dll + for h in 12.0 23.5; do + tag=day; [ "$h" = 23.5 ] && tag=night + timeout 20 xvfb-run -a -s "-screen 0 1280x720x24" env LV_AUTOPLAY_SAMPLE=1 \ + LV_AUTOPLAY_RECORD=1 LV_AUTOPLAY_START_HOUR=$h LV_RECORD_EVERY=10 \ + LV_RECORD_NAME=p33-$tag- LV_ASSET_PACK=cc0 \ + LV_RECORD_DIR=/tmp/opencode/lv-p33-evidence/$tag dotnet "$DLL" + done + ``` + +- 范围:本单只接入基础地块与一类角色;动画全套 / 全村 / 中式元素补绘留待后续切片。 |
