Skip to content

Latest commit

 

History

History
168 lines (122 loc) · 7.04 KB

File metadata and controls

168 lines (122 loc) · 7.04 KB

Codex V2 桌宠完整工作流

1. 需求确认与批准关卡

在生成任何桌宠图片前,必须确认:

  1. 角色的准确名称与作品来源。
  2. 服装的准确版本,包括发饰、领结、袜长、鞋、胸针、机械部件等。
  3. 用户允许使用的参考图;优先使用官方高清全身立绘。
  4. 画风:推荐紧凑大头短身的日系 Q 版全身贴纸风。
  5. 是否存在真实左右属性,例如单侧发饰、胸针、刀鞘、徽章或不对称衣纹。
  6. 11 行动作主题,尤其是悬停、失败、等待、工作和成功。

模型必须先提交动作表让用户批准。用户未批准前,只能讨论方案,不生成正式动作素材。

2. Codex V2 技术合同

项目 固定值
最终图集 1536×2288 px
网格 8 列×11 行
单格 192×208 px
格式 lossless RGBA WebP
spriteVersionNumber 2
推荐脚底基线 y=203–204
行号 状态 有效帧 用途
0 idle 6 个动作帧,加 1 个兼容中立格 无操作待机
1 running-right 8 向右拖动
2 running-left 8 向左拖动
3 waving 4 该桌宠 ID 首次显示
4 jumping 5 鼠标悬停创意动作
5 failed 8 任务失败或错误
6 waiting 6 等待用户输入或确认
7 running 6 Codex 思考/工作
8 review 6 任务成功完成
9 look-row-9 8 前半组方向注视
10 look-row-10 8 后半组方向注视

客户端不读取自定义逐帧时长。悬停、失败、等待、工作与成功应通过重复关键姿势实现视觉减速:

  • 挥手:[起始, 起始, 起始, 挥手]
  • 悬停:[起始, 起始, 展开, 关键动作, 收束]
  • 失败:[起始×4, 失败×2, 恢复×2]
  • 等待:[起始×2或3, 观察, 等待, 收束]
  • 工作:[准备×2, 操作×2, 确认×2]
  • 成功:[准备×2, 庆祝×2, 收束×2]

3. 角色与服装锚点

先根据官方参考绘制一张新的 canonical 角色基准图或三视角模型表。它必须确定:

  • 脸型、瞳色、发型轮廓和发色。
  • 头身比、肩宽、躯干长度和腿长。
  • 精确服装层级、主色、辅色、鞋和标志性配件。
  • 正面、面向左和面向右时不对称细节的位置。
  • 双手是否戴手套、是否持有常驻配件。

后续每条动作提示都引用同一 canonical。官方参考用于核对服装,不用于替代 canonical 的 Q 版比例。

4. 动作设计原则

  • 一个状态只表达一个主动作。
  • 主道具最多一件;道具跨帧颜色、大小和结构一致。
  • 悬停、工作、成功、失败和等待必须一眼可区分。
  • 动作首尾能够自然循环,连续播放三轮不突兀。
  • 角色完整入画,发梢、鞋、手指、道具和特效不裁断。
  • 禁止文字、Logo、水印、完整场景、无关角色和额外肢体。
  • 分离道具不能跨过相邻人物中线。

5. 图片生成

每个状态单独生成一条横向动作条,并明确写出“恰好 N 个完整人物”和逐帧动作。推荐色键:

  • 角色主色不含绿色:#00FF00 或亮青色。
  • 绿色服装角色:平衡洋红,例如 #F000F0。
  • 角色内部存在相近颜色时换色键,不得强行全局删除该颜色。

统一提示骨架:

创建一条横向 Codex 桌宠动作设计条,包含恰好 N 个彼此分离的同一 Q 版全身角色。
角色锁定:[角色、发型、眼睛、精确服装、鞋、单侧配件]。
逐帧动作:[从第 1 帧到第 N 帧逐条写明]。
所有帧保持相同头部宽度、头身比、服装结构、脚底基线和视觉尺寸。
每个人物之间留出明显纯色背景,不重叠、不越过中线、不裁切。
背景为完全均匀的纯色 [HEX],没有阴影、地面、渐变、纹理和反射。
无文字、Logo、水印、额外角色、额外肢体、重复头部和孤立碎片。

跑步必须逐相描述触地、支撑、提膝和腾空。仅写“跑步八帧”容易产生重复姿势、跪地或错误方向。

6. 左右跑步

左右跑步是最容易出错的状态。每一帧都要检查鼻尖、目光、胸口、膝盖和鞋尖方向。

允许镜像的条件:

  • 发型、发饰、徽章、胸针、衣纹和道具完全左右对称。
  • 用户接受镜像后的所有细节。

必须独立绘制的情况:

  • 单侧发饰在一侧可见、另一侧被头部遮挡。
  • 胸针或徽章位于解剖学左/右侧。
  • 刀鞘、包、耳机、机械接口等存在真实左右属性。

无论是否镜像,两侧都应保持同一套八相节拍、人物高度和脚底基线。

7. 去背景与拆帧

推荐顺序:

  1. 读取画布边缘,确认真实色键颜色。
  2. 生成柔边 alpha,并进行 despill 去除色键光边。
  3. 在黑、白、深灰和棋盘背景上检查肤色、浅发色和服装内部是否被误删。
  4. 按横向 alpha 质量寻找人物中心,不要默认人物完全等距。
  5. 用相邻中心中线初步分帧。
  6. 按主体连通域或透明背景曲线修复越界的头发、手臂和道具。
  7. 对同一条动作使用统一人物尺度,放入 192×208 单格并对齐脚底。

色键的软阈值必须兼顾背景与主体。例如自动采样得到红蓝不平衡的洋红时,算法可能把浅肤色误判为红色溢色;应改用红蓝平衡的显式键色,再复查皮肤 alpha。

不得对所有状态粗暴“只保留最大连通域”。纸飞机、彩带、扇子、相机闪光和全息面板可能是合法分离部件。只有跑步等明确没有分离道具的状态可安全保留最大人物主体。

8. 尺度与基线

建议先从待机确定目标主体高度和头发宽度,再逐帧校准其他动作。

  • 同一动作内非跳跃帧主体高度差不超过 2 px。
  • idle 与 hover 的中立人物视觉高度差不超过 2 px。
  • 脚底基线通常统一在 y=203 或 y=204。
  • 抬手、地图、礼花和彩带不应被误当成人物身高导致身体缩小。
  • 不能只检查中位数;必须检查每一帧,避免单个异常帧被统计隐藏。

缩放应保持人物原始宽高比。若为统一头发宽度和人物高度而分别横向、纵向缩放,必须确认不会使脸或身体明显变形。

9. 图集装配

  1. 为 11 个状态准备最终透明帧。
  2. 按行号写入 8×11 空白 RGBA 图集。
  3. 未使用的格保持全透明。
  4. 输出无损 PNG 作为校验母版。
  5. 输出 lossless RGBA WebP 作为安装文件。
  6. 解码 PNG 与 WebP,确认逐像素一致或符合所用编码器的无损定义。
  7. 写入 pet.json。

pet.json 示例见 templates/pet.json.template。

10. 交付层级

开发档案可以包含参考图、提示词、动作原图、透明条、逐帧 PNG、校验报告和历史版本;公开角色仓库不得混入这些文件。

公开 GitHub 角色仓库只保留:

README.md
assets/idle.gif
assets/hover.gif
assets/working.gif
assets/success.gif
<pet-id>/pet.json
<pet-id>/spritesheet.webp

完整制作规范、模板和脚本放在单独的指南仓库中。