Unity AI绘画接入实战:把生图塞进游戏里跑通全流程

Unity AI绘画接入实战:把生图塞进游戏里跑通全流程
Unity AI绘画接入游戏开发流程,贴图生成与材质导入示意

结果先放这:Unity AI绘画接本地ComfyUI最稳,开8188端口走HTTP请求,一晚能接完;贴图记得改平铺模式和色彩空间,不然导进去必发灰。我在杭州的项目里跑通全流程用了三天,坑都记在这篇里。

给Unity项目接AI绘画这件事,网上教程不少,能直接抄的没有几篇。我的结论:技术上不难,难在生成出来的图要过"游戏资产"这一关。今年9月我在杭州一个独立游戏项目里把这条链路跑通了,从生图到贴图进引擎,全流程最短十几秒。

先说清楚场景:我们要给一个2D横版游戏批量出替换皮肤,每一关一套配色。美术手画一套要两天,AI出底稿加微调,半天搞定。老板听完直接拍板要接。

两条接入路怎么选

Unity接AI生图两条路:本地ComfyUI开API,数据不出机器、免费但吃显卡;云端接口省显卡但按量付费。有6G显存以上显卡选本地。

对比项本地ComfyUI云端生图接口
单张成本电费,约等于零几分到几毛钱一张
速度512图约5秒(4060实测)8到20秒,看排队
数据安全不出本机要上传参考图
门槛要装环境、懂工作流会写HTTP请求就行

我选了本地。原因有两个:一是要批量出图,按量付费算下来一天能烧几十块;二是我们的参考图有未公开的角色设定,走云端不放心。显卡是张4060,8G显存,跑SDXL够用。预算紧的项目先算这笔账再选。

跑通流程的三步

三步接完:ComfyUI开API服务,Unity里用UnityWebRequest发提示词,返回的图片字节流转Texture2D挂上材质。全程不需要额外插件。

第一步,ComfyUI启动时带 --listen 参数,让本机8188端口对外可访问。第二步,Unity写个协程,把提示词JSON POST过去,轮询拿结果。提示词里把风格和配色写死成模板,只留关卡名一个变量,这样十二关的皮肤才不会一套一个画风。第三步,返回的图片是字节流,用LoadImage转成Texture2D,改一下FilterMode,直接贴到Sprite上。

我这边C#核心代码不到八十行。卡了一晚上的不是代码,是轮询逻辑——ComfyUI的任务要按prompt_id查进度,我一开始每帧都查,把本地服务查卡了。改成每秒查一次,顺了。

批量出图的提速也单独说一句。我们一批要出十二关的皮肤,串行出一张5秒、十二张要一分钟。后来在ComfyUI工作流里把批次数设成4,Unity那边再并发两个请求,一批压到15秒左右。显卡显存到8G的时候就别再并发了,再高会爆显存,这是9月实测出来的天花板。

我踩过的三个坑

最大的坑是贴图进Unity发灰:色彩空间要设sRGB;其次是图不平铺、透明通道丢失。三个坑都有现成解法。

第一个坑,贴图发灰。生成本来好好的,导进Unity整体泛灰发闷。折腾了半天才发现是色彩空间的问题:导入设置里Texture Type选了默认,sRGB没勾。勾上立刻正常。就这一个勾,我耗了一晚上。同事在旁边看着都觉得离谱。

第二个坑,图不平铺。我们要做重复背景,AI生成的图左右接缝肉眼可见。解法是出图时就用平铺模式的提示词加无缝采样,再不行就用Unity把边缘做八像素的重叠混合。

第三个坑,透明通道。PNG带透明背景生成了,导进去却是一圈黑边。把导入格式从默认改成RGBA32,黑边消失。这三个坑没一个跟模型有关,全是资产管线的坑。网上教程里几乎没人写这块,都只顾着教你怎么生图。

现在项目里每关的新皮肤,美术从出图到进引擎大概十分钟。回头看Unity AI绘画这条链路,最值得投入的不是生图本身,是那八十行胶水代码和资产导入的规范。管线搭好了,换模型换风格都只是改个提示词的事。同事现在管这套流程叫贴图自动贩卖机,还挺贴切。

常见问题

Unity接AI生图需要联网吗?

本地方案完全离线,ComfyUI和模型都在本机跑。只有用云端接口才需要联网,参考图会上传到对方服务器。

显卡最低要什么配置?

跑SDXL建议6G显存起步,我用的4060(8G)出512分辨率约5秒一张。4G显存可以考虑换小模型或者直接用云端。

生成的贴图能直接商用吗?

要看所用模型的许可协议。商用项目接入前先查模型的开源协议,部分模型禁止商用或要求注明来源,别等上线才发现。