summaryrefslogtreecommitdiff
path: root/docs/素材来源.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/素材来源.md')
-rw-r--r--docs/素材来源.md45
1 files changed, 34 insertions, 11 deletions
diff --git a/docs/素材来源.md b/docs/素材来源.md
index dd193de..31494e9 100644
--- a/docs/素材来源.md
+++ b/docs/素材来源.md
@@ -1,8 +1,8 @@
# 第三方像素素材来源与许可
-P33 开始把「程序几何绘制」的样例村庄逐步替换为**真实像素素材**(统一像素风格)。
-本单只做第一条竖直切片:样例村庄的一类地面(草地/石板)与一类角色(村民/主角)接入
-CC0 素材,其余仍走原程序绘制江南图集作为 fallback。
+P33 开始把「程序几何绘制」的样例村庄逐步替换为**真实像素素材**(统一像素风格),
+P34 扩展到水面 / 屋顶 / 墙体 / 栏杆等构件。仍是竖直切片,不做全村,其余走原程序绘制
+江南图集作为 fallback。
- **开关**:`LV_ASSET_PACK=cc0` 时启用真实素材包;未设置或取其它值一律回退到程序绘制
图集(`Assets/jiangnan-*.png`)。图集选择入口见 `src/LivingVillage.Desktop/VillageArt.fs`
@@ -11,11 +11,12 @@ CC0 素材,其余仍走原程序绘制江南图集作为 fallback。
```bash
python3 scripts/make-cc0-art.py
- # -> src/LivingVillage.Desktop/Assets/cc0-tiles.png 128x32 (4 个 32x32 地面格)
+ # -> src/LivingVillage.Desktop/Assets/cc0-tiles.png 384x32 (12 个 32x32 格)
# -> src/LivingVillage.Desktop/Assets/cc0-characters.png 3840x48 (5 变体 x 4 向 x 6 帧, 32x48 格)
```
- 源素材 16x16 / 16x24,**整数 2x NEAREST** 放大到 32x32 / 32x48;缩放断言见
+ `cc0-tiles.png` 前 4 格来自 Kenney(源 16x16,**整数 2x NEAREST** 到 32x32),后 8 格为
+ P34 自绘(详见第 3 节);角色图为 Puny 源 16x24 整数 2x 到 32x48。缩放断言见
`src/LivingVillage.Desktop.Tests/AssetPackTests.fs`。
## 1. Kenney Tiny Farm(地块)
@@ -28,8 +29,9 @@ CC0 素材,其余仍走原程序绘制江南图集作为 fallback。
- SHA-256:`a06f75f312c27eff15a2288475612e6f6699411be7259d408323cd15a790decc`(191128 bytes)
- 获取日期:2026-09-21
- 用法:取 `Tilemap/tilemap_packed.png`(192x176,12x11 格,**无间距、16px pitch**;带间距的
- `tilemap.png` 为 203x186/17px)。本单取 (9,8)/(10,8) 两档草 + (4,8)/(4,9) 石板,
- 整数 2x 生成 `Assets/cc0-tiles.png`。
+ `tilemap.png` 为 203x186/17px)。取 (9,8)/(10,8) 两档草 + (4,8)/(4,9) 石板,整数 2x 生成
+ `Assets/cc0-tiles.png` 的 0-3 格。**Tiny Farm 是农场包,无水面 / 屋顶 / 墙体 / 栏杆素材**
+ (已逐格核查:无蓝色水面格),故这些构件自绘,见第 3 节。
## 2. Puny Characters(角色)
@@ -44,10 +46,31 @@ CC0 素材,其余仍走原程序绘制江南图集作为 fallback。
32x48 格。包只提供南向姿态,北向复用南向、东/西为镜像(限制沿用 `scripts/make-cc0-art.py`
注释)。生成 `Assets/cc0-characters.png`。
+## 3. 自绘补绘构件(P34,原创,无第三方来源)
+
+Kenney Tiny Farm 无合适的瓦屋顶 / 白墙 / 木格窗 / 栏杆 / 水波 / 门素材,按任务要求用仓库
+自绘 32px 像素图补入 `cc0-tiles.png` 的 4-11 格(**原创,无外部来源,无需第三方许可**),
+统一江南调色板:青灰瓦、白灰墙、暖木构件、碧水。逐格:
+
+| 索引 | 内容 | 说明 |
+| --- | --- | --- |
+| 4 | 水面 A | 自绘 2 相位水波之一 |
+| 5 | 水面 B | 相位相对 A 位移 4px(两相位差 256px) |
+| 6 | 屋顶正脊 | 青灰瓦脊 + 亮脊线 |
+| 7 | 屋顶檐口 | 青灰瓦 + 檐口高光/滴水 |
+| 8 | 墙体(木构) | 白灰墙 + 上下暖木梁 |
+| 9 | 木格窗 | 白灰墙 + 中心木格窗 |
+| 10 | 栏杆 | 木栏杆(用于桥面) |
+| 11 | 门 | 暖木双扇门 |
+
+- 自绘代码位于 `scripts/make-cc0-art.py`(`draw_water`/`draw_roof_*`/`draw_wall`/`draw_railing`/`draw_door`),
+ 确定性、可复现,无外部素材。
+- 水网/水田(生成器 `code=4`)与样例河道共用同一自绘 2 相位水面。
+
## 说明
-- 两者原始 zip 均随仓库记录于 `third_party/`(`PROVENANCE.md` 为总来源记录),仓库分发的
- 只是上述再生成图集,不声称拥有未包含素材。
+- Kenney/Puny 原始 zip 均随仓库记录于 `third_party/`(`PROVENANCE.md` 为总来源记录),仓库
+ 分发的只是上述再生成图集,不声称拥有未包含素材;自绘构件为原创。
- 版权/许可复核:见 `third_party/` 内原始文件与发布页;重跑 `make-cc0-art.py` 前后对
- `third_party/*.zip` 重新 `sha256sum` 校验(本单校验一致)。
-- 「中式元素补绘」为后续切片;本单只接入基础地块与一类角色,保证管线跑通。
+ `third_party/*.zip` 重新 `sha256sum` 校验。
+- 范围仍为切片:动画全套 / 全村 / 更多中式元素补绘留待后续。