侧边栏壁纸
博主头像
火腾

行动起来,活在当下

  • 累计撰写 36 篇文章
  • 累计创建 17 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

AI角色抠完背景,围巾也没了

温馨提示:
本文章权益归属火腾(www.firedance.cn),转载请注明来源于火腾(www.firedance.cn)。

给AI画的小兵去掉背景,背景没了,脖子上的绿色围巾也一起没了。

这次把一个开源工具的抠图模块单独拿出来跑,结果很直观:绿色部分变成了透明区域,留下的黑色轮廓还在,围巾像被挖空了一样。

这不是一次意外撞见的产品事故。测试图特意把围巾和背景都设成绿色,目的就是检查:把AI画面整理成游戏素材时,一个看似省事的制作决定,会在哪里增加返工。

本次测试输入的四姿势静态图

视频能切成动画,问题也会一起切进去

最近查到一个叫SpriteKit的开源项目。它从纯色背景视频里提取帧,去掉背景,排列成透明PNG精灵图,处理在浏览器中进行。它和苹果的同名游戏框架不是一回事。

这条路线值得小游戏开发者关注:先生成完整角色的动作视频,再整理成图片序列,便有机会绕过二维分件和骨骼绑定的部分工作。

但SpriteKit作者自己在说明里写得很清楚:源画面里的抖动、像素不一致,它不会替你修好。视频变成精灵图,画面问题仍然跟着走。

所以这次没有先做一整套怪物,也没有购买动作生成套餐,而是先检查最基础的去背景环节。

一条绿围巾,暴露了输入条件

测试使用一张生成的四姿势静态图:蓝色小兵、银色盔甲、绿色围巾,背景指定为RGB(0,227,0)。直接调用SpriteKit原始的chroma-key.js模块,使用其默认抠图设置,包括容差35、二值透明度和溢色抑制。

这里测的是独立抠图算法。没有经过视频压缩、网页上传、完整导出或引擎播放,不能据此给整套工具打分。

处理后的图,放到浅灰背景上就能看出问题:围巾的绿色区域也被去掉了。

默认设置实际处理结果,置于浅灰底查看

原因并不神秘。按颜色去背景的算法,依据的是像素颜色与目标背景色的关系。它没有先理解“这块是衣服,那块是天空”。主体和背景颜色接近,就可能一起被处理。

我又把容差从35降到10。对这张特意设计的同色测试图,仍没有把绿色围巾完整保住。不能把“把容差调小”当作通用修复办法。

再看透明度蒙版,白色表示保留,黑色表示透明。围巾内部的缺口,比在彩色预览里更明显。

默认处理结果的透明度蒙版

这不是说纯色抠图不能用,而是背景色应该和角色一起决定。绿色披风、蓝色头发、半透明火焰,各自都可能影响背景与处理方法的选择。等角色和动作都生成完了再考虑,改动往往会牵动整段素材。

真正该提前写进生成要求的东西

如果要把AI视频变成游戏动作,除了角色长相,至少还要提前交代镜头固定、角色是否原地运动、完整身体不出画,以及背景与主体颜色分离。

例如,镜头缓慢推进在视频里可能很好看,切成帧以后,角色却可能越挥刀越大。身体在视频里向前走,游戏代码又同时移动节点,也需要协调两边的位移。

这些是下一步应检查的情形,本次没有做视频和引擎实验,不能把它们写成已经观察到的故障。

这也解释了为什么“一张立绘变动画”和“得到可用游戏资源”之间,仍有整理工作。生成工具负责让画面动起来,开发者还得检查透明边缘、循环接头、动作切换和实际显示大小。

该不该替代Spine,看你以后怎么改

对固定外观、动作少的小敌人,图片序列值得评估。它的代价是,动作已经变成一帧帧画面,后续抬手、改武器或调姿势,可能需要重生成或重画。

需要频繁换装、替换武器和修改表演的主角,就不能只比较第一次出图速度。骨骼工程的可编辑性,本来也是交付的一部分。

本次测试得出的判断很有限,却能直接改变下一次输入:先让主体与背景颜色分开,再谈批量生成。省下分件和绑定,不代表所有后处理都会自动消失。

如果准备尝试,先拿一个角色、一个动作验证。别等几十只绿披风怪物都画完,才发现去背景时,还得把披风重新找回来。

0

评论区