5

独立开发者分享:我是如何用AI做美术参加游戏Game Jam的?

 1 year ago
source link: http://www.gamelook.com.cn/2022/11/503216
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

独立开发者分享:我是如何用AI做美术参加游戏Game Jam的?

2022-11-22 • 游戏美术

【GameLook专稿,未经授权不得转载!】

GameLook报道/今年以来,AI作画已经多次引起了业内关注,并且不乏Stability AI这样拿到上亿美元融资的AI“独角兽”。10月份的时候,Gamelook发现已经有开发者开始通过Stable Diffusion进行3D场景创作。

那么,在没有美术师的情况下,使用AI研发一款游戏会是怎样的体验?最近,一位开发者讲述了自己通过Stable Diffusion制作游戏参加game jam的经历。

lazy.png

以下是Gamelook编译的全部内容:

我和我的团队在没有美术师的情况下制作了一款注重精美图形的游戏。

大家好。一周前,我和团队再次参加了Siberian Game Jam,我们决定尝试制作一款游戏,其美术完全由神经网络生成。简单来说,这次体验是成功的(你可以在链接中看到我们的游戏),同时,有很多同行要求我更详细地讲述使用神经网络研发游戏的过程。

所以我告诉你,包括谈论他们适合和不适合的地方。从考试开始,我已经有两个月的时间直接研究他们的能力,希望这对你来说足够了。我将尝试使材料非常有创意。

关于使用的AI品牌

你们可能都已经知道了这些神经网络的名称,但为了以防万一,我这里重述一下:

OpenAI的DALL-E是第一个大规模做神经网络的,很多技术都是在它的基础上进行提升。但由于长期处于半封闭状态,并不是所有人都能轻易访问这个工具,而且它的功能比较少。

Midjourney是最近比较出名的一个,确切的说,它更像是“神经网络当中的macOS”,因为开发人员花费了大量精力来确保其使用尽可能简单、愉快和有效。它的界面简洁,生成的所有结果都可以瞬间以相框形式挂在墙上,目前主要通过 Discord 中的机器人工作。

Stable Diffusion更像是“神经网络世界里的Linux”,这是一种完全开放和可访问的技术,你可以得到开放数据、开放技术的培训,并得到社区等方面的支持。因此字面意义上来说,它每天都有重大更新、完全控制和对用户资格的巨大要求,因此可以修复错误安装的库或由于某种原因上传到 master 分支的错误而回滚到以前的版本。今天我们主要讲的也是它。

如何安装以及需要什么

如果你想在你的电脑上运行 Stable Diffusion,你需要:10GB以上的可用磁盘空间、4GB以上稳定运行内存。其他要求达到中高水准即可,这样你生成图像的速度就是以秒计算,而不是几分钟。

另外,懂英语,至少对git、python和pip有粗浅的了解将是一个很大的优势。

如果没有这些,还可以在云中使用Stable Diffusion,例如在免费的Google Colab(每天最多 6 小时免费使用)或任何其他已经付费的服务(平均每小时2美元)中。

社区现在正在积极开发许多使用神经网络的服务,但最受欢迎和最快上手的是来自用户AUTOMATIC1111 ,所有安装说明都可以在说明中找到。

它能做什么?

如果觉得这只是一个有趣的图像生成软件,那么现在已经不再如此:它的可用功能列表已经有几十种,包括重绘、绘图、应用样式、生成变化、混合图像、生成循环纹理,矢量图和高度图,4种额外训练方式和10种放大方式,还包含了不同架构上20个独立神经网络的所有功能。因此,所有需要以某种方式处理图形的人都可以使用它。

为了说明它的工作原理,我们将图像和特定文本输入到神经网络的输入中,神经网络根据大致与文本相关的关联一步一步地转换图像。使用彩色噪声从零开始生成图像,但可以将任何东西放在那里而不是噪声中。

lazy.png

程序界面,顶部有基本功能的选项卡和用于输入请求的字段,中间有很多设置,底部(脚本)有很多隐藏的非常有用的功能

界面中提供了三个主要功能:txt2img(文本到图像)、img2img(图像到图像)和 inpaint(通过遮罩重绘图像),其他一切功能都是基于这三个的变体。

界面中有很多复选框,但需要了解的最重要的是工具所有功能中使用的三个最基本的参数:

Sample steps(步数):神经网络将处理图像的步数。简而言之,步数越多,图像就越清晰。

CFG Scale(分类器引导的程度):跟随神经网络方向的程度越多,神经网络越会为了匹配文本查询而牺牲图片的内部结构。

去噪强度(消除噪声的程度):生成结果与原始输入图像的差异程度,仅在编辑图像时使用。

在最基本的形式中,这个工具很容易使用:用英文写一个请求,也就是输入你想要生成什么,设置必要的参数,点击“生成”,几乎立即你就会得到结果(PC配置高速度会更快)。

如果这对您来说还不够,我建议您注意详细的函数列表以及它们的具体解释、附加插件和脚本。

不能做什么?

然而,与许多其他工具一样,Stable Diffusion也有许多限制,使用之前最好有所了解。

首先,神经网络不了解现实世界中的任何知识。她不会数数,不了解生物的生物学特性,不了解逻辑和事实基础,它只能模仿她以前见过的东西,对她来说成功的主要指标是屏幕上的颜色比例。

其次,即使该工具有一个输入单词的字段,你也不要觉得神经网络能理解你写给它的单词,它并不明白。阅读这个链接中的信息,你会了解更多重要的事情。需要补充的是,培训数据是通过自动且几乎不受控制的方式从互联网上收集的,因此质量不是很高。

社区仍在试图了解某些词会如何影响生成结果,并找到了相当意外和不可思议的发现。顺便说一句,你可以通过这本指令电子书查到相关的指南,能够看到其他人使用了哪些标签以及用于什么目的。

