这篇文章记录的是一个人做项目时真实可用的AI 美术管线。目标不是「生成好看的图」,而是让每一张图可复现、可追溯、可商用、可直接入库。项目背景同前文:三国题材 2D 策略游戏,桌面端为主,另有网页试玩分支。
先说结论:AI 出图只占整条管线 30% 的工作量,剩下 70% 在清理、规范化和入库——这部分决定你两周后还能不能维护这些资产。
管线总览
[0 定规范] 风格参考图 + 提示词模板 + 参数记录表
↓
[1 出图] ComfyUI 批量生成(固定种子)→ raw/
↓
[2 清理] 抠图 → 边缘处理 → clean/
↓
[3 切图] 裁切/缩放 → 命名 → 图集打包 → pack/
↓
[4 入库] 导入引擎 → 导入设置 → 登记资产清单 → assets_game/
项目目录结构(示例) assets_src/ # 只做人类可读的源文件,不直接进引擎 refs/ # 风格参考图(3-5 张,锁死画风) workflows/ # ComfyUI 工作流 JSON(每个风格一个) raw/2026-09-27_flux_88213_001.png clean/char_guanyu_portrait_01.png assets_game/ # 引擎实际引用的资产 portraits/ ui/ icons/ fx/ map/ project_manifest.csv # 资产登记表:文件、来源、许可、参数
第 0 步:先定规范,再动手出图
三件「锚」,缺一不可:
- 风格参考图:找 3-5 张风格统一的图(自己画的、买断授权的、或明确可商用的),锁死三件事——视角(平视/俯视)、光照方向、笔触密度。后续所有出图都以它们为比对基准。
- 提示词模板:不要每次自由发挥。用固定句式,把「主体 / 画风 / 光照 / 背景 / 负面词」写成填空模板,保证同一批资产的措辞完全一致。
- 参数记录表:每个风格建立一个表格,记录模型、LoRA 及权重、种子、步数、CFG、采样器、分辨率。原则很简单:任何一张可以入库的图,必须能按表复现。
| 项目 | 示例值 | 说明 |
|---|---|---|
| 模型 | 主模型名 + 版本号 | 写全称,不要写「那个 2.1 版」 |
| LoRA | 名称 + 权重 | 权重变化会显著改变风格,必须记 |
| 种子 | 88213(固定) | 固定种子便于横向对比提示词效果 |
| 分辨率 | 1024×1024 | 出图尺寸与入库尺寸分开记 |
| 步数 / CFG / 采样器 | 25 / 5.0 / euler | 不同采样器出图差异明显 |
| 后期 | 放大算法 + 缩放比例 | 写清是「生成放大」还是「重绘放大」 |
第 1 步:ComfyUI 出图(批量与可复现)
选 ComfyUI 的理由很实际:节点式工作流可以保存成 JSON 文件放进仓库,参数可复现;它是 GPL-3.0 开源项目,GitHub 星标已超过 13 万;官方在 2026 年 6 月推出了 Comfy Desktop 桌面客户端,安装门槛比早期低了很多。
- 出图分辨率策略:统一用 1024 级别出图(如需放大后用放大算法),入库时再按规范缩到目标尺寸。不要指望扩散模型直接生成小尺寸像素图——像素风建议「AI 出概念 → 手工或像素工具重画」。
- 命名规则:raw 目录用
日期_模型_种子_序号.png(如2026-09-27_flux_88213_001.png),种子字段让你日后能一键复现。 - 元数据别只依赖 PNG 内嵌信息:不同工具对 PNG 元数据的支持不一致,稳妥做法是把工作流 JSON + 参数表(CSV)与图片同目录存放。
- 横向对比法:固定种子,只改一个变量(提示词、LoRA 权重、采样器),一次生成 4-8 张拼成一排看差异。这比「凭感觉反复抽卡」高效得多。
- 筛图要趁早:每批只留 10%-20%,其余直接删或移入 discarded,避免 raw 目录膨胀成垃圾场。
第 2 步:抠图与边缘清理
工具选择与许可直接相关,先看这一段:
| 工具 | 许可与商用注意 |
|---|---|
| rembg(开源库) | 本体 MIT 许可;但其内置抠图模型各自许可不同(例如 BRIA 系列为非商用),商业项目发布前逐个核对权重许可 |
| RMBG-2.0(BRIA) | 官方标注非商用(需填表获取权重)。商业项目不要直接用它出正式资产 |
| Krita / GIMP / 图像编辑软件 | 手修环节不可省;自由软件可放心使用 |
清理流程(每张图都走一遍):
- 粗抠:自动抠图先出底,再进编辑软件修。发丝、武器边缘、半透明袖摆这些地方自动工具必翻车,留出时间手修。
- 边缘检查:放大到 400% 巡检一圈。三个高频问题——白底残留的半透明黑边、绿/蓝幕抠图的溢色、背景纹理糊在轮廓上形成的杂色。
- 处理:边缘向内收缩约 1px(防止旧背景渗色)、色相/饱和度微调去溢色、必要时 0.5-1px 羽化。注意:羽化会让「半透明像素」增多,打包与引擎显示时要一致处理。
- 统一预览:把清理后的图放到浅灰、深灰、纯白三种背景上各看一遍——只在一种背景下检查,是边缘问题最常见的漏检原因。
第 3 步:切图与规范
入库前的规范决定后期维护成本。命名建议「小写字母 + 下划线」,包含类型_主体_序号三段:
| 资产类型 | 命名示例 | 说明 |
|---|---|---|
| 角色立绘 | char_guanyu_portrait_01.png |
char_ + 角色 ID + 用途 + 序号 |
| UI 图标 | icon_gold_coin_01.png |
icon_ 前缀,方便批量找图 |
| 界面面板 | ui_panel_main_01.png |
九宫格素材标 _9slice |
| 战斗特效帧 | fx_slash_blue_003.png |
帧号用三位定宽数字,排序不乱 |
| 地图地块 | map_tile_plain_02.png |
地形 + 变体号 |
| 资产类型 | 出图尺寸 | 建议入库尺寸 | 格式 |
|---|---|---|---|
| 角色立绘 | 1024×1024 或更高 | 512×512 / 1024×1024 | PNG-24 带透明 |
| UI 图标 | 512×512 | 64×64 / 128×128 | PNG-24 带透明 |
| 场景背景 | 2048 宽以上 | 1280×720 / 1920×1080 | PNG 或引擎纹理格式 |
| 九宫格面板 | 任意 | 边框区 ≥ 8px | PNG-24 带透明 |
| 特效序列帧 | 按画布定 | 256×256 以内 | PNG-24 带透明 |
要点:
- 透明必须用 PNG-24:PNG-8 索引色会丢失半透明像素,边缘出现锯齿或黑边。
- 色彩统一为 sRGB,导出前剥离 ICC 配置文件,避免引擎里出现偏色。
- 图集打包:同类小图(图标、特效帧)打包成图集减少 Draw Call。规则是 trim 透明边 + 每图留 2-4px padding(防止采样渗色)+ 尺寸取 2 的幂。工具可选免费的 free-tex-packer、付费的 TexturePacker,或直接用引擎自带的图集功能(Godot 有 AtlasTexture,Unity 有 Sprite Atlas)。
- 像素风资产单独一条规则:缩放必须用「最近邻」,任何自动平滑都会毁掉像素感。
第 4 步:导入引擎
- Godot:导入立绘/背景时保持默认线性过滤并开 mipmap;像素风素材把过滤器改为「最近邻」并关闭 mipmap。九宫格用 NinePatchRect,图集用 AtlasTexture。
- Unity:用 Sprite Atlas 管理 2D 资产,Texture 导入设置与图集设置要一致;UI 文本中文字体建议单独生成字形图集,别混在通用图集里。
- 资产登记表(manifest):每张入库资产登记「文件名 / 来源(AI 生成 or 手绘)/ 生成参数索引 / 许可说明 / 版本」。这是你日后被问「这张图哪来的」时唯一的答案,也让 AI 生成的资产天然带披露记录。CSV 一行一条:
file,source,workflow,license,date char_guanyu_portrait_01.png,ai_gen,workflows/portrait_v3.json,model:Qwen-Image-2.1(自定义许可),2026-09-27 ui_panel_main_01.png,manual,kedit/panel_main.kra,原创手绘,2026-09-25
风格统一的六个手段
| 手段 | 做法 | 成本 | 效果 |
|---|---|---|---|
| 固定种子 + 固定参数 | 同风格一批图用同一套参数 | 低 | 中,解决「每次画风漂移」 |
| 提示词模板 | 句式固化,只改主体词 | 低 | 中 |
| 参考图(图生图 / 结构参考) | 用同一组参考图约束构图与色调 | 中 | 高,是风格锚定的主力 |
| LoRA | 用自己筛选的 20-50 张同风格图训练 | 高 | 最高,但注意训练素材的版权与模型许可 |
| 统一后期 | 统一的色彩、描线、颗粒预设过一遍 | 中 | 高,能把不同批次拉到同一水平线 |
| 手工二次绘制 | 把 AI 图当底稿,自己重画关键结构 | 最高 | 最高,也是最终质量保底 |
一条实操经验:风格统一是「减法」。与其到处换模型,不如把一个模型 + 一套参数用到极限,再靠后期统一。
常见坑(每条都踩过)
- AI 图直接当正式素材:手指数量、伪文字(中文基本不可用)、透视与光照不一致、重复纹样。正确做法是把 AI 图当「上色底稿」:结构问题手修,或者用它做 matte painting 的底再重画。中文文字一律在引擎内用真字体渲染,不要出现在图片里。
- 模型与权重的许可问题:不同模型许可差异极大。Qwen-Image-2.1 为开源权重但采用自定义许可;FLUX 系列常被引用为「dev 版非商用、schnell 版 Apache-2.0」——本条本次未逐条核验,以官方模型卡为准。另外:抠图模型(如 RMBG-2.0)官方标注非商用,别用在商业资产里。
- 透明通道与边缘杂色:白底残留的半透明白边、抠图溢色、新旧图预乘 alpha 处理不一致造成的黑边——三种问题的解法都不同,务必在多种背景下检查。
- 分辨率不统一:同一类资产出现 3 种比例,界面必被拉变形。入库前用脚本(或批处理)统一尺寸,别靠肉眼。
- 命名混乱:两周后你会对着 800 张
image (37).png发呆。 - 元数据丢失:不记录工作流 JSON 与参数,就无法复现,也无法向平台/合作方说明资产来源。
- 忽略标识与披露义务:国内《人工智能生成合成内容标识办法》自 2025 年 9 月 1 日起施行,对生成合成内容的标识有明确要求;Steam 平台也要求在内容调查中披露游戏中使用的 AI 生成内容(含宣传素材)。发行前按平台要求逐项核对。
- 先放量、后锁风格:出了几千张才想起来风格不统一,是最大的时间浪费。正确顺序是先锁 10 张「标杆图」,通过后再放量。
可执行清单(照做即可)
- 建好目录结构(assets_src / assets_game / manifest.csv),今天就把 raw 与 clean 分开。
- 选定 3-5 张风格参考图,写进 refs/,并在文件名里标注来源与许可。
- 写死一套提示词模板 + 一张参数记录表,存到项目仓库。
- 用 ComfyUI 固定种子出第一组测试图(10 张),挑出「标杆图」。
- 标杆图确认后,才批量出图(每批 ≤ 50 张,防止抽卡上瘾)。
- 每批结束立刻筛选,淘汰图直接删除,别进 clean/。
- 所有留用图走一遍:抠图 → 边缘检查(3 种背景)→ 修复。
- 按命名规范重命名,统一尺寸与格式(PNG-24、sRGB、去 ICC)。
- 小图打图集(trim + 2-4px padding + 2 的幂),像素图单独处理。
- 导入引擎后,逐张检查过滤模式、压缩设置与 9-slice 边框。
- 在 manifest.csv 登记来源、参数、许可,并保留工作流 JSON 与参数表。
- 发布前逐项核对:平台 AI 披露(Steam 内容调查)、国内标识要求、字体与模型许可。全部通过再上架。
参考资料
- ComfyUI 开源仓库:github.com/Comfy-Org/ComfyUI(GPL-3.0);官方站点与桌面客户端:comfy.org
- rembg:github.com/danielgatis/rembg(MIT);RMBG-2.0 模型卡(非商用说明):huggingface.co/briaai/RMBG-2.0
- 图集打包:free-tex-packer.com(免费)、TexturePacker(付费)
- 像素美术与动画工具:aseprite.org(付费买断)、krita.org(免费开源)
- 生成合成内容标识:《人工智能生成合成内容标识办法》(国家网信办等,2025 年 9 月 1 日施行)cac.gov.cn
- Steam AI 内容披露:Steamworks「AI Content on Steam」、内容调查(Content Survey)
- 可商用中文字体(游戏 UI 常用):思源黑体 Adobe Fonts(OFL)、霞鹜文楷 lxgw/LxgwWenKai(OFL)、得意黑 atelier-anchor/smiley-sans(OFL 1.1)、MiSans hyperos.mi.com/font(免费商用)、阿里巴巴普惠体 alibabafonts.com(永久免费商用)
说明:本文的工具现状、许可信息核对于 2026-09-29;涉及模型权重的商用条款请以官方模型卡与许可原文为准,标注「未逐条核验」的内容请勿直接当作法律依据。
还没有评论