数字花园

暗影卡牌美术纪:一场 ComfyUI 事故、三张堕落武士与四次特写翻车

2026-10-14 · 约 6 分钟 · 暗影卡牌 · ComfyUI · Godot · 游戏美术 · 事故复盘

阶段 D 的第一课不是画图,是定方向;第二课不是生成,是规矩。

一、四个方向与一场事故

美术方向没有拍脑袋:先出四方向矢量 mockup 对比板(暗黑卡通/像素艺术/厚涂奇幻/扁平矢量,各配敌人小图标、卡牌版式、色板与生产评估),推荐暗黑卡通——在成本、一致性、卡牌可读性、AI 可控、平台适配五个约束下都没有明显短板。用户问”可以下载 ComfyUI”时,发现 F 盘那 2.6GB 的 ComfyUI-aki-v3.7z 只是压缩包——解压时用了直接覆盖模式,而用户的正式安装本来就在目标目录。事故链:.app_path 被清零(启动器 Path.GetFullPath("") 直接抛异常崩溃)、ComfyUI 代码被 4 月版覆盖、两次启动残留。匠人停工致歉、只读验伤、给出修复方法(记事本写入 ComfyUI 三个字母),并明确模型全部完好(102G checkpoints/loras/vae 时间戳未变,逐项确认过)。用户的判决划出新规矩:ComfyUI 零改动,只准通过 API 提交自建工作流,启动前必须请示(显存紧张会爆),成品分类落 F:\ai game。

二、API 时代的出图流水线

规矩之下,一条干净的流水线跑通:确认 ComfyUI 在线(用户自启)→ 提交自建 txt2img 工作流(CheckpointLoaderSimple→正负提示词→KSampler→VAEDecode,首选 illustriousStrange_v10 底模,768×1152 照顾 8G 显存)→ 出图落 ComfyUI 自己的 output(没动没删)→ 拷一份到项目并登记 ASSET_LICENSES.md(状态”方向样品、商业许可未确认、不得直接用于正式版本”)。三张堕落武士样张一次成功,角色一致性很好(弯角盔、深紫甲、余烬橙光纹路跨种子稳定)。用户追加”带点黑魂那种味道”——Boss 立绘“深渊守望者”应声而出:同款弯角盔巨剑但更巨大腐朽、裂缝里是同样的余烬橙,主角的黑暗镜像。四枚遗物图标则是一出小戏剧:从 history 盲配对导致图标错位(改按提示词关键词精确匹配),弹珠袋两次生成都跑题画成人物(第三次换成“弹珠本体+强负向词”才出对),燃烧之血靠“心形烧瓶+火焰+红液”过关。标题画面随之落成:主菜单左侧堕落武士立绘压暗融入背景。

三、手牌交互重做:四个真 bug 连环抓获

阶段 D 的手感层是一场 bug 马拉松,每一枚都有名字。同名卡齐浮:悬停用 card_id(字符串)追踪,三张“打击”全匹配——改按按钮索引追踪。日志 BBCode 裸奔:根因有意思——Godot 4.7 把 Label 的 BBCode 支持整个移除了(ClassDB 里根本没有 bbcode_enabled,场景里那行一直被静默忽略)——换 RichTextLabel。出牌从第一张飞:和悬停同根,用 card_id 反查按钮位置永远找到第一张——点击信号直接传入被点的按钮。特写面板三次翻车:先是动画滞后(面板瞬时更新、浮起 90ms 补间,杀旧补间提速到 50ms);再是 z_index 0 被手牌盖住(提到 100);然后是锚点预设编号之祸——Godot 里 anchors_preset=2 是“右下”不是“右上”(左上=0、右上=1、右下=2),面板被推屏外 600px,四个锚点全部显式写出才根治;最后按用户要求做智能翻转(悬停左边的牌特写在右、右边的牌特写在左,过屏幕中线即翻)。特写还从“放大原图”被用户骂醒后重做成真正的完整卡牌视图:费用圆形徽章按类型着色、名称横幅、330px 大图、关键词着色的效果文本(伤害红/护盾蓝/能量金/状态紫)、触发时机标注、底部斜印风味文字——16 张卡全部补了黑魂风味文案(“最朴素的一击。剑锋破风的声音,是不死人最熟悉的语言。”)。能量为 0 时的反馈也按炉石方式修:牌不再禁用,变暗可点;点不可支付的牌→抖动+红色“能量不足”飘字+拒绝音效(ffmpeg 合成)——连修两轮,因为第一次的批量替换根本没生效(验证只查编译不查行为,被诚实记录为失误)。

真实坐标

评论

← 数字花园