AI 生成了假透明棋盘格怎么办?游戏素材透明图这样抠

AI 生成了假透明棋盘格怎么办?游戏素材透明图这样抠

文章目录

在游戏制作的过程中,特效、动画、UI 等大量图像素材,都必须是背景透明的,这样才能在视觉系统中进行叠加使用。

AI 加入到游戏制作流程之后,我们也希望 AI 能生成透明素材。

但比较遗憾的是,并非所有 AI 模型都支持生成透明图。甚至当下最顶级的两个图像模型 gpt-image-2Nano Banana 2/Pro,都不支持透明图。

很多时候,我们在提示词里要求 AI 生成透明图,AI 会给出一张带有棋盘格背景的「伪」透明图。

如何解决 AI 生成背景透明图的问题?本文就来说一说。

AI 生图大模型的背景透明支持情况

gpt-image-2(不支持)

这是目前最强的生图模型。但官方文档中,明确说不支持透明:

https://developers.openai.com/api/docs/guides/image-generation gpt-image-2 doesn’t currently support transparent backgrounds. Requests with background: "transparent" aren’t supported for this model.

gpt-image-2 不支持透明

Nano Banana 系列(不支持)

这些模型均不支持生成透明图。官方 API 中也没有关于透明的参数。

  • Gemini 3.1 Flash Image (Nano Banana 2)
  • Gemini 3.1 Flash Lite Image (Nano Banana Lite)
  • Gemini 3 Pro Image (Nano Banana Pro)
  • Gemini 2.5 Flash Image (Nano Banana)

支持生成背景透明图的大模型

以下 OpenAI 系列的模型,支持直接生成透明图。比较遗憾的是,这些都不是目前最新最好的模型。当然,它们也更便宜。

如果只是出电商领域这类要求不高的图,这些模型完全可以胜任。

  • sora-image
  • gpt-4o-image
  • gpt-image-1.5

抠图与 Alpha Matting

可惜我们这群做游戏的,虽然大多数经常没钱,但又总想用更好的。

既然最好的模型生成不了透明图,那就抠它!

实时抠图原理图

来源:https://github.com/plemeri/transparent-background

抠图在日常应用中已经非常成熟了,无论针对图像还是针对视频,甚至是实时视频(视频通话过程中换背景),都有非常成熟的解决方案。

但在抠图的时候,也面临两种选择:主体抠图关键色/纯色抠图

关键色的选择

先说关键色抠图。

我在 从一张图到 SpriteSheet:AI 自动生成 2D 精灵动画实操 一文中提到过,早在电影工业早期,就已经稳定使用关键色进行抠图了:

在实拍摄影棚中,一般使用 #00B140 这个色值,因为纯绿 #00FF00 在强光下容易过曝。但对 AI 生成视频来说不存在灯光问题,所以使用 #00FF00 即可。

类型 标准色值 说明
绿幕(推荐) #00FF00 或 chroma green background 影视行业标准,布景中极少纯绿
蓝幕 #0000FF 或 chroma blue background 传统影视,绿色冲突可用蓝色

不建议使用白幕布(白色背景)或黑幕布。前者容易混淆高光区,后者容易混淆物体的暗部。

昨天也有群友建议用 #FF00FF 这类行业常用的洋红色(Magenta):

关键色的建议

但我仍然建议用绿幕。

为什么要用绿幕

绿幕是电影行业和后期特效最常见的选择,主要由 人类的生理特征数字摄像机硬件底层原理 共同决定。

  1. 与人类肤色的对比度最大(人类肤色中几乎不含绿色)。
  2. 数字传感器对绿色最敏感。拜耳阵列 中红、绿、蓝像素的物理分布比例是 1:2:1。传感器上 50% 的感光点是用来接收绿光的,而红色和蓝色各仅占 25%。因此,摄像机记录下来的绿色通道数据量最大、细节最丰富。在进行复杂的发丝级边缘抠像时,绿幕能提供最平滑、最干净的遮罩。
  3. 绿色的明度非常高,在相同灯光功率下,绿幕比蓝幕要亮。

在计算机视觉领域,虽然不用考虑灯光功率,但必须考虑原因 1:绝大多数情况下,人类总是画面的主角。

还有一个重要的原因:由于绿幕的通用性,许多高级的抠图模型,**是使用绿幕作为训练资源的。**这就导致画面必须是绿幕,才能让这些模型发挥出最好的效果。

关键色抠图的效果

使用关键色抠图,配合 HSV 范围 + 边缘采样 + 高斯模糊 + 绿边 despill 算法,在边缘明确的情况下,已经能做到比较满意的效果了:

关键色抠图效果

即使生成的是「伪」透明的那种棋盘格背景,关键色算法经过适当的调试,也能做到不错的效果。

主体抠图

但对于白色背景这类图,采用关键色就有些力不从心。

以下图为例,由于背景是白色,与白色类似的高光部分也会被抠图算法一并去除,导致漏光。对于发丝之间的镂空,也无法有效处理。

关键色的弊端

这种情况下,就要使用主体抠图算法。对于有明确主体的图像,模型会自动识别主体边缘,进行抠图。

比如下面这张 千手关公 三手苏野,就是采用了主体抠图模式。

我不得不吐槽一下某模型的能力了,这可是我们游戏女主!脸给生变了不说,手的数量也能搞错!

千手关公

为了展现出关公刀上的高亮部位,背景采用的是绿幕而非棋盘格叠底。

半透明边缘抠图

130 元 vs 万元外包:我用 AI 一天做完 18 个游戏动画 这篇文章完成后,群里的网友讨论了关于抠图的半透明支持问题。

对于半透明的支持,尤其是对于高光部分的支持,是使用视频制作动画特效的基础。

半透明支持范例

有了半透明抠图效果的支撑,在逐帧动画中制作出完美的特效,就变成了一个简单的提示词工程:只需要调整好提示词,生成足够稳定的视频,就能批量抠图,得到可用的逐帧动画。

火焰效果

上图中的怪物喷吐火焰的效果,在抠图测试时固化好参数,批量抽帧就能得到合理结果。

批量抽帧

火焰和毒液都能处理,对于发丝这种处理就更简单:

发丝处理

工具列表

虎澈 AI 团队的游戏素材工具内测中,希望试用可联系曾老师。

也可以将下面的工具集成进入自己的工作流或者 Skill 中,为自己的游戏开发提供帮助。