docs(营地美术设计段): 营地场景图定稿条款落文 + 旧「三柜台」说法全面换代
- art-bible: §2 明度禁令缩窄至情绪域(状态表达不再受限)、§2.8 承载元素换七物件场景图、 §4.1 新增色板分层(语义/UI token 48 + 每屏环境子板 ≤32)、§6.2 营地场景整条重写、 §7.5 营地界面整条重写、§7.6 禁用态加注(场景物件另按 §6.2) - camp.md 整份重写为「可点击场景图 + 七物件点选」 - asset-path-map 增 scene/ 子目录; 资产清单 §3.5 重写; 状态清单营地行换代 - GDD 侧「柜台」用词换代: 术语表(顺带消除三/四柜台自相矛盾)、系统清单、Alpha 标准、 不做清单、核心循环、内容规模、level-clear、元进度、HUD框架 - 待办清单: 新增「营地五界面窗口化批」(优先级=绝对, 强依赖卡④); 卡④条 P1 同步为已裁=B - reports/提案-营地场景图美术生成方案-2026-10-22.md (本轮讨论裁定与修订清单 §11)
This commit is contained in:
1 parent
1d3a016963
commit
291f5122fc
16 files changed
+509
-59
No files matched your search
@@ -0,0 +1,422 @@
|
||||
# 提案:营地场景图美术生成方案(渠道 · 分层 · 工作流 · 样张验收判据)
|
||||
|
||||
> 性质:设计讨论段过程稿(2026-10-22 美术方案讨论产出)。**只讨论生成方案,不出图、不写需求卡片、不改 `game/`、不编迭代**——美术线是用户自立批(铁律 2),方向稿与「过/不过」的目检结论由作者出。
|
||||
> 输入事实源:`reports/需求卡片-营地场景图新建批-2026-10-18.md`(卡④ v2.3,已退回美术设计段)、`reports/需求澄清-营地交互重做-2026-10-18.md`(目标体验原话/纵深稿/10 条交互裁决)、`design/art/art-bible.md` §6.2/§7.5/§4.1/§4.2/§8.3、`design/art/asset-path-map.md`、`design/art/art-prompts.md` §0/§4bis、`design/art/remote-gen-prompts.md`。
|
||||
> 待作者带的输入:①参照物(作者原话「后续找一下」)②渠道一句话裁定 ③每轮方向稿「过/不过」的目检结论。
|
||||
|
||||
---
|
||||
|
||||
## 0. 四问速览(只读这一段也能定)
|
||||
|
||||
| 问 | 答 |
|
||||
|---|---|
|
||||
| **① 现状差在哪** | 营地场景图**一张都不存在**(现役是四柜台覆盖层,程序化占位)。卡④ 已因美术轨凭据缺(P1–P5 未销号)退回美术设计段,卡⑤ 排在它后面,营地五卡是 Alpha 例外项——**没有图,卡④⑤ 一行代码都开不了**。 |
|
||||
| **② 建议做什么** | 走**项目既有远程生图管线(主角/八敌同条路)出图 + 既有后处理管线收口**,交付形态定为 **「1 张背景层 + 7 张物件层 + 1 份坐标表」**(不是一张整图叠七个矩形热区)。出图顺序:先 2–3 张低分辨率**方向稿**让作者选划方向,判完方向才分层精制。 |
|
||||
| **③ 为什么选它** | 七物件要**悬停/按下/禁用/已解锁四态**:整图 + 矩形热区做不出「贴合物件形状的高亮」和「单个物件灰掉」,要补就得给每个物件抠一张透明遮罩——那其实还是分层,只是遮罩不公开成素材。远程生图管线的**返工成本最低**(换提示词=换一张,八敌已量产验证),且有拼表制(一张图画多个素材再裁开)能硬压风格一致;CC0 找不齐七个指定物件同套,插画级周期最长。 |
|
||||
| **④ 怎么验证** | 机检三件:色板(`tools/palette_check.py --baseline`)、像素件(`tools/standee_asset_check.py`)、几何(七命中矩形两两不重叠 + 中心点落在物件不透明像素上,实现批写成探针断言)。风格一致、构图好看、七件一眼找得到——这三项机检判不了,**归作者目检**。 |
|
||||
|
||||
---
|
||||
|
||||
## 1. 议题 1 · 生成渠道怎么选
|
||||
|
||||
### 1.1 三条路摆开
|
||||
|
||||
> **口径更正(2026-10-22,Agent 自纠)**:草案曾把 B 误标为「人工/外包」——**错**。项目原文(卡④ `:282`)定义 **B = 插画级新产 = 按纵深稿从零新画一张**;执行方仍是**作者自跑远程生图管线**(`art-assets-checklist.md:14` 图例:✦ = 用户自跑,产出「角色、插画级素材」)。
|
||||
> 因此真实结构是:**A vs B =「产出什么」的二选一**(改现有 vs 从零画),**远程生图管线是「怎么产出」的执行通道**,不是与之并列的第三条路。下表保留三行以便对照,但裁定实质是 A / B 二选一(详见 1.3)。
|
||||
|
||||
| 案 | 怎么干活(逐天的真实动作) | 构图控制力 | 成本/周期 | 贴合已定色域的代价 | 返工风险 |
|
||||
|---|---|---|---|---|---|
|
||||
| **A · CC0 素材改色复用**(♻ 渠道) | 去 Kenney / OpenGameArt / itch.io 免费包找现成像素场景件(营火、砧台、宝箱、床、木牌、栅栏门等);选中后过「复用四道闸」(`art-assets-checklist.md:22`):① 色板量化到 §4.1 的 48 色 token、不保留原包杂色 ② 吸色检查无 HSV 300°–345° ③ 去色相仍可辨、不与语义件混 ④ 授权干净(CC0 优先,CC-BY 须署名,授权不明不用);过闸后按 v3 坐标拼上画面 | **最弱**——要凑齐八个指定物件的同一套素材几乎不可能,落点是东拼西凑 | 找素材耗时不可控(看似零绘成本,实际耗在筛选与授权核对) | **高**——多来源拼的图,像素密度、描边粗细、光照方向各不相同,改色+统一描边的工作量接近重画 | **中偏高**:发现风格不齐或构图不贴纵深稿,只能换源重找,前功尽弃 |
|
||||
| **B · 插画级新产**(✦ 渠道 · 卡④ 原案) | 以已接受的布局稿 + 纵深稿作参考锚,开远程生图对话 → 出构图候选 → 选一张 → 分层出图 → 抠底 / 降采样 / 色板量化 / 描边统一 → 合成校验 → 样张呈裁。**全链路=本提案 §3 的 S0–S7**,执行人始终是作者自己 | **最强**——七件位置与纵深完全由布局稿+提示词控制 | 重出一张很便宜(换提示词=换一张);拖周期的是反复横评,不是绘制本身 | **低**——提示词锁主色(烛光黄 `#F6C667` / 木色 `#8A5A34`)+后处理色板量化收口 | **最低**——候选多、迭代便宜 |
|
||||
| **C · 方向稿先行的混合时序**(B 的低风险写法) | 与 B 同一条管线,只是分两段:**先出 2–3 张低分辨率方向稿**给作者选划 → 判完方向才分层精制。**C 不是与 B 并列的第三条路,它就是 B 的执行时序** | 同 B | 同 B(因先用便宜稿定方向,总额外轮次更少) | 同 B | 最低 |
|
||||
|
||||
### 1.2 我的推荐:选 B(插画级新产),用 C 的时序去走(不替作者拍板,只摊代价)
|
||||
|
||||
> 原推荐写作「C 为主 + 混合收口」,口径更正后重新表述:**产出方式的裁定是 A / B 二选一,推荐 B;C 只是 B 的执行时序(先出可被否决的便宜方向稿),不构成第三选项。**
|
||||
|
||||
**推荐 B**,三条理由按权重排:
|
||||
|
||||
1. **它和本项目的具体缺口对得上**:缺口是「七个可点击物件的独立透明件 + 一张背景」,不是「一张漂亮插画」。远程生图一次出一张、想要几张出几张,天然适配分层交付;♻ 渠道卡在「找不齐一套八件的同一套 CC0 素材」。
|
||||
2. **返工风险最低是硬道理**:重出一张很便宜(换提示词=换一张),所以「先用过渡规格跑通交互、画质后升」这个口径才成立。
|
||||
3. **后处理管线已齐**:抠底→最近邻降采样→色板量化→描边,这条链在八敌批跑通过(art-prompts §0 五步第 4 步);换渠道等于这条链作废重搭。
|
||||
|
||||
**混合怎么混**(= C 时序,B 的内部工序):AI 出构图候选 → 作者选划方向 → 按定稿构图出「背景 1 张 + 物件拼表 1–2 张」→ 脚本后处理(抠底/降采样/量化/描边统一)→ 按坐标表合成校验 → 样张呈裁。**人工只出现在两处:作者选方向、作者判样张**。
|
||||
|
||||
**⚠ 选 B 时要连带处理的一件事(卡④ Q6 甲原文冲突,须作者确认)**:Q6 甲的裁定原文是「**Q1 裁 A 时**用过渡尺寸档=现役 1280 工程档+烛光黄 `#F6C667`/木色 `#8A5A34`」;**若 Q1 裁 B,按该裁定原文「过渡口径不成立」**——须走乙案「等样张批规格清单产出才开 T1」,或由作者**另行裁定一次过渡规格**。而本次讨论的输入条件里把「过渡规格=1280 工程档」列为已定硬约束,两者口径冲突,**属呈报项,不自行取一侧**:请作者确认过渡规格是否无条件适用。
|
||||
|
||||
**一句话裁定**:`A` 还是 `B`(推荐 **B · 插画级新产**,并按 C 的「方向稿先行」时序执行)。裁完即可进 §3 的 S1(S0 已销号)。
|
||||
**同时请顺便确认**:① 过渡规格是否无条件适用(见上方 ⚠ Q6 甲冲突);② 参照物是否阻塞 S1(等参照 vs 先用布局稿当锚)。
|
||||
|
||||
---
|
||||
|
||||
## 2. 议题 2 · 要不要分层、怎么分(核心)
|
||||
|
||||
### 2.1 先判「一张整图 + 七个矩形热区」够不够
|
||||
|
||||
结论:**不够**,四态里有三态做不出来。
|
||||
|
||||
| 四态 | 整图 + 矩形热区能做到吗 | 说明 |
|
||||
|---|---|---|
|
||||
| 悬停高亮 | ❌ 只能整体提亮整图,或画一个**矩形框**——矩形框正是作者点名拒绝的「各种框框」形态;若要贴合物件形状提亮,必须有一张**该物件的透明遮罩** | 「要遮罩」就等于分层,只是遮罩不公开成素材,反而更难维护 |
|
||||
| 按下 | ❌ 同上(位移/压暗也要遮罩,否则整图一起动) | |
|
||||
| 禁用 / 未解锁 | ❌ 灰掉单个物件 → 同样要遮罩 | |
|
||||
| 已解锁 | ✅ 不需要额外素材 | |
|
||||
|
||||
**不分层还会发生什么**(逐条摊开):
|
||||
|
||||
1. **改构图 = 整图重出**:七件的相对位置被一张图锁死。分层后调位置只改坐标表(背景空档由背景层自己承担)。
|
||||
2. **物件没法复用**:图鉴提示里想放宝箱小图标、顶栏想放钥石徽 → 得另出一套小件。分层后同一张 PNG 直接缩着用。
|
||||
3. **命中区与剪影对不齐**:矩形热区必然误吞(点大门旁边的空地也进冒险),只能逐个手工调矩形,且物件形状越不规则误差越大。
|
||||
4. **遮挡关系写死在像素里**:现在篝火压在近景是画出来的,将来要在它后面加东西、或者把火焰做成动效,都得整图重出。
|
||||
5. **四态演示无法提前给作者看**:分层后可以在出图阶段就合成「常态/悬停/按下/禁用」四联图给作者判;整图方案要等代码写完才看得见反馈。
|
||||
|
||||
### 2.2 结论:分层,共 8 张 + 1 份坐标表
|
||||
|
||||
**交付形态 = 1 张背景层 + 7 张物件层 + 1 份坐标表**(8 张 PNG)。
|
||||
|
||||
| 层 | 文件名(草案) | 内容 | z 序 | 是否透明底 |
|
||||
|---|---|---|---|---|
|
||||
| L0 | `scene_camp_bg.png` | 远景天空 + 地面 + 中景围栏(**含门柱与门洞**,门洞内画通往远处的路)+ 远景植被/山;**不含七个可点物件的本体** | 0 | 否(全幅不透明) |
|
||||
| L1 | `scene_camp_board.png` | 布告板/悬赏板(挂在中景围栏上)→ 图鉴 | 1 | 是 |
|
||||
| L2 | `scene_camp_gate.png` | 大门门扇(叠在 L0 门洞上)→ 冒险 | 2 | 是 |
|
||||
| L3 | `scene_camp_dummy.png` | 木桩 → 天赋树 | 3 | 是 |
|
||||
| L4 | `scene_camp_forge.png` | 锻炉·铁砧 → 锻造工坊 | 3 | 是 |
|
||||
| L5 | `scene_camp_bed.png` | 床铺 →(承载笔记本,本体不可点) | 3 | 是 |
|
||||
| L6 | `scene_camp_chest.png` | 宝箱 → 秘宝匣 | 4 | 是 |
|
||||
| L7 | `scene_camp_notebook.png` | 床铺旁笔记本 → 生涯记录 | 4 | 是 |
|
||||
| L8 | `scene_camp_campfire.png` | 篝火 → 离开营地/回主菜单 | 5(最前) | 是 |
|
||||
|
||||
> **七个可点物件 = L1/L2/L3/L4/L6/L7/L8 七张**(床铺 L5 是承载件,不可点;笔记本挂它旁边)。
|
||||
> **四态不落素材**(2026-10-22 作者裁后改写):**悬停 = 给轮廓加亮边(描边发光)+ 浮动**,**不是整体提亮**——亮边由物件层 alpha 外扩 1px 派生,零手绘;按下 = 位移 1px(平移不是缩放,不触甲类整数倍缩放规则);**禁用/未解锁 = 变暗并调成灰度**(见 §9 ⑨,**作者特许破除 §2 明度禁令**,须登反哺点);已解锁 = 常态。
|
||||
> **若作者要「描边发光」式高亮**:不需要新出图——由物件层的透明通道自动外扩 1px 派生一张描边图(脚本生成,零生成成本)。这条正好回答「不分层就做不了描边」。
|
||||
|
||||
### 2.3 篝火与大门要不要区别对待
|
||||
|
||||
**要,两件各有各的特殊处,但都不是「不分离」的理由**:
|
||||
|
||||
- **篝火**(近景居中、可能遮挡):它是**最该分离**的一件——① 它是 z 序最前的近景件,分离后遮挡由代码 z 序管,背景不会被它烧进去;② 它绑「离开营地」这个高代价动作,命中区要单独定(建议与躯干等宽、不含火焰上部飘动区,防误点);③ 火焰是将来唯一可能带动效的件,分离后加帧只动它一张。
|
||||
- 过渡规格先出**静态一张**;若作者要火焰动效,后补 2–4 帧(同方向稿续写锁定形态),属后续画质档,本次非目标。
|
||||
- **大门**(中景、与围栏连体):**背景层画全门柱与门洞**,大门物件层只画**门扇**叠在门洞上。这样分层边界天然(门柱内框 = 对位锚),且不会出现「背景缺个洞」的空洞问题。
|
||||
- 请作者裁:门扇画成**关闭态**还是**半开态**(半开更暗示「可以出发」,但门洞要透出更多远景)。
|
||||
|
||||
### 2.4 分了层,AI 能不能保证七个物件与背景风格一致
|
||||
|
||||
**单靠「同一对话续写」不行**——项目实证:同对话续写 = 对上一张图的**编辑模式**(会被当成增量修图),变体必须各开新对话。所以续写恰恰是风格漂移的来源,不是解法。
|
||||
|
||||
**靠三道,按硬度排序**:
|
||||
|
||||
1. **硬办法 · 拼表制(首选)**:**一张图里画完全部物件**,出完按网格裁开。同一张图内不可能出现两种像素密度、两种描边——风格一致性由「同源」保证,不靠模型自觉。这是本项目瓦片批已验证的制式(2×2 拼表一张出全族)。
|
||||
- 适配到本件:七件尺寸差异大,用**不等分网格 + 每件一个标注框**的排版(提示词写明「七个独立物件,各自占据一个矩形区域,区域之间留统一浅灰间隔,物件的任何像素不得越出自己的区域,不得画任何边框/标签/文字」)。
|
||||
- 兜底:若拼表连续失败(模型坚持画框/串位),退回**一张一跑**,改靠第 2、3 道收口。
|
||||
2. **软办法 · 风格参考图**:出图时贴**已定稿的项目素材**(主角立绘/已定档敌人/瓦片纹理任择)并带既有句式「只是风格参考,只对齐像素密度、平涂、亮暖白描边与暖色限制调色板,不许抄服装道具配件」。目标是把**像素密度与描边**锚到既有世界观上。
|
||||
3. **兜底 · 后处理统一**:抠底 → 最近邻降采样到统一像素密度 → 色板量化到同一套板 → 描边统一(缺描边的件由脚本按 alpha 外扩补一圈亮暖白描边)。三道做完,风格差异被压到只剩造型差异(造型差异是好事,七个物件本来就该长得不一样)。
|
||||
|
||||
### 2.5 分层的代价:位置谁定、对位怎么保证
|
||||
|
||||
| 代价项 | 谁定 | 怎么保证 |
|
||||
|---|---|---|
|
||||
| **七件摆哪儿** | **作者定方向**(纵深稿已给:中景围栏+大门、近景中间篝火、左锻炉铁砧、右床铺与宝箱),Agent 出**灰块布局稿**(1280×800,七个编号矩形 + z 序标注)供作者调 | 布局稿 = 唯一坐标事实源,后续所有出图都贴它作参考锚 |
|
||||
| **对位精度** | 出图后由**脚本按坐标表合成** | 合成图与方向稿并排,逐件锚点误差 **≤2px**;物件层边缘**无 1px 半透明毛边**(硬边/无抗锯齿纪律) |
|
||||
| **坐标表格式** | 实现批定(建议走代码常量单点,与 `UiKit.TEX_*` 同处;或 `.tres` 落 `data/tables/`,按数值单一事实源口径) | 表必须含四列:**物件键 / 贴图锚点 (x,y) / 命中矩形 (x,y,w,h) / z 序** |
|
||||
| **背景空档** | 背景层自己承担 | 背景层画全(含门洞、地面、围栏完整),物件层只是叠上去,移走任何一件背景都不露洞 |
|
||||
|
||||
**坐标草案 v3(2026-10-22 · 作者已接受)**
|
||||
|
||||
口径(用户 2026-10-22 亲自定):**只有最左、最右两件往边上推;不靠边的那些不许贴边**——它们按「离画面中心的距离」成比例往外挪一点点(最外挪 ~80,第二圈 ~40,中轴 0)。**物件尺寸一律不变**,拉开的是它们之间的**间隔**。
|
||||
|
||||
做法:**以中心线 x=640 为原点等比外扩,k=1.20**,只改 x、不动 y 与尺寸。v2「所有物件一律贴边」的做法已被否决作废(把非边缘件也拽到边上,无故且无意义)。
|
||||
|
||||
| 物件 | 层 | v1 基线 x | **v3 命中矩形 (x, y, w, h)** | 外移量 | z 序 | 可点 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| 锻炉·铁砧(最左) | L4 | 120 | **`(40, 420, 240, 240)`** | −80 | 3 | 是 → 锻造工坊 |
|
||||
| 木桩 | L3 | 380 | **`(340, 520, 120, 180)`** | −40 | 3 | 是 → 天赋树 |
|
||||
| 篝火 | L8 | 560 | **`(560, 560, 160, 160)`** | 0 | 5 | 是 → 离开营地 |
|
||||
| 大门(门扇) | L2 | 520 | **`(520, 250, 240, 220)`** | 0 | 2 | 是 → 冒险 |
|
||||
| 布告板 | L1 | 800 | **`(845, 330, 130, 140)`** | +45 | 1 | 是 → 图鉴 |
|
||||
| 笔记本 | L7 | 770 | **`(818, 690, 100, 80)`** | +48 | 4 | 是 → 生涯记录 |
|
||||
| 床铺 | L5 | 880 | **`(958, 520, 300, 170)`** | +78 | 3 | **否**(承载件) |
|
||||
| 宝箱 | L6 | 1000 | **`(1085, 700, 130, 90)`** | +85 | 4 | 是 → 秘宝匣 |
|
||||
|
||||
配套约束(2026-10-22 更新):顶栏 HUD 保留带 = **`y ≤ 48`**(§9 ⑤⑦:一行量、浮层覆盖),八矩形全部落在其下方;中景围栏横贯约 `y ≈ 500`(画在背景层);**八个命中矩形两两不相交**(已逐对校验;y 方向分离的有:大门/篝火、布告板/床铺、床铺/宝箱);间隙最小的两处 = 笔记本右缘↔床铺左缘 40px、锻炉右缘↔木桩左缘 60px。
|
||||
|
||||
**⚠ 唯一例外件(2026-10-22 作者裁)**:**篝火的「贴图矩形 ≠ 命中矩形」**——整张 `scene_camp_campfire.png` 仍画火堆+火焰,**命中矩形只取下半(火堆),上半=火焰只作特效展示、不可点**(防误点「离开营地」)。这是八个件里唯一两栏不一致的,**实现批坐标表必须用两列表达**(贴图矩形 / 命中矩形),其余七件两栏相同。具体分界数值**等成图后按实际画面切**(现在定死无意义)。火焰动效本次不做(作者令),过渡档=静态一张;将来要动效只需给这一层补帧(分层的收益)。
|
||||
|
||||
### 2.6 分层后,探针与断言怎么验「物件在正确的位置上」
|
||||
|
||||
分三层验,**前两层是机检主力,第三层是兜底**:
|
||||
|
||||
1. **几何断言(零渲染,最便宜)**——七件命中矩形两两不相交;每个矩形不越出 1280×800;不侵入顶栏 HUD 保留带(`y ≤ 48`,§9 ⑤⑦);最小命中尺寸 ≥ 64×64(小件笔记本允许 ≥48×48,并允许命中区大于贴图本身,外扩补齐);**篝火用命中矩形(火堆)判定,不用贴图矩形**。
|
||||
2. **alpha 采样断言(这一条是「位置正确」的可机检近似)**——取每个命中矩形的中心点,断言该点在**对应物件层**上是不透明像素、在**其它六个物件层**上是透明像素。物件贴图摆错位置、坐标表抄错行、z 序写反,这条都会红。
|
||||
3. **可达性断言(功能主力)**——七件逐一合成点击,断言进入对应界面(契约 2,卡④ V2);这一条验的是「点得到」,前两条验的是「图摆对了」。
|
||||
|
||||
**变异验证**(新增断言必须验证过它会红):把某个物件的坐标表改错一行 → 第 2 条断言红;把某物件的命中区删掉 → 第 3 条红。注入 → 见红 → 精确还原 → 记录。
|
||||
|
||||
### 2.7 一句话结论
|
||||
|
||||
**分层,8 张(1 背景 + 7 可点物件 + 床铺承载件共 8 张图),配一份四列坐标表;四态全部走程序化(提亮/位移/幽灵化),零四态素材;风格一致靠拼表制硬压 + 风格参考图 + 后处理统一三道。**
|
||||
|
||||
---
|
||||
|
||||
## 3. 议题 3 · 生成工作流(从空白到样张过审)
|
||||
|
||||
> 「谁做」列:作者 = 用户本人;Agent = 我(脚本/文档);管线 = 远程对话式生图(作者自跑)。
|
||||
|
||||
| 步 | 做什么 | 谁做 | 产出物 | 完成判据 |
|
||||
|---|---|---|---|---|
|
||||
| **S0 布局稿** | 按纵深稿把七件摆到 1280×800 上,出灰块布局图 + 坐标表草案(含顶栏保留带) | Agent 出稿 → **作者裁位置** | `artwork/2026-10-22-营地场景/layout/camp_layout_v1.png` + 坐标表(Markdown 表) | 作者一句「就按这个摆」;七件矩形互不重叠、都在画面内 |
|
||||
| **S1 方向稿** | 开 2–3 个**独立对话**,贴布局稿作参考锚,出**整图构图候选**(背景+七件全画,不分层) | 作者出图 | `.../direction/v1.png v2.png v3.png` | 每张登记**模型名 + 分辨率 + seed + 对话/日期**(缺登记不入遴选);低分辨率快出(如 1024 档),只为定方向 |
|
||||
| **S2 选划方向** | 作者目检三张,选一张并点名要改什么 | **作者** | 选划记录(选了哪张 / 改什么 / 淘汰另两张的理由) | 作者一句裁定 |
|
||||
| **S3 分层出图** | 按定稿构图出:① 背景 1 张(1280×800 幅面)② 物件拼表 1–2 张(七件同图,浅灰 `#F2F2F2` 均匀底,便于抠图);每件 2–3 版候选 | 作者出图 | `.../layers/bg_v1-3.png`、`.../layers/props_v1-3.png` | 同 S1 登记义务;拼表图物件的任何像素不越出自己的区域、无边框无文字 |
|
||||
| **S4 后处理** | 抠底转透明 → 最近邻降采样到统一像素密度 → 色板量化到既有板 → 描边统一 → 按布局尺寸裁成 8 张 | Agent(脚本管线) | `.../layers/out/*.png`(8 张透明 PNG)+ 机检读数 | `palette_check.py <目录> --baseline <基线目录>` 无新增色红灯;`standee_asset_check.py` 单张 32 色、无非整数缩放痕迹、描边亮度达标 |
|
||||
| **S5 合成校验** | 按坐标表把 8 张合到 1280×800,与 S2 选中的方向稿并排;另出**四态演示图**(常态/悬停/按下/禁用四联) | Agent | `.../composite_check.png` + `.../states_preview.png` | 逐件锚点误差 ≤2px;七命中矩形两两不重叠(脚本先跑一遍);四态四联一眼可辨 |
|
||||
| **S6 样张过审** | 作者目检合成图与四态演示 | **作者** | 一句「过/不过 + 改什么」 | 过 = 进 S7;不过 = 回 S3(改提示词重出)或回 S1(方向错了) |
|
||||
| **S7 落盘与挂链** | 终稿拷入 `game/assets/art/scene/`(新子目录,需同步 `asset-path-map` §3);代码侧先加 `UiKit.TEX_CAMP_*` 常量再接线(终稿文件名 = 代码消费名) | 实现批(**本次不做**) | 8 张终稿 + 常量 + 坐标表落码 | 反哺点登记:art-bible §6.2/§7.5/§2.8 改版、camp.md 整体改版、asset-path-map §3 增 `scene/` 子目录 |
|
||||
|
||||
**出图分辨率纪律(像素硬规则)**:源档按**终稿的整数倍**出(建议 2×:背景 2560×1600 → 降采样到 1280×800;物件件按布局尺寸 ×2 出),降采样走最近邻(放大缩小不做平滑插值,保硬像素边)。**禁止非整数倍降采样**——甲类(语义件/环境结构件)严格整数倍。
|
||||
|
||||
**参考物到位后的处置**:作者找到参照物 → 与纵深稿对表;结构性冲突(比如参照的营地根本没有围栏/大门)→ **呈报订正构图,不在批内私改**(卡④ L3 条)。
|
||||
|
||||
---
|
||||
|
||||
## 4. 命名与消费链(先定消费名,防断链)
|
||||
|
||||
命名按 art-bible §8.3:`<域>_<对象键>_<状态|变体>.png`,全小写 snake_case。新增语义子目录 `scene/`(现有仅 board/character/fx/ui)。
|
||||
|
||||
| 消费常量(草案,实现批落 `UiKit`) | 资源路径 | 可点 |
|
||||
|---|---|---|
|
||||
| `TEX_CAMP_BG` | `res://assets/art/scene/scene_camp_bg.png` | 否 |
|
||||
| `TEX_CAMP_GATE` | `res://assets/art/scene/scene_camp_gate.png` | 是 → 冒险 |
|
||||
| `TEX_CAMP_FORGE` | `res://assets/art/scene/scene_camp_forge.png` | 是 → 锻造工坊 |
|
||||
| `TEX_CAMP_CHEST` | `res://assets/art/scene/scene_camp_chest.png` | 是 → 秘宝匣 |
|
||||
| `TEX_CAMP_NOTEBOOK` | `res://assets/art/scene/scene_camp_notebook.png` | 是 → 生涯记录 |
|
||||
| `TEX_CAMP_DUMMY` | `res://assets/art/scene/scene_camp_dummy.png` | 是 → 天赋树 |
|
||||
| `TEX_CAMP_BOARD` | `res://assets/art/scene/scene_camp_board.png` | 是 → 图鉴(占位态) |
|
||||
| `TEX_CAMP_CAMPFIRE` | `res://assets/art/scene/scene_camp_campfire.png` | 是 → 离开营地 |
|
||||
| `TEX_CAMP_BED` | `res://assets/art/scene/scene_camp_bed.png` | 否(承载件) |
|
||||
|
||||
装载一律 `UiKit.load_tex`(素材不入 git,缺位要有回退),**禁 preload**(asset-path-map §2)。
|
||||
|
||||
---
|
||||
|
||||
## 5. 样张验收判据(QA 回头照这张表判)
|
||||
|
||||
| # | 判据 | 怎么判 |
|
||||
|---|---|---|
|
||||
| **Y1 色数** | ①**单张 PNG ≤32 色**(像素域硬闸,不变);②色板按 **§9⑥ 乙口径**:语义/UI token 48 不动,**每屏一套环境子板 ≤32 色、允许跨屏不共享** | `palette_check.py <目录> --baseline <基线目录>` + `standee_asset_check.py`;超了走「换色合并」,**禁加色绕行** |
|
||||
| **Y2 色域** | 吸色全扫 **无 HSV 300°–345°**(禁紫/洋红);主色域 = 烛光黄 `#F6C667` × 木色 `#8A5A34` 暖色相,中等饱和(饱和 ≤0.55) | 脚本吸色统计;建议暖色相像素占比判据由作者定一档 |
|
||||
| **Y3 新色双门** | 新增色仍过两门:① 不占语义色段(红只说危险/金只说收益/蓝只说己方)② 与既有任一色 RGB 三通道差 ≥8/255。**注**:按乙口径,新增的**环境色**归所属屏的环境子板,**不再挤占 48 token 额度** | `palette_check.py` |
|
||||
| **Y4 明度档** | 三档带成立:信息面层(顶栏 HUD/提示名牌)> 世界中层(七物件)> 世界底层(地面/远景),层间灰度可分;**明度序在渲染合成空间(伽马)排档**——按 CIE L* 线性排会把序排反(本项目实测教训) | 截图转灰度抽测 + 作者目检 |
|
||||
| **Y5 像素纪律** | 纹理过滤 Nearest;像素网格对齐、**硬边、无渐变、无抗锯齿**(放大 4× 目检无中间过渡色);无 1px 半透明毛边 | `standee_asset_check.py` + 放大目检 |
|
||||
| **Y6 物件可辨性** | 转灰度后七件剪影**两两可辨**(不混);每件在 1280×800 上最小外接矩形 ≥64×64(笔记本可 ≥40×40,命中区外扩补到 ≥48×48);七件均带亮暖白描边(§5.1 轮廓通道,禁黑描边) | 灰度图目检 + 脚本量外接矩形 |
|
||||
| **Y7 可点区域** | 七命中矩形**两两不相交**;不越出画面;**不侵入顶栏保留带(y ≤ 48)**;最小 64×64;中心点落在对应物件的不透明像素上且**不落在其它六件上**;**篝火按「命中矩形(火堆)」而非贴图矩形判定** | 脚本几何断言(实现批落探针) |
|
||||
| **Y8 对位** | 合成图与 S2 选中方向稿逐件锚点误差 **≤2px**;移走任一物件背景不露洞 | 并排对比 + 脚本差分 |
|
||||
| **Y9 风格一致** | 八张图 1× 像素密度一致(放大后色块大小相同)、描边同色同粗、色域同源 | 八件并排目检(机检不判气质) |
|
||||
| **Y10 文字与结构** | 顶栏/HUD/提示名牌文字对直接底 **≥4.5:1**(大字 ≥3:1);围栏/门柱/石板等结构**必须是画出来的结构件**,禁以渐变/滤镜伪造(§8.5) | 对比度实测 + 放大目检 |
|
||||
|
||||
**不机检、归作者目检的三项**:构图气质(纵深稿味道对不对)、七件一眼找得到(可辨性终审)、四态反馈手感。
|
||||
|
||||
---
|
||||
|
||||
## 6. 待裁清单状态(2026-10-22 更新)
|
||||
|
||||
**已销号**:
|
||||
|
||||
1. ✅ **渠道** = B 插画级新产(§1.2)|卡④ P1 销号
|
||||
2. ✅ **规格口径** = 沿用 `art-bible` §8.1/§8.2 既有裁决,营地不单开例外(§1.2 ⚠ 条)
|
||||
3. ✅ **参照物** = 讨论阶段不需要,S1 开工前由我提醒(§9 ⑧)
|
||||
4. ✅ **门扇形态** = 半开(§9 ①)
|
||||
5. ✅ **篝火命中区** = 只含火堆不含火焰;火焰动效本次不谈(§9 ②)
|
||||
6. ✅ **顶栏** = 一行量、高 48px、浮层覆盖、素材仍 1280×800(§9 ⑤⑦)
|
||||
7. ✅ **S0 布局坐标** = v3 已目检接受(§2.5)——后续改动须显式提出,会连带改对位/命中区断言
|
||||
8. ✅ **色板口径** = 乙 · 分层(§9 ⑥)
|
||||
|
||||
**仍待裁 / 待补**:
|
||||
|
||||
1. ~~顶栏形态~~ ✅ 已定=全宽窄条 48px(§9 ⑦)
|
||||
2. ~~名牌文案七条~~ ✅ 已定(§9 ③)
|
||||
3. ~~门洞远景画不画小路~~ ✅ 已定=画(§9 ①)
|
||||
4. ~~色板加不加新色~~ ✅ 已定=允许加;额度不足时呈报作者压缩(§9 ⑩)
|
||||
5. ~~禁用态给不给~~ ✅ 已定=给,仅锻炉与宝箱,表现=变暗+灰度(§9 ⑨)
|
||||
6. **篝火「命中矩形」的具体数值** —— 规则已定(只取下半),**数值归实现批按成图裁切定**
|
||||
7. **P5 落文**:`camp.md` 与 `art-bible` §6.2/§7.5/§2.8 改版 + **§2 明度禁令的例外条款(因 §9 ⑨)** —— 后续文档批,不在本讨论段动
|
||||
8. ~~**§8 提示词草稿**~~ **已整段删除(2026-10-22 作者令)**:该草稿写于多项裁定之前(门扇写的是闭合、顶部留空按 64),与已定裁定冲突。**生成提示词后续专门讨论时重新起草**,届时按当时已定稿的裁定写。
|
||||
|
||||
---
|
||||
|
||||
## 9. 讨论裁定记录(2026-10-22)
|
||||
|
||||
> **性质**:讨论段决定,尚未落实任何素材与代码。**作者 2026-10-22 令=先写进本文档、暂不提交**,待本轮议题全部结束后统一处置(会话内容不留存,只认文件)。
|
||||
> 已并入上文的:渠道=B(§1)、规格=沿用既有口径(§1.2)、坐标=v3(§2.5)、篝火贴图/命中两分(§2.5 末)。
|
||||
|
||||
| # | 裁定 | 连带影响 / 待办 |
|
||||
|---|---|---|
|
||||
| ① | **门扇=半开** | 与既有结构一致(背景画门柱+门洞、门扇叠在洞上)。**已定(2026-10-22)**:门洞=营地大门的门洞(半开门扇透出处),**画一条通向远处的小路**,暗示「出去即冒险」 |
|
||||
| ② | **篝火命中区只含火堆、不含火焰** | 篝火=唯一「贴图矩形 ≠ 命中矩形」的件,坐标表须两列表表达;**火焰动效本次不谈**(作者令),过渡档=静态一张 |
|
||||
| ③ | **悬停反馈=轮廓亮边 + 浮动 + 名牌**(2026-10-22 作者更正:**不是整体提亮**,是给轮廓加亮边) | 亮边=按物件层 alpha 外扩 1px 派生(零手绘、零新素材);**浮动⚠必须整像素吸附**(每帧 `round()`,否则 Nearest 下边缘抖/糊,须写成验收项),幅度 **±2px、周期约 0.5s**(作者认可);**名牌**=物件**下方 8px 水平居中**(作者认可),字号走 §7.4 tooltip 档 14px、对比 ≥4.5:1、不压物件本体;**文案七条**:开始冒险/锻造工坊/秘宝匣/生涯记录/天赋树/奖励格图鉴/离开营地(取自现役界面名) |
|
||||
| ⑨ | **禁用态=变暗 + 调灰度**(2026-10-22 作者裁) | ⚠ **作者特许破除 `art-bible` §2 明度禁令**(原「不动明度」、§6.2「亮起只走饱和/色相」)与 §7.6 按钮禁用态(α0.45 幽灵化)——**本项须登记为反哺点,由文档批改条款,不私下改规矩**。适用范围:**只有锻炉(锻造工坊)与宝箱(秘宝匣)两件**会进入禁用态(依据 `camp_overlay_view.gd:111`「🔒 锻造工坊未开放」、`:25-31` 两柜台锁定态行);**其余五件恒可点**;布告板(图鉴)是内容冻结未激活,**不是锁定**,不做禁用态 |
|
||||
| ⑩ | **色板:允许新增颜色**(2026-10-22 作者裁) | 过渡档**不再一律压回既有色板**;按 §9⑥ 乙口径加**环境色**(归每屏环境子板)。**额度不够时呈报作者**,由作者决定如何压缩既有色 |
|
||||
| ④ | **篝火「离开营地」必须二次确认** | ⚠ **改判**:推翻卡④ §9-4 既有代拍板(原「默认直回」),须登记为反哺点;实现复用**删档二次确认**的既有形态(澄清⑤裁决 3),零新控件 |
|
||||
|
||||
| ⑤ | **顶部信息只保留「一行的量」;顶栏高度=48px**(2026-10-22 作者裁,重要) | 内容 = 钥石图标 32px(64 源 ×0.5 显示档,asset-path-map §2)+ 余额文字一行(FS_BODY 16);**不加第二行、不放大按钮**。48 = 32 + 上下各 8,8/16 整数倍、图标在条内居中(备选 44=与现役 AP 条同高,未采用)。作废的 64/96/80/72 见本节末留痕 |
|
||||
| ⑥ | **色板=乙 · 分层口径**(2026-10-22 作者裁) | 语义/UI token 48 不动;**新增「每屏环境子板」:每屏一套 ≤32 色、允许跨屏不共享**;单张 PNG ≤32 色这条不变。落实需走文档批改 `art-bible` §4.1 措辞(反哺点) |
|
||||
| ⑦ | **顶栏=浮层覆盖在画面上层,形态=全宽窄条,高 48px,素材仍 1280×800,不挤压、不缩放、不变形**(2026-10-22 作者裁) | v3 坐标零影响(最高物件大门 y=250)。禁区判定:全宽 `y ≤ 48` |
|
||||
| ⑧ | **参照物=讨论阶段不需要**(2026-10-22 作者裁) | 由 Agent 在「开始生成美术素材(S1)」**之前**提醒作者;不是本讨论阶段的阻塞项 |
|
||||
|
||||
**待办**:~~§8 提示词草稿~~ **已整段删除**(2026-10-22 作者令:草稿与已定裁定冲突,后续专门讨论生成时重新起草)。
|
||||
|
||||
**已作废的推导(留痕)**:曾按「占屏高百分比」比照 SNES《超级马里奥世界》(40/224=17.9%)与 Deltarune 幻想主机(16/144=11.1%),推出顶栏 96px——**作者否决**:取样太古老、像素尺度不同、无参考价值。改用近代像素 Roguelike/幸存者 like 后作废该结论(详见上表 ⑤)。
|
||||
|
||||
## 11. 既有条款修订清单(2026-10-22 核定,待文档批执行)
|
||||
|
||||
> 本轮讨论的裁定与 `design/` 既有条款冲突者共 **10 项**。作者令:**逐条定改法 → 随本会话文档一并修改并提交**(走 worktree,不碰主区)。下表逐条过、逐条填。
|
||||
|
||||
| # | 条款 | 改法(作者 2026-10-22 裁) | 状态 |
|
||||
|---|---|---|---|
|
||||
| 1 | `art-bible` §2 头注明度禁令 | **缩窄范围**:删去「状态表达」这个禁止项,只保留「情绪表达」;**不设例外条款** | ✅ 措辞已定,见下 |
|
||||
| 2 | `art-bible` §2.8 菜单与元进度 | **删旧写新**:「营地三柜台一字排开」整句换成七物件可点场景图 | ✅ 措辞已定,见下 |
|
||||
| 3 | `art-bible` §4.1 色板 | **新增一款**(原文不动):色板分层=语义/UI token 48 + 每屏环境子板 ≤32 | ✅ 措辞已定,见下 |
|
||||
| 4 | `art-bible` §6.2 营地场景 | **整条重写**:七物件场景图 + 分层 + 四态 + 顶栏 | ✅ 措辞已定,见下 |
|
||||
| 5 | `art-bible` §7.5 营地界面 | **整条重写** | ✅ 措辞已定,见下 |
|
||||
| 6 | `art-bible` §7.6(一)禁用态 | **加一句注**:本条管 UI 按钮,场景物件另按 §6.2 | ✅ 措辞已定,见下 |
|
||||
| 7 | `camp.md` | **整份重写**(场景图 + 七物件点选 + 顶栏 + 叠层) | ✅ 措辞已定,见下 |
|
||||
| 8 | `asset-path-map` §3 | **加一行**:新增 `scene/` 子目录 | ✅ 措辞已定,见下 |
|
||||
| 9 | `art-assets-checklist` §3.5(含 :175) | **整条重写**为营地场景图 | ✅ 措辞已定,见下 |
|
||||
| 10 | `art-status-checklist`:32 | 条目名改「营地场景图」,依据改指 §6.2 | ✅ 措辞已定,见下 |
|
||||
| 附 | GDD 侧「柜台」用词 9 处 | **直接更正为新的营地说法**(作者令:不必逐条裁) | ✅ 措辞已定,见下 |
|
||||
|
||||
### 第 1 条 · `art-bible` §2 头注
|
||||
|
||||
**现行**:「`禁令保留`:明度变化仍禁止用于**状态表达与情绪表达**——状态区分只允许**色相、饱和、运动、元素**四手段;roguelike 失败重开,世界无光暗记忆;Darkest Dungeon 式压暗仍在 §9.2 反面清单。」
|
||||
|
||||
**改为**:「`禁令保留(2026-10-22 缩窄至情绪域)`:明度变化禁止用于**情绪表达**——画面不得靠压暗/渐晕阴沉下来;roguelike 失败重开,世界无光暗记忆;Darkest Dungeon 式压暗仍在 §9.2 反面清单。**状态表达不受本禁令约束**:状态可用明度、色相、饱和、运动、元素任一手段承载。」
|
||||
|
||||
(同段其余不动:明度三档带分层、空间纵深/光照氛围/形体塑造允许域、§4.2 类型微光明度梯度一句,全部原样保留。)
|
||||
|
||||
**影响核查**:现有冒烟断言里编码「禁用态 α0.45」的只有 UI 按钮(`smoke_all.gd:6526/6551/6563`,归 §7.6),**没有**任何断言编码「明度禁用于状态」→ 本条改动不牵动现役断言。
|
||||
|
||||
### 第 2 条 · `art-bible` §2.8 菜单与元进度(目标措辞)
|
||||
|
||||
**现行(最后一行)**:`承载元素`:营地三柜台(属性锻造/秘宝匣/奖励格图鉴)在烛光下一字排开——场景构成、柜台亮光与钥石呈现位连同系统语义边界一并见 §6.2
|
||||
|
||||
**改为**:`承载元素`:**一张可点击的营地场景图**——远景天空与远山,中景围栏与半开的营地大门,近景中央的篝火,左侧锻炉铁砧,右侧床铺与宝箱、床边的笔记本,另有木桩与挂在围栏上的布告板;点画面里的物件进入对应界面(冒险/锻造工坊/秘宝匣/生涯记录/天赋树/图鉴/离开营地)。钥石余额常驻画面顶部的一行小 HUD 栏。场景构成、七物件绑定与呈现位见 §6.2
|
||||
|
||||
(本条其余四行——主情绪「可靠的营地感」、色彩性格「全作最暖烛光黄与木色」、氛围形容词、能量 3/10——**全部保留不动**。)
|
||||
|
||||
### 第 3 条 · `art-bible` §4.1 色板(新增一款,原文不动)
|
||||
|
||||
在 §4.1「色板增量纪律」之后**新增**一款(原文全部保留):
|
||||
|
||||
> **色板分层(2026-10-22 作者裁)**:色板分两层管理——① **语义/UI token 板**:全作共享,硬上限 **48 色**,管 UI 语义色、墨色、材质色,跨屏恒定;② **场景环境子板**:**每屏一套,≤32 色,允许跨屏不共享**(环境色=天空、地面、植被、石材、火焰等随场景走的颜色)。新增环境色仍须过两道门(§4.2 语义检查 + 与既有任一色 RGB 三通道差 ≥8/255),但**不占用 48 token 额度**;不过门照旧走「换色合并」,**禁加色绕行**。单张 PNG 的像素域色数上限 **≤32 色**另由 `standee_asset_check` 执法(像素域口径,与本表 token 口径互不干扰)。额度不足时呈报作者,由作者决定压缩或合并既有色。
|
||||
|
||||
### 第 4 条 · `art-bible` §6.2 营地场景(整条重写)
|
||||
|
||||
**现行**:三柜台一字排开 + 柜台=石板圆角容器 + 「亮起只走饱和/色相,不动明度」+ 事实源边界。
|
||||
|
||||
**改为**:
|
||||
|
||||
> ### 6.2 营地场景
|
||||
> - **情绪与色域**:承载 §2.8——全作最暖:烛光黄 `#F6C667` × 木色 `#8A5A34`(§7.2),中等饱和,无棋盘式高对比。
|
||||
> - **场景构成**:一张可点击的营地场景图(1280×800,与工程档同幅面)。远景=天空与远山;中景=木围栏与**半开的营地大门**(门洞内一条通向远处的小路);近景=中央篝火、左侧锻炉铁砧、右侧床铺与宝箱、床边的笔记本,另有木桩与挂在围栏上的布告板。七个可点物件的功能绑定归 `camp.md`,本节只定画法。
|
||||
> - **交付形态**:**背景 1 层 + 七个物件各 1 层**(床铺为承载件、不可点),共 8 张透明 PNG + 一份坐标表(贴图矩形/命中矩形/z 序)。**篝火例外**:命中矩形只取下半(火堆),上半(火焰)只作特效展示。
|
||||
> - **交互四态(零新素材,全部程序化)**:悬停=**轮廓亮边 + 浮动**(浮动须整像素吸附);按下=位移 1px;**禁用/未解锁=降明度 + 去饱和**(§2 已缩窄至情绪域,状态表达不受限),**仅锻炉(锻造工坊)与宝箱(秘宝匣)两件会有此态**;已解锁=常态。
|
||||
> - **钥石余额**:常驻画面顶部的一行小 HUD 栏(高 48px,**浮层覆盖,不挤压画面**)。
|
||||
> - **事实源边界**:解锁条件/价格/存档写入归元进度 GDD 与 `MetaProgression`;素材命名与路径归 `asset-path-map`;清单登记归 `art-assets-checklist` §3.5。
|
||||
|
||||
### 第 5 条 · `art-bible` §7.5 营地界面(整条重写)
|
||||
|
||||
> - 营地界面=**一张可点击的场景图 + 七物件点选**:点画面里的物件进入对应界面(冒险/锻造工坊/秘宝匣/生涯记录/天赋树/图鉴/离开营地)。场景图的画法、分层与四态见 §6.2;色域走 §7.2 最暖一档;钥石余额常驻顶部一行小 HUD 栏。界面视觉终稿以表现层样张过审为前置(§1.4 整屏样张闸)。
|
||||
|
||||
### 第 6 条 · `art-bible` §7.6(一)按钮禁用态(加一句注,原文不动)
|
||||
|
||||
在「禁用 = 本族底 + α0.45 幽灵化(甲案)」条目末**追加**:
|
||||
|
||||
> (注:本条管 **UI 按钮**;营地场景图里的**物件**禁用态另按 §6.2——降明度 + 去饱和,不走 α 幽灵化。)
|
||||
|
||||
### GDD 侧「柜台」用词清理(一并改,共 9 处)
|
||||
|
||||
| 文件:行 | 现行 | 改为 |
|
||||
|---|---|---|
|
||||
| `术语表.md:43` | 秘宝匣|营地**柜台之一**:… | 秘宝匣|营地**功能界面之一**(场景图里点**宝箱**进入):… |
|
||||
| `术语表.md:56` | 锻造工坊|营地**四柜台之一**:… | 锻造工坊|营地**功能界面之一**(场景图里点**锻炉·铁砧**进入):…(顺带消除 43/56 条"三柜台 vs 四柜台"自相矛盾) |
|
||||
| `02-系统清单.md:82` | camp.md|营地覆盖层 UX spec:**三柜台呈现**、钥石余额… | camp.md|营地 UX spec:**可点击场景图与七物件点选**、钥石余额、各功能界面入口… |
|
||||
| `08-Alpha版本标准.md:106` | 营地(天赋树/锻造工坊/秘宝匣/图鉴)…锻造**柜台**占位面板注已解除;**柜台贴图**占位… | 营地(**场景图** + 天赋树/锻造工坊/秘宝匣/图鉴/生涯)…**场景图与七物件点选**随营地交互重做列入 Alpha… |
|
||||
| `08-Alpha版本标准.md:200` | …**营地柜台贴图**已随营地交互重做列入 Alpha | …**营地场景图**已随营地交互重做列入 Alpha |
|
||||
| `05-不做清单.md:22` | …首批已落地(营地**三柜台**/钥石/跨局注入) | …首批已落地(**营地**/钥石/跨局注入) |
|
||||
| `01-核心循环.md:156` | …`unlock_requires` 字段 + **工坊柜台** + 里程碑分档发槽 | …`unlock_requires` 字段 + **锻造工坊界面** + 里程碑分档发槽 |
|
||||
| `03-内容规模.md:59` | 扩**柜台**或改定价结构走… | 扩**锻造路线**或改定价结构走… |
|
||||
| `ux/level-clear.md:64` | …**营地柜台全量** | …**营地界面全量**(禁入语义不变) |
|
||||
|
||||
(`architecture/code-architecture.json:122` 与 `.html:5273-5284` 的「商品卡·三柜台」是**脚本生成的架构图节点副标签**,随实现批代码变更重生成,不在本次文档批改。)
|
||||
|
||||
### 第 7 条 · `camp.md`(整份重写)
|
||||
|
||||
**现行**:通篇是「四柜台覆盖层 + 石纹全屏底 + 三柜台列 + 底栏关闭钮 + 秘宝匣柜台呈现细则」。整体作废,替换为:
|
||||
|
||||
```markdown
|
||||
# 营地场景 UX spec(camp)
|
||||
|
||||
> 状态:v2.0(2026-10-22 营地交互重做美术设计段;取代旧「四柜台覆盖层」形态)
|
||||
> 事实源:本 spec(呈现)+ [元进度](../systems/跨局循环/元进度.md)(机制)
|
||||
> 美术画法:[art-bible](../art/art-bible.md) §6.2/§7.5;素材命名与路径:[asset-path-map](../art/asset-path-map.md)
|
||||
> 相邻:[level-map.md](level-map.md)(主菜单语境)
|
||||
|
||||
## 定位
|
||||
营地=存档内的局外枢纽(存档语境可达,冒险进行中不可达)。形态=**一张可点击的营地场景图**:画面里有篝火、锻炉、床铺等物件,点物件进对应界面。**不是按钮列表式 UI。**
|
||||
|
||||
## 场景构成与七物件绑定
|
||||
| 物件 | 进入 | 备注 |
|
||||
|---|---|---|
|
||||
| 大门(半开,门洞内一条通向远处的小路) | 冒险 | 点大门永远先出确认:有未完冒险=三出口(继续上一段/开始新冒险/取消);无=是否开始新冒险 |
|
||||
| 锻炉·铁砧 | 锻造工坊 | **未解锁=禁用态**(降明度+去饱和) |
|
||||
| 宝箱 | 秘宝匣 | **未解锁=禁用态**(同上) |
|
||||
| 床铺旁笔记本 | 生涯记录 | 生涯页返回钮文案**禁含「营地」字样**(`ui_struct_probe.gd` nojump 禁词表) |
|
||||
| 木桩 | 天赋树 | |
|
||||
| 布告板 | 奖励格图鉴 | 内容冻结未激活,点进看占位——**不是禁用态** |
|
||||
| 篝火 | 离开营地回主菜单 | **必须二次确认**;命中区只含火堆、不含火焰 |
|
||||
| 床铺 | — | 承载件,**不可点** |
|
||||
|
||||
纵深=远景天空与远山/中景围栏与大门/近景篝火与左右物件(作者纵深稿)。
|
||||
|
||||
## 点选反馈(根态)
|
||||
悬停=**轮廓亮边 + 浮动**(浮动须整像素吸附)+物件**名牌**(物件下方 8px 居中,FS_HINT 14,对比 ≥4.5:1);按下=位移 1px;禁用=降明度+去饱和;已解锁=常态。**四态零新素材**(全部程序化)。
|
||||
命中区:七件两两不相交、不越出画面、**不侵入顶栏禁区(y ≤ 48)**。
|
||||
|
||||
## 顶栏
|
||||
钥石余额常驻画面顶部一行小 HUD 栏(高 48px、全宽窄条、**浮层覆盖在场景图上层,不挤压画面**)。刷新入口=营地刷新单口(卡⑤同口挂接)。
|
||||
|
||||
## 叠层与开合
|
||||
各界面开合走模态栈单口,层序入 `LAYER_CONTRACT`。**承载形态(独立全屏页 vs 单一内页切换)与叠层规则归卡④ §9 代拍板域,本 spec 不预设值**;派生规则:独立全屏页=场景根隐藏/单一内页切换=场景根留底(「缩放虚化」为第三形态,禁批内自选)。ESC 浮窗(返回主菜单/设置/退出游戏)归卡⑤。
|
||||
|
||||
## 口径
|
||||
- 呈现数据源=MetaProgression 只读投影经组合根喂入;本层不持有系统资源、不算价。
|
||||
- 「最近冒险」条带已撤下(卡④ Q4=甲),逐局历史回看归生涯。
|
||||
- 旧「秘宝匣柜台呈现细则」随形态作废;秘宝匣界面内部呈现(解锁面+同调装配段)保留原条款,迁本文件附录暂管,待该界面立独立 spec 后迁出。
|
||||
```
|
||||
|
||||
### 第 8 条 · `asset-path-map` §3(加一行)
|
||||
|
||||
| 子目录 | 内容 | 现役 |
|
||||
|---|---|---|
|
||||
| `scene/` | **场景图**(背景层 + 可点物件层;2026-10-22 新增,营地场景图首批) | `scene_camp_bg`/`_gate`/`_forge`/`_chest`/`_notebook`/`_dummy`/`_board`/`_campfire`/`_bed`(九张,床铺=承载件不可点) |
|
||||
|
||||
### 第 9 条 · `art-assets-checklist` §3.5(整条重写,含 :175 子句)
|
||||
|
||||
> ### 3.5 营地场景图(2026-10-22 重写;原「营地与元进度件·三柜台」条目作废)
|
||||
> - **要什么**:营地场景图 9 张——`scene_camp_bg`(背景)+ `scene_camp_gate / forge / chest / notebook / dummy / board / campfire`(七个可点物件)+ `scene_camp_bed`(承载件)。钥石顶栏图标沿用现役 `icon_keystone`。
|
||||
> - **来源/规格**:**✦ 插画级**(作者自跑远程生图管线);烛光黄 `#F6C667` + 木色 `#8A5A34`(art-bible §6.2);2× 源档出图、最近邻降采样到 1280×800;后处理=抠底/降采样/色板量化/描边统一。**每张出图须登记模型名+分辨率+seed+对话/日期**。
|
||||
> - **排期**:营地交互重做**美术自立批**(不占迭代位;UI 贴图重构批已搁置)。终稿落 `game/assets/art/scene/`,消费常量 `UiKit.TEX_CAMP_*`。
|
||||
|
||||
(`:175` 原句「营地件(3.5)归 UI 贴图重构批」→ 改为「营地场景图(3.5)归营地交互重做美术自立批」。)
|
||||
|
||||
### 第 10 条 · `art-status-checklist`:32
|
||||
|
||||
`| 营地与元进度件 | ◐ | art-bible §4.4 |` → `| 营地场景图 | ◐ | art-bible §6.2 |`
|
||||
|
||||
---
|
||||
|
||||
## 7. 本次没做的事(边界留痕)
|
||||
|
||||
- 未出图、未跑生图管线、未跑任何测试(测试两入口铁规:本次非迭代 loop、非用户点名)。
|
||||
- 未改 `game/` 任何文件、未写需求卡片、未编迭代号、未改 `design/` 任何文件。
|
||||
- art-bible §6.2/§7.5/§2.8 的旧「三柜台」条款**本次未改**——按卡④ P5,落文归文档批(反哺点清单驱动),改版草案待本次方案定稿后另开文档批。
|
||||
- 旧条「每购得一件永久强化,对应柜台亮起一格暖光」随三柜台形态失效,已列反哺点候选,不在本方案内设计替代形态。
|
||||
Reference in new issue
Block a user