------ Meowcute 项目基于 Qwen-Image-2.1 的实践报告
项目:Meowcute(
pixelforge,本地 AI 游戏素材生成台)项目地址:https://github.com/fs7744/meowcute
日期:2026-10-23
⚠️ 声明:这是一个业余实验项目。本文记录的是个人在业余时间、用一张消费级显卡做的探索,目的是看看"低成本、全离线"能走到哪一步。
它比不上专业的游戏开发工具和先进的 AI 模型 ,样本量小、没有经过生产环境检验。
如果你要做真实的项目,推荐优先使用更好、更专业的工具和模型 (见第 9 节)。
硬件:单卡 RTX 4090 24GB,系统内存约 32GB
关键词:Qwen-Image-2.1 · 指令改图 · 角色四视图 · 原生 RGBA · 低成本 · Wan2.2-TI2V-5B
摘要
本文记录 Meowcute 项目用单张消费级显卡 + 全离线开源模型生成游戏角色四视图(正 / 左 / 背 / 右)的完整做法和实测结论。
核心做法是:正视图由文生图产出,侧 / 背 / 右三张由 Qwen-Image-2.1 以正视图为参考图、按中文指令逐张"原地转身"推导,最后用纯 numpy/PIL 做确定性拼板。
主要结论:
- 能用,而且比上一代本地底座好。 同图同指令对比 Qwen-Image-Edit-2511,Qwen-Image-2.1 更忠实(背包等配件不丢),单次 13~19s(快 6~9 倍),峰值显存 14.7GB(低约 5GB),还能原生输出透明通道,可以省掉抠图。
- 决定质量的是工程而不是模型。 一半以上的质量提升来自三件事:指令写成"几何守恒"条款、参考图预处理、拼板后处理。只换模型、不做这些,结果会丢配件、镜像错位、长出不存在的披风。
- 低成本的天花板很清楚。 适合学习、原型验证、个人练手、像素风小人。不适合正式的游戏生产(原因见第 7 节)。真实项目请优先使用专业的游戏开发工具和先进的 AI 模型。
- 下一步:用 Wan2.2-TI2V-5B 把四视图 / 八方向立绘变成行走视频,再抽成动画序列帧和精灵表。管线代码已经写好,系统化评测是下一阶段的工作。
1. 背景:为什么四视图难
做游戏素材,难点不在"出一张好看的图",而在"同一个角色从四个角度看都是同一个角色"。具体要求是:
| 要求 | 说明 | 违反后的表现 |
|---|---|---|
| 身份一致 | 脸型、耳朵、花纹、体型比例不变 | 转个身变成"长得像的另一个角色" |
| 配件守恒 | 腰刀、背包、单肩包在角色自身的同一侧 | 配件消失、跑到另一条腿、左右各一个 |
| 遮挡正确 | 被身体挡住的就该挡住 | 模型把配件"挪出来给你看" |
| 不凭空添加 | 正面没有的部件,背面也不能有 | 背面长出一件红披风 |
| 画面稳定 | 角色居中、大小一致、底部对齐 | 拼板时四个角色高低不齐 |
忠实度(该动的动、不该动的别动)比好看重要,这是本项目选型时的一票否决标准。
1.1 为什么不让模型"一张图画四个视角"
归档项目实测过:让模型在一张图里同时画正、侧、背,结果基本不可控------角色重叠、数量不对、视角缺失,而且没法裁切。所以本项目改成每张图只画一个角色、一个视角,拼板交给确定性代码。
2. 方法总览
2.1 整体流程
flowchart LR A"角色描述\
(中文,写清配件侧别)" --> B"Qwen-Image-2.1\
文生图" B --> C{"挑选正视图<br/>(可一次抽 n 张)"} C --> D1"指令接力:左视图" C --> D2"指令接力:背视图" C --> D3"指令接力:右视图" D1 & D2 & D3 --> E"后处理\
透明直通 / 抠图修复" C --> E E --> F"确定性拼板\
统一底色 · 水平居中 · 底部基线对齐" F --> G"四视图板 PNG\
(可选 RGBA 透明底)" style B fill:#e8f0fe,stroke:#4a6fd8 style D1 fill:#e8f0fe,stroke:#4a6fd8 style D2 fill:#e8f0fe,stroke:#4a6fd8 style D3 fill:#e8f0fe,stroke:#4a6fd8 style F fill:#e6f4ea,stroke:#3c8c5a
蓝色是模型推理,绿色是纯 numpy/PIL 的确定性步骤(几秒,不需要 GPU)。
关键设计:侧 / 背 / 右三张都以正视图为参考图,而不是"左视图再转成背视图"这样串联。串联会让误差逐级累积。
2.2 一个底座管所有图片
2026-10-23 起,图片侧只保留 Qwen-Image-2.1 一个底座:
flowchart TB subgraph OLD"之前:三套底座并存" Z"Z-Image-Turbo\
文生图" Q"Qwen-Image-Edit-2511\
指令改图" U"u2net / rembg\
抠图" end subgraph NEW"现在:一个底座" Q21"Qwen-Image-2.1\
文生图 + 指令改图 + 原生 RGBA" UB"u2net\
(只在不透明输入时兜底)" end OLD -->|"统一"| NEW
统一的直接原因是静默失效:三套底座并存时,"负面词只在一个底座生效"、"透明声明只在一个底座被识别"这类问题不报错,只表现为"效果不对",反复出现。只剩一个底座之后,这类问题就无处可藏了。
2.3 显存方案:24GB 卡怎么装下 7B 模型
全 BF16 权重约 32GB,24GB 卡放不下,本机 32GB 内存也扛不住一次性加载。做法:
flowchart LR T"transformer\
13.25GB bf16" -->|"逐组件加载<br/>fp8 E4M3 逐通道量化"| T8"fp8 + 落盘缓存\
(二次加载命中 0s)" E"text_encoder\
16.33GB bf16" -->|"torchao fp8<br/>约 9s"| E8"fp8" T8 & E8 & V"VAE" --> P"组装 QwenImage21Pipeline" P --> O"enable_model_cpu_offload\
峰值约 14.8GB,用完即释放"
另外,图片底座和视频底座(Wan)互斥换出,不同时驻留显存。
3. 指令工程:把"转个身"写成可核对的几何约束
这是本项目投入最多、收益也最大的部分。最初的指令只有一句"转成侧面视图,不新增也不删除任何部件",结果问题很多。逐轮修正之后,指令变成 8 段,顺序就是优先级:
flowchart TB S1"① 转到哪\
像原地转身一样整体转 90°,镜头不动" --> S2 S2"② 自身左右锚定\
正视图画面右侧 = 角色左侧;本视角离观众最近的是哪一侧" --> S3 S3"③ 部件清单\
来自用户的角色描述,声明其中的'正面'等视角词作废" --> S4 S4"④ 配件守恒\
单侧配件同侧、同高度、同固定方式,只跟着身体转" --> S5 S5"⑤ 背覆体积守恒\
从肩背垂下的大片部件,背面至少与肩同宽" --> S6 S6"⑥ 遮挡守恒\
该挡就挡,不挪到轮廓外面" --> S7 S7"⑦ 身份锚点\
脸型/耳/花纹/尾巴/比例逐项一致" --> S8 S8"⑧ 外观与姿势不变\
不改走姿、不抬手、不重新构图"
3.1 每一段都是被具体失败逼出来的
| 失败现象(实测) | 根因 | 修法 |
|---|---|---|
| 正面没有披风的角色,转背面长出红披风 | 早期指令把示例角色的造型("红色披风背部完整可见")写死了,对所有角色生效 | 指令里不点名任何具体服装、配件或颜色,只描述视角怎么变 |
| 腰挎的刀转侧面后整把消失、或跑到另一条腿 | 模型按"画面左右"理解位置,而正视图是镜像的 | 写明"正视图画面右侧 = 角色左侧",并说明每个视角能看到哪一侧(第 ② 段) |
| 左视图里刀被收进身体里 | 模型把离观众最近的胳膊当成遮挡物 | 写明"近侧配件在最外层,画在胳膊和腿外面" |
| 背视图披风消失或缩成领口一圈窄边 | 正面只看到一条边,模型默认省略 | 用几何位置 描述(从肩背垂下、盖住后背),给出可验证的事实(至少与肩同宽);写成条件句,不写"披风"这个名词 |
| 背景句不生效 | 指令约 470 字 ≈ 610 token,超出 512 的序列长度后尾部被截断,截断不报错 | 背景要求挪到指令最前面;序列长度取"设置值"和"指令实际长度"的较大者 |
| 调 CFG 没反应 | true_cfg_scale 在没传 negative_prompt 时静默失效(cfg1 与 cfg4 输出 md5 完全相同) |
永远显式传负面词(空串也行) |
3.2 部件清单 A/B 实验
同一张正视图(左腰挎刀),2 个变体 × 3 个种子:
- A:只有通用几何条款
- B:再附上用户原始的角色描述作为"部件清单"
结果:补上"近侧配件在最外层"之后,6 张左视图全部保留刀具,刀柄朝前、刀鞘顺腰线向下、与正视图同侧,没有一张镜像到另一条腿。
3.3 指令救不回来的边界
如果正视图自己就把配件画在身体中线、斜跨在腰带上,三维位置本来就模糊,侧视图仍会把它丢掉(实测 2/2 都丢)。把参考图铺白或铺灰再喂也没用,因为这是画面本身的问题。
解法在上游:正视图的提示词写清侧别("左腰侧挎武士刀"而不是"腰挎武士刀"),出图时配件就会落在腰侧,后续推导才有明确的锚点。
4. 图像条件与后处理
4.1 参考图别先弄坏再让模型照着画
provider 原先把参考图 convert("RGB")(透明区被压成黑色)再 resize((w,h))(被拉伸变形)。等于先把参考图弄坏,再让模型照着画。现在统一走"等比缩放居中 + 按目标底色铺平"。这一条对"像不像"的影响比改文字更大。
4.2 原生透明 vs 抠图
flowchart TB IN"视角图" --> Q{"透明像素占比 > 2%?"} Q -->|"是:Qwen-Image-2.1 原生 RGBA"| PASS"alpha 直通\
不再二次抠图" Q -->|"否:不透明图"| M1"铺 12% 边距\
防踩边的脚被截掉" M1 --> M2"u2net → GrabCut → 颜色键" M2 --> M3"补封闭孔洞(≤8% 画布)" M3 --> M4"补被轮廓围住的区域\
Canny 边当墙,四边 flood fill" M4 --> M5"边缘溢色清洗" PASS & M5 --> OUT"进入拼板"
右边这一长串修复,每一步都对应一个实测 bug:
- 角色的脚踩到画布底边,u2net 把它当成出画部分截掉(背视图白色脚掌只保留 8.6%)。
- 灰猫后脑勺的颜色(#7C7879)和中灰底(#787878)只差 3 个色阶,被判成背景,拼板上变成"只剩黑描边的空心脑袋"。
- 背视图的头和外部背景在 alpha 里连通(不是封闭孔洞),拼板上是"没有脑袋的披风"。
原生透明通道让左边这条短路径成为可能。触发透明需要一段"双段式"声明,只写"透明背景"不够(实测 alpha 恒为 255);加上完整声明后,68.5% 的像素真正透明,四角 α≈1,角色完整无缺损。
4.3 拼板
拼板是纯确定性操作:每张图抠出主体 → 主体水平中心对齐格子中心 → 主体底部对齐共同基线 → 钳位不出画布。缺右视图时自动退化成三视图板,兼容旧项目。
4.4 抽卡要成套
正视图一次生成 n 张时,早期实现每个视角只取 images[0],导致用户挑中的"好那几张"永远进不了四视图。现在每张视角图带 pairIndex 指回源正视图,拼板可以"按第 k 组"一键对齐。配对靠序号,不靠看图猜。
5. 实验结果
所有对比遵守同一条纪律:同一张基准图 + 同一句中文指令 + 同一种子对跑,不看榜单下结论。
5.1 底座选型
| 候选 | 结论 | 关键证据 |
|---|---|---|
| Qwen-Image-Edit-2511 + Lightning 8 步 LoRA | ❌ 证伪 | 同样 8 步,挂 LoRA 比不挂慢 61.8s;胡须消失、双腿糊在一起 |
| Qwen-Image-Edit-2511 只降步数 | ❌ 证伪 | 20 步已丢武士刀和胡须;8 步完全不可用;40 步是画质底线 |
| Bria Fibo 2.0 | ❌ 未测即排除 | 模型卡仅英文、CC BY-NC 禁商用、diffusers 未合并、24GB 放不下 |
| Qwen-Image-2.1 | ✅ 附条件采纳 | 见下表 |
教训:光看"提速 10 倍"的宣传,会以为 Lightning 是白捡的便宜。在本项目的 fp8 + cpu offload 栈上,它既慢又掉画质。推测原因是 peft 包了一层后 offload 钩子认不出 fp8 模块,每步都要把约 20GB 权重重新搬一次 PCIe(机制为推断,现象为实测)。
5.2 Qwen-Image-2.1 vs Qwen-Image-Edit-2511(单张转身)
基准:像素风胡子矮人(朝右,背背包),指令"转向左侧",40 步、true_cfg 4.0、384×512。
| 指标 | Qwen-Image-2.1(fp8) | Qwen-Image-Edit-2511(fp8) |
|---|---|---|
| 朝向改写 | ✅ | ✅ |
| 造型保留 | ✅ 胡子/帽/腰带/背包(三瓶细节都在)/像素风全保留 | ⚠️ 背包整个丢失,网格底变灰底 |
| 原生透明 | ✅ 68.5% 像素真透明 | ❌ 无 alpha,需抠图 |
| 单次耗时 | 12.9~18.6s | 115s |
| 峰值显存 | 14.6~14.8GB | 19.8GB |
5.3 八方向压力测试(单锚点全量旋转)
刻意用比生产更难的口径:只给正面一张锚点,直接转到 45°/90°/135°/180°。
| 方向(旋转量) | Qwen-Image-2.1 | Qwen-Image-Edit-2511 |
|---|---|---|
| 左下(45°) | ✅ 背包 + 三瓶 | ✅ 背包在,偏平 |
| 左(90°) | ❌ 背包丢失 | ❌ 背包丢失 |
| 左上(135°) | ✅ 干净 | ✅ 有噪点 |
| 背(180°) | ✅ 色板最贴锚点 | ✅ 偏糊 |
| 右上(135°) | ✅ 干净 | ✅ 瓶子糊成团 |
| 右(90°) | ✅ 背包保住 | ❌ 背包丢失 |
| 右下(45°) | ✅ 最清晰 | ✅ 偏平 |
| 保住背包 | 6 / 7 | 5 / 7 |
| 耗时 / 显存 | 17~24s / 14.75GB | 119~179s / 19.84GB |
90° 正侧面丢背包是两个模型的共性短板。生产管线里侧视图本来就是 0° 直通的锚点,这个短板被策略性绕开了。
5.4 单套四视图成本估算
| 环节 | 次数 | 单次耗时 | 小计 |
|---|---|---|---|
| 正视图文生图 | 1(抽卡可多张) | 约 15~20s | 约 20s |
| 左 / 背 / 右推导 | 3 | 13~19s | 约 40~60s |
| 拼板(CPU) | 1 | 数秒 | 数秒 |
| 合计 | 约 1~1.5 分钟 / 套 |
边际成本基本只有电费(4090 整机满载约 450~600W,按 1.5 分钟估算约 0.01~0.015 kWh / 套,为估算值)。没有任何 API 调用费,数据不出本机。
6. 优缺点
6.1 优点
| 优点 | 说明 |
|---|---|
| 全离线、零 API 费用 | 数据不出本机,边际成本约等于电费;适合有保密要求的素材 |
| 一张 24GB 消费卡就够 | fp8 + offload 后峰值 14.8GB,还留出余量 |
| 中文指令原生可用 | 整条工具链都是中文,Qwen 系中文理解是强项 |
| 原生透明通道 | 省掉抠图这一最容易"啃掉脚、长出部件"的环节,同时提速、提画质 |
| 快 | 单视角 13~19s,比上一代本地底座快 6~9 倍 |
| 一个底座管所有图片 | 少维护两套权重和参数,消除"只在一个底座生效"的静默失效 |
| 可复现、可审计 | 种子、指令、参数全部落在项目文件里,同条件可重跑 |
| 像素小人效果好 | 黑描边、色块清晰的像素角色,忠实度和稳定性最好 |
6.2 缺点与限制
| 缺点 | 说明 | 能否缓解 |
|---|---|---|
| 90° 正侧面易丢配件 | 背包类后挂配件在正侧面容易消失(两个模型共性) | 部分:侧别写清 + 接力锚点;仍需人工挑选 |
| 正视图有歧义时救不回来 | 配件画在中线时侧视图必丢 | 只能从上游提示词解决 |
| 需要大量指令工程 | 指令约 470 字,8 段条款都是踩坑换来的 | 已沉淀进代码,新角色直接复用 |
| 授权限制 | Qwen Research License:模型本身商用受限,Qwen 声明产出图归用户 | 商用前需法务确认具体场景 |
| 不能省步数 | 40 步是画质底线,蒸馏 LoRA 在本栈上反而更慢更差 | Turbo 版未测 |
| 依赖版本咬得紧 | 要求 diffusers ≥ 0.41、transformers ≥ 5.17 | 固定环境版本 |
| 内存门槛 | 32GB 内存需要组件分批加载才能装下 | 已在 provider 中实现 |
| 验证样本少 | 目前主要是单种子、少数角色(矮人、猫武士) | 待做多种子、多角色回归 |
| 复杂手绘角色不稳 | 细节多、无描边的手绘风格偶发风格漂移 | 多抽几张 + 人工筛选 |
7. 低成本能做到什么程度
按角色类型看:
| 角色类型 | 造型复杂度 | 风格要求 | 低成本方案适用度 |
|---|---|---|---|
| 像素小人(黑描边、色块清晰) | 低 | 宽松 | ✅ 直接可用 |
| Q 版角色(如猫武士) | 中 | 中 | ✅ 可用,偶尔多抽几张 |
| 带单侧配件的角色(腰刀、背包) | 中高 | 中 | ⚠️ 可用,正侧面需人工筛选 |
| 手绘复杂角色 | 高 | 中高 | ⚠️ 可用,需要人工修图 |
| 品牌 IP 主角 | 高 | 严格 | ❌ 建议用先进模型或人工 |
按能力等级看:
| 能力等级 | 低成本方案的现状 |
|---|---|
| L1 单张好看的正视图 | ✅ 稳定 |
| L2 四视图身份一致 | ✅ 像素风 / Q 版基本稳定 |
| L3 单侧配件守恒、遮挡正确 | ⚠️ 指令工程后大部分可用,正侧面仍偶发丢件 |
| L4 透明底直接进引擎 | ✅ 原生 RGBA 成立 |
| L5 八方向一致 | ⚠️ 45° / 135° / 180° 好,90° 有共性短板 |
| L6 可动的动画序列帧 | 🔜 下一阶段(Wan2.2,见第 8 节) |
| L7 大批量免审直接上线 | ❌ 仍需人工挑选与修图 |
一句话:低成本方案能稳定做到 L4,L5 大部分可用,L6 正在验证,L7 做不到。
作为对照,专业的游戏美术流程(美术设定 + 专业 2D/3D 工具 + 骨骼动画工具)和先进的商业 AI 模型,在 L3~L7 上都明显更成熟。本项目的意义在于摸清低成本方案的边界,而不是替代它们。
8. 下一步:Wan2.2-TI2V-5B 生成视频 → 动画序列帧
8.1 为什么用视频模型而不是逐帧改图
逐帧改图时,每一帧都是独立推理,帧与帧之间没有运动连续性,快速动作会抖。视频模型一次生成整段动作,肢体轨迹天然连贯,抽帧后就是现成的循环素材。
8.2 计划中的链路
flowchart LR FV"四视图 / 方向立绘\
(Qwen-Image-2.1)" --> WAN"Wan2.2-TI2V-5B\
图生视频\
81 帧 @ 24fps ≈ 3.4s" WAN --> MS{"运动量检测<br/>动没动?"} MS -->|"太静"| UP"升高 guidance_scale\
+ 步数重试" --> WAN MS -->|"合格"| SEQ"序列帧\
均匀抽 8 帧(首尾都取)\
相邻去重\
抠图修复" SEQ --> MIR"右侧方向\
整段水平镜像" MIR --> SHEET"精灵整图\
+ 元数据 JSON" SHEET --> GD"游戏引擎\
(Godot 等)" style WAN fill:#fff4e5,stroke:#d98a00 style SEQ fill:#e6f4ea,stroke:#3c8c5a style SHEET fill:#e6f4ea,stroke:#3c8c5a
八方向的策略:只真实生成 5 个方向(正、左下、左、左上、背),右侧 3 个用对应左侧方向的整段帧镜像得到,省一半视频时间(视频是整条链路最慢的一步)。注意要镜像整段帧,只镜像首帧的话后续帧会翻回去,播放时"闪一下"。
8.3 预期与已知风险
| 项 | 预期 / 已知 |
|---|---|
| 单段耗时 | 约 60s / 方向(fp8,20~30 步,历史实测) |
| 显存 | 约 10GB 起;与 Qwen-Image-2.1 互斥换出 |
| 授权 | Wan2.2 为 Apache-2.0,商用友好 |
| 风险 1:动作幅度不够 | 已做运动量检测 + 自动提高 guidance 重试 |
| 风险 2:起步/停步帧重复 | 相邻去重(降采样平均像素差阈值) |
| 风险 3:抠图问题回归 | 视频帧不带 alpha,需移植四视图的三项抠图修正;能否换成原生透明待研究 |
| 风险 4:循环不闭合 | 首尾都抽,依赖 Wan 生成的动作本身接近循环,待验证 |
| 风险 5:像素风在视频中被"抹平" | 待测:可能需要对每帧再做 FFT 网格对齐 + 共享色板 |
计划的评测指标:循环是否闭合、帧间身份漂移、配件是否闪烁、单方向耗时、每方向可用帧比例。
9. 建议:真实项目用低成本方案,还是用先进模型?
flowchart TB START("你的需求") --> Q1{"是真实的游戏项目吗?"} Q1 -->|"是:要上线、要交付"| PRO"⭐ 推荐:专业游戏开发工具\
+ 先进的 AI 模型\
+ 专业美术把关" Q1 -->|"否"| Q2{"目的是什么?"} Q2 -->|"学习原理 / 个人练手"| LOW"可以参考本项目\
Qwen-Image-2.1 + Wan2.2" Q2 -->|"快速验证一个点子"| Q3{"有预算用先进模型吗?"} Q3 -->|"有"| PRO Q3 -->|"没有,且数据不能出本机"| LOW style PRO fill:#e8f0fe,stroke:#4a6fd8 style LOW fill:#f1f3f4,stroke:#888
我们的推荐
一句话:真实项目请用更好、更专业的工具和模型。本项目只是业余实验,仅供学习参考。
- 做真实的游戏项目:优先使用专业工具和先进模型。 专业的游戏美术流程、成熟的 2D/3D 与动画工具,以及先进的商业 AI 模型,在角色一致性、动画质量、工作流集成和售后支持上都远比本项目成熟。素材出错的返工成本,通常远高于工具和模型的费用。
- 需要专业美术把关。 无论用什么 AI,正式上线的素材都应该由专业美术审核和修整。本项目连"大批量免审"都做不到,更不能替代美术。
- 本项目适合的场景很有限:学习扩散模型的指令改图原理、个人练手、在没有预算且数据不能出本机时做概念验证。
- 如果你要参考本项目,最值得借鉴的是方法,不是结果。 本项目最大的收获是"同图、同指令、同种子对跑"这条纪律:它证伪了看起来很美的 Lightning 加速,也发现了 CFG 静默失效、序列截断这类不会报错的问题。这条纪律在评估任何专业模型时同样适用。
选型提示:先进模型的版本、价格、授权条款各不相同,请按自己项目的约束,用同一套基准图对跑后再决定,不要只看榜单或宣传。
10. 复现
项目源码:https://github.com/fs7744/meowcute
10.1 环境
GPU : 单卡 24GB(RTX 4090 实测)
内存 : 32GB(需组件分批加载)
diffusers: >= 0.41(QwenImage21Pipeline)
transformers: >= 5.17
权重 : models/qwen-image-2.1(官方 diffusers 格式约 31GB)
models/wan2.2-ti2v-5b
10.2 关键参数
| 参数 | 值 | 备注 |
|---|---|---|
| 步数 | 40 | 画质底线,不建议降 |
| true_cfg_scale | 4.0 | 必须同时传 negative_prompt,否则静默失效 |
| 负面词 | 地面、接地阴影、两个角色、重复的配件、文字、水印 | 只放"这个视角绝不该出现的东西" |
| 序列长度 | max(设置值, 指令实际长度) | 防止尾部被静默截断 |
| 参考图 | 等比缩放居中 + 按目标底色铺平 | 不要 convert("RGB") + 拉伸 |
10.3 相关脚本
| 文件 | 用途 |
|---|---|
backend/app/pipelines/threeview.py |
四视图指令、抠图修复、拼板 |
backend/app/pipelines/walkvideo.py |
方向立绘推导 + Wan 图生视频 |
backend/app/pipelines/sequence.py |
抽帧、去重、抠图 |
tools/exp_qwen21.py |
Qwen-Image-2.1 三项实测 |
tools/exp_b_cmp_edit2511.py |
同条件对照 Edit-2511 |
tools/exp_b_8dir.py |
八方向一致性压力测试 |
tools/exp_view_prop.py |
部件清单 A/B |
tools/test_view_consistency.py |
单侧配件不丢、不镜像验证 |
tools/test_view_batch.py |
抽卡配对 + 背覆体积守恒 A/B |
tools/test_transparent_fourview.py |
透明四视图验证 |
docs/模型选型调研-2026-10-21.md |
底座选型完整记录 |
附:经验清单(给想自己做的人)
- 一张图只画一个角色、一个视角;拼板交给代码。
- 所有视角都以正视图为参考,不要串联接力。
- 指令只描述"视角怎么变",不点名任何具体服装、配件、颜色。
- 写明"正视图画面右侧 = 角色左侧",模型才能分清左右。
- 正视图提示词就要写清配件侧别("左腰侧挎刀")。
- 想让大部件在背面保留,用几何位置描述,不写名词。
- 关键要求放在指令最前面,长指令的尾部会被静默截断。
- 用 CFG 就必须传负面词,哪怕是空串。
- 参考图要等比缩放、铺好底色,别先把它弄坏。
- 能出原生透明就别抠图;必须抠图时,先铺边距、再补孔洞。
- 抽卡要成套配对,靠序号不靠肉眼。
- 不信宣传和榜单,同图、同指令、同种子对跑后再下结论。
再次声明:本文是业余实验记录,比不上专业的游戏开发工具和先进的 AI 模型。真实项目请优先选择更好、更专业的方案。
项目地址:https://github.com/fs7744/meowcute,欢迎交流与指正。