Files
aetherbound-guild/docs/plans/M69_CHARACTER_STYLE_UNIFICATION.md
T

76 lines
6.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# M69 · 角色形象统一(Q 版柔绘)
> Owner 反馈(2026-09-14):整体 OK,但角色形象不统一;**标题页那对柔和 Q 版角色是认可的基准风格**。
> Owner 指示:人像与底图角色**一起换**。
> 权威:`docs/04_ART_ANIMATION_AUDIO.md` + AGENTS.md 视觉方向 + Originality Boundary(全部原创生成)。
## Player-visible stopping point
所有出现角色的地方使用**同一套柔绘 Q 版形象**:12 个基础职业立绘(花名册/成员详情/队伍线/
委托/市场卡/准备检查/击倒/解雇/开局等),且委托底图不再烤入固定角色(改为显示玩家真实队员)。
## Measured facts (2026-09-14 实测清点)
| 表面 | 角色来源 | 现状 |
| --- | --- | --- |
| 公会大厅 / 队伍线 / 市场 / 风险 / 结算四页 / 花名册 / 成员详情 / 解雇 / 合同返回 / 准备检查 / 开局 | **运行时头像** `InitialCompanyArt.texture_for()` → `assets/entry/recruit_stickers/m52_q_company/q_pf_b01..12.png`(512²,2026-08-13 那批:硬边高饱和动作向) | 与标题页柔绘 Q 版不一致 ✗ |
| 委托选择页底图 `m52_q_contract_background.png` | **底图烤入**两名固定角色(柔绘,但身份固定、与玩家队员无关) | 需去角色化并启用运行时头像(代码里 `ContractCompanyMember_*` 已备好隐藏槽位) |
| 标题页 `m52_q_title_background.png` | 底图烤入一对柔绘 Q 版角色 | **风格基准**(保留) |
| 公会大厅 `m52_q_guild_background.png`、队伍线 `party-line-master.png`、市场 `m52_q_market_world_only.png` | 纯场景(无角色) | 无需改底图 ✓ |
- 职业清单(内容权威 `runtime/content/p9_7_content.gd`):B01 炉卫/Hearthguard(盾,琥珀钢)、
B02 刃契士/Edgehand(刃)、B03 长辐手/Longspoke(长柄)、B04 巡路者/Wayrunner(轻装换位,珊瑚青)、
B05 远弦手/Farstring(弓,蓝金)、B06 裂隙召唤师/Riftcaller(法术)、B07 仁手/Kindhand(治疗,玉金)、
B08 结契师/Bondwright(支援连结)、B09 构装师/Tinker(装置)、B10 咒术师/Hexer(妨害)、
B11 节拍师/Conductor(节奏)、B12 军需官/Quartermaster(补给)。
- 运行时契约:`texture_for(recruit)` 按 `profession_id` 取图 → **一套 12 张、构图/站姿/比例必须一致**;
现有页面按 512² 方图 + 底部对齐使用。
## Ordered steps
1. **M69-A**:**COMPLETE (2026-09-14)**,owner 于 V3(1.8 头身)确认风格。:以标题页角色为唯一风格基准,用图生图(风格参考=标题页角色裁切,
构图参考=旧 `q_pf` 立绘)生成 2 张测试立绘(PF-B01 炉卫、PF-B06 裂隙召唤师)→ 与标题/旧图并排
交 owner 确认风格。**owner 同意前不批量生产。**
2. **M69-B**:**COMPLETE (2026-09-14)**。生产其余 10 张;统一品红底抠图 → 512² 透明 PNG;输出编号接触表
(contact sheet)供 owner 挑选;落 `assets/entry/recruit_stickers/m69_soft_q/`(旧目录保留溯源)。
3. **M69-C**:**COMPLETE (2026-09-14)**。委托底图去角色化(图生图局部重绘,保持构图/光影/色板不变)+ 委托页启用运行时队员头像
(`ContractCompanyMember_*` 可见,落进实测槽位)。
4. **M69-D**:**COMPLETE (2026-09-14)**,attempt `m69-characters` `20260914T082832Z-86243`。`InitialCompanyArt` 切到新目录;严格门(m63/m53/m54/m52/m55/m66/m67/m68)+ 全页面
拼图复跑;owner 目视验收。旧素材保留,不删档。
## Acceptance checks
- 12 张立绘同笔触、同站姿比例、透明底、512²;无文字/水印;无第三方形象特征
- 委托底图无烤入角色;委托页显示玩家真实队员(与队伍线/公会一致)
- 全严格墨迹门维持 0 违规(`scanned` 与当前一致);`ABG_DEV1_ENTRY_TOUCH_OK`/`ABG_DEV2_FULL_FLOW_TOUCH_OK` 不变
- owner 对风格表与全页面拼图目视认可
## Frozen scope
- 不改玩法/经济/内容/Save/路由;不改页面构图、槽位、intents;单尺寸 1280×720 不变。
- 旧素材(`pf_b*`/`q_pf_*`/旧底图)保留在库,不删除、不覆盖,便于溯源对照。
- 生成走本地 `image-gen` 技能(ZexAPI),dry-run 先验参;失败任务不扣费。
## M69 结果(2026-09-14)
- **风格路线**:V1(把旧立绘当构图参考 → 仍偏硬边)→ V2(只喂标题页角色做风格参考 → 柔绘但对
owner 而言"不够 Q")→ **V3(1.8 头身、大头短手脚、布偶感)获 owner 确认**。
- **12 职业立绘**已产出并处理:品红底软抠图 + 去溢色 → 统一缩放(内容高 90%、底部留白 3%,
与旧运行契约一致)→ 512² 透明 PNG → `assets/entry/recruit_stickers/m69_soft_q/q_pf_b01..12.png`。
- **委托底图去角色化**:图生图局部重绘(保留悬浮岛/城堡/白鸟/羊皮纸板/绳索栈道/旗帜灯笼),
新文件 `assets/backgrounds/m69_contract_world.png`;委托页 `ContractCompanyScene` 改为
**整页叠层**,两名真实队员按原画双人站位(页面锚点 0.035/0.17 起,y 0.42–0.95)出现,旧素材保留。
- `InitialCompanyArt` 12 条路径切到新目录(进阶/隐藏职业经 base parent 解析,12 张覆盖全部成员)。
- 源绑定 attempt `m69-characters` `20260914T082832Z-86243`:全部门(m63 22 / m53 2 / m54 2 /
m52 6 / m55 6 / m66 18 / m67 24 / m68 24 扫描,合计 104)0 违规,入口/全流程触摸不变,
10 个 required marker 各恰好 1 次、strict 0。
## Issue register
| ID | 状态 | 内容 |
| --- | --- | --- |
| `M69-I01` | RESOLVED | owner 已确认 V3 风格(2026-09-14) |
| `M69-I02` | RESOLVED | 品红底软抠图 + 去溢色脚本(30/20 阈值羽化)已在 12 张上验证;边缘无紫边 |
| `M69-I03` | RESOLVED | 立绘比例统一:以旧 `q_pf_b01` 的身高占比为基准(页面按底部对齐),批量前后各出一次接触表比对 |
| `M69-I04` | RESOLVED | 委托底图重绘需保持已验收构图(路线/羊皮纸板/机关位置),改后必须过 m54 严格门与人工比对 |