素材总表
素材散在四个目录里、由五个脚本生成。这一页把它们收在一起, 换素材或查一个图是怎么出的时候,从这里进。
生成模型:gpt-image-2(图生图,/v1/images/edits)。
参考图:动物用参考图拆出来的那只兔子,植物和场景元素用元素拆离表。
画风块只写一次、全批共用(tools/art/gen_batch.py 的 STYLE 常量)。
一、动物(6 种,全部带动画)#
每个都是一行 N 个连续姿态一次生成,再按二维连通域切件
(不是等分格子 —— 见 docs/野花笔记/动画与场景设计.md 第一节)。
| 动画 | 帧数 | fps | 精灵表 | 验收 |
|---|---|---|---|---|
| 兔子奔跑 | 8 | 12 | _art/anim2/rabbit-run-sheet.webp |
✓ 透明底 / 无溢出 |
| 兔子跳跃 | 6 | 10 | _art/anim2/rabbit-hop-sheet.webp |
✓ 透明底 / 无溢出 |
| 麻雀 | 6 | 10 | _art/anim2/sparrow-sheet.webp |
✓ 透明底 / 无溢出 |
| 萤火虫 | 6 | 7 | _art/anim2/firefly-sheet.webp |
✓ 透明底 / 无溢出 |
| 甲虫 | 6 | 9 | _art/anim2/beetle-sheet.webp |
✓ 透明底 / 无溢出 |
| 蝴蝶 | 6 | 13 | _art/anim2/butterfly-sheet.webp |
✓ 透明底 / 无溢出 |
立绘(兔子形象定稿):
art/gen25/rabbit-v2-side.png侧视(游戏用)art/gen25/rabbit-v2-front.png正面(手账 / 主界面用)art/gen25/compare-rabbit-v2.png与参考图兔子的三栏对照
跳跃帧已重出过一版:第一版背景里带杂草,现在只有兔子(提示词里用 ★★ 显式禁止草/地面/影子/速度线)。
二、植物(30 株,5 株带摇摆)#
5 条风景带 × 6 株。原稿在 art/plants2/raw-<带>.png,
切好的单株在 art/plants2/<带>-1..6.png,总览板 art/plants2/board.png。
| 风景带 | 植物形态 |
|---|---|
| 苔原草坡 | 低矮垫状植物、细硬短草、微小高山花、灰色地衣、小型莎草 |
| 石楠台地 | 石楠状灌木(密生小铃花)、低矮木质茎、细针叶 |
| 溪谷林地 | 蕨类、阔叶林下植物、苔藓团、细高的耐荫草 |
| 砾石滩 | 微小景天、匍匐垫状植物、细弱草丛、灰叶小植物 |
| 高地野花田 | 高杆野花、种子头、三叶草、带刺蓟状植物、羽毛状草 |
摇摆动画 5 组(每条带挑 1 株,8 帧 7fps):_art/anim2/sway-<带>-sheet.webp
脚本 tools/art/plant_sway.py:绕根部旋转 + 按行水平位移 + 相位滞后。
帧与帧只差一个显式参数,不存在形变。
方向验法:量每 10% 高度带的水平重心位移。底 10% 必须为 0.00 px(根部锁定), 位移随高度单调递增 —— 实测顶 10% 是 +7.7px、max +13.2px。
三、场景元素(36 件)#
6 类 × 6 个变体。原稿 art/props2/ 同目录,切好的单件 art/props2/<类>-1..6.png,
总览板 art/props2/board.png。
| 类别 | 6 个变体 |
|---|---|
| 石头 | 圆巨石 / 平板石 / 棱角中石 / 卵石堆 / 半埋长苔石 / 磨平踏石 |
| 树木 | 高窄针叶 / 圆阔叶 / 分层塔形 / 幼树苗 / 枯树 / 低矮灌木树 |
| 灌木 | 圆密灌丛 / 散枝矮丛 / 匍匐垫状 / 带小浆果 / 发白霜 / 带刺棘丛 |
| 草丛 | 高细草丛 / 短硬草簇 / 宽叶莎草 / 苔藓块 / 小蕨丛 / 匍匐地被 |
| 枯木 | 倒木带断枝 / 树桩 / 扭曲枯枝 / 小枝堆 / 空心木段 / 翻起根盘 |
| 远山 | 圆缓丘 / 尖脊 / 崖边 / 远处树线 / 缓坡 / 平顶台地 |
它是视差最远层,提示词要求 LIGHT hazy blue-grey, clearly LIGHTER than the other props。
摆进场景时还会再压一层透明度(0.55)。
四、背景与拼接场景#
整张背景(远景层,视差用)5 张,竖构图 1024×1536:
art/bg2/<带>.png,拼接检查条 art/bg2/strip.png。
拼接场景 5 张,540×960:art/scene2/<带>.png
图层顺序:天空渐变 → 远山 → 中景树 → 近景灌木 → 地面 → 石头/枯木 → 前景草 → 角色
每层带自己那一档的透明度和明度衰减(远山 0.55 / 中景树 0.78 / 近景 1.0)。 景深用透明度+明度做,不用颜色做 —— 这样换配色时层次不会塌。
验收状态#
python3 tools/art/check_tone.py --scene art/bg2/*.png → 6/6 全部达标
(5 张背景 + 1 张拼接条)。
生图原始明度 0.374~0.481 全部偏暗,用分段 gamma + 降饱和拉到基准 0.601。
拼接场景(art/scene2/)还没跑过 check_tone.py —— 那是代码合成的,
口径要单独定,还没定。
五、脚本对应表#
| 脚本 | 干什么 | 输入 → 输出 |
|---|---|---|
tools/art/genimg.py |
直连网关出图,支持传参考图 | 提示词 + 参考图 → PNG |
tools/art/gen_batch.py |
批量出动物 / 植物 / 背景,画风块只写一次 | 提示词表 → PNG |
tools/art/gen_cut.py |
抠底 + 二维连通域切件(网格分行列排序) | 素材板 → 单件 |
tools/art/pose_sheet.py |
姿态表 → 精灵表,连通域切件(跨格子也能整只切出) | 姿态表 → RGBA 精灵表 |
tools/art/spritesheet.py |
精灵表切片 + 对齐 + 动态 WebP(默认输出透明底) | 精灵表 → anim 播放器用的图 |
tools/art/plant_sway.py |
植物摇摆,连续变形不重新生图 | 单株 → 8 帧精灵表 |
tools/art/compose_scene.py |
用元素拼竖屏场景 | 元素 + 带配置 → 540×960 场景 |
① 它参数里没有"参考图",只能文生图,风格传不过去;
② 它不能按次指定模型(model 是全局配置,在 cordis.patch.yml)。
见 docs/工具与配置/生图模型配置.md。
六、还没做的#
- 素材还没接进运行时。 演示页
notes.html里的场景仍然是代码画的几何图形, 这批生图素材目前只出现在文档的图片里。这是下一件该做的事。 - 30 种植物对不上
收集手册.md的 30 种。 那 30 种是按玩法定的(含稀有度、花期、 功效),这一批是按风景带出的(每条带 6 种形态),两套编号不是一套。 要对齐得重新映射,还没做。 - 动物素材只过了视觉复核和边界检查,没过
check_sat.py/check_tone.py。 - 帧数偏少(8 帧 / 6 帧),要更顺需要 12~16 帧。
- 元素切件有轻微杂点,靠
min_area过滤了一部分,没做逐张清理。 - 没有尺寸规范表。 每件素材的实际像素尺寸没登记,接进运行时之前要定。
MDEOF