lazy.png

神经网络不理解上下文的一个非常著名且非常有趣的例子:输入“河中的鲑鱼”得到的结果是一块鲑鱼肉,而不是一条成熟的活鱼,对此你要有准备。

第三,神经网络没有记忆。它不记得5分钟前做了什么,5分钟后也不记得现在在做什么。制作均匀的图像仍然是一项艰巨的任务,尽管已经解决了,但在这个工具中还没有这样的功能。

第四,神经网络的训练是由真正的计算机上的活生生的人来完成的,而神经网络本身仍然是为在普通机器上运行而设计的产品,因此它的权重和训练数据有限。当你发现神经网络不知道有多少东西时,你会感到惊讶。是的,这是通过额外训练来解决的,但这仍然是一个漫长而乏味的过程,与反复试验密切相关,只是刚开始是行不通的。

在这方面,(到目前为止)神经网络肯定无法为你代替一个真正的艺术家。到现在为止,这虽然非常有创意和有趣,但却像是一个外星人,你需要多学习以找到共同语言,并且很难做到自己想做的事。这是有原因的,就像那些真正使用它绘图的人,说这个工具更适合快速草图和一般灵感,而不是作为成熟的工业用途。

lazy.png

但她画了很棒的概念……

如何使用

首先,我们立即决定我们将使用神经网络生成所有艺术作品,因此这给我们带来了一定的类型限制:我们必须制作一款可以使用大量平面艺术图形的游戏。很快我们就找到了类型,那就是点击型任务。神经网络主要用于绘制背景,但也可以用于绘制人物和物体。界面和动画已经都是我们自己完成。

我们首先决定了视觉设计,我们想要一些很棒的东西,但又简单、而且调色板很小。我们通过关键字生成了几个概念艺术,选择了我们最喜欢的一个并从它开始。我们花了很多时间才找到合适的关键词,它们让艺术继续保持高质量和相似性,但并不总是奏效(例如,猫屋的背景显然像一幅水彩画,尽管有大量关键字描述,但最好不要这样做。)下面是我添加到所有图像的指令,除了基本指令。

从表面上看,神经网络似乎完全取代了人类的劳动,但事实并非如此:它需要一个操作员不断地将其引导到正确的方向,这实际上是一项独立的工作,尽管这比自己画艺术要简单得多。有时,我不得不坐在那里几个小时,反复按下“生成”按钮,以获得至少足够符合要求的艺术,而当计算机忙(我的神经网络占用了计算机的大部分资源)时,做其他事情并不是很好。需要注意的是,神经网络不能一次生成多个图像(最多16个图像)。

管道主要是从下面视频学习的。

典型的背景生成算法如下所示:

通过不断选择参数,通过txt2img生成10-30个初始图像。

选择你喜欢的一个,与团队成员一起批准,发送到补丁。

通过不断选择参数,为扩展图像生成10-30个选项,因为我们需要宽背景,我们可以通过 img2img + outpainting在上面移动很长时间(主要使用1792×768和更宽)。

通过不断选择参数,通过inpaint重新绘制图像中所有你不喜欢的东西,同时在图形编辑器中勾勒出这些细节,为神经网络提供必要的指导,究竟需要绘制什么,因为只有一个文本查询是不足够的。对于每个部分,平均要尝试50次。

最后,每个背景至少需要一个小时的单调工作。

lazy.png

房子的初始版本,以测试所需的艺术设计

大部分时间都花在了房子的艺术和猫屋的内部:花了很多时间来找到既符合物理定律又符合彼此的内部和外部艺术。光是画门口就花了半个小时,门洞不希望变成矩形,也不想变成同步透视,同样的时间也花在楼梯上(因为楼梯总是靠在空墙上)。

lazy.png

屋内同样的艺术

通常,您在工作过程中会经常遇到一个有趣的神器:物体只进入图像的一半。这是训练神经网络的一个特点:它是在只有512 * 512大小的图像上训练的,任何不在这个框架中的东西都是在为学习准备数据库的过程中切割的。

另一个非常常见的问题是一些你想要替换的小细节,但你无法向神经网络解释你想要什么:通常在图形编辑器中自己绘制几次比按“生成”几十次更容易,等待神经网络随机计算出来,不要为这种方法感到羞耻。

这同样适用于当您生成多个要替换的图像时,其中一个细节在第一个图像中看起来很好,另一个细节在第二个图像中,将两个选项复制到图形编辑器中并在需要时合并非常方便,它会为你节省很多时间。

我通常很喜欢图像的一般概念,但不喜欢用它来实现:对于这样的实现,生成了相似的图像也有很大帮助。例如,这只猫是根据从互联网上截取的图片重新绘制的,起初我们只是想看看结果如何,但我们非常喜欢它,所以我们决定保留它。关于资源盗用的问题,猫画风完全不一样,表情不一样,衣着也不一样,只是比例和事实用了之前的东西,所以这种做法是很方便的。但这仍然是一个孤立的案例,通常我们会尝试从头开始生成所有内容。

最后,当绘图或多或少准备好时,通过升级神经网络进行图像清理和细节化会比较好,但由于时间不够和麻烦,我们就这样把它们扔进去了,此外,我仍然没有弄清楚哪个升频器更适合在什么情况下和什么设置下使用。

结果,在三天的工作中,在游戏的自由编程时间里,我能够为游戏生成15个背景和5个角色。下面是画廊的例子。

lazy.png

老实说,我不知道如何结束这篇文章,除了复述介绍。因此,我将只向您展示一只在游戏中没有太大用处的可爱的猫。美好的一天,祝你研究顺利!神经网络非常酷。

如若转载,请注明出处:http://www.gamelook.com.cn/2022/11/503216


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK