2D 资源生成:AI 赋能游戏开发 #4

发布于 2023 年 1 月 26 日
在 GitHub 上更新

欢迎来到 AI 赋能游戏开发系列! 在本系列中,我们将使用 AI 工具在短短 5 天内创建一款功能齐全的农场游戏。在本系列结束时,你将学会如何将各种 AI 工具融入到你的游戏开发工作流中。我将向你展示如何使用 AI 工具来处理:

  1. 美术风格
  2. 游戏设计
  3. 3D 资源
  4. 2D 资源
  5. 故事情节

想要看快速视频版吗?你可以在这里观看。如果想了解技术细节,请继续阅读!

注意:本教程适用于熟悉 Unity 开发和 C# 的读者。如果你是这些技术的新手,请在继续之前查看 Unity 初学者系列

第 4 天:2D 资源

在本教程系列的第 3 部分中,我们讨论了文生 3D 技术尚未完全成熟。然而,对于 2D 来说,情况则大不相同。

在这一部分,我们将讨论如何使用 AI 生成 2D 资源。

前言

本教程描述了一种生成 2D 资源的协作流程,其中将 Stable Diffusion 作为工具整合到传统的 2D 工作流中。本教程面向具备一定图像编辑和 2D 资源创建知识的读者,但也可能对初学者和专家同样有所帮助。

要求

  • 你偏好的图像编辑软件,例如 PhotoshopGIMP(免费)。
  • Stable Diffusion。关于设置 Stable Diffusion 的说明,请参考第 1 部分

图生图 (Image2Image)

像 Stable Diffusion 这样的扩散模型通过在文本引导下从噪声中重建图像来工作。图生图 (Image2Image) 使用相同的过程,但以真实图像而非噪声作为输入。这意味着输出在某种程度上会与输入图像相似。

图生图中的一个重要参数是去噪强度 (denoising strength)。它控制模型改变输入的程度。去噪强度为 0 将完全复现输入图像,而为 1 则会生成一个非常不同的图像。另一种理解去噪强度的方式是将其视为创造力。下图展示了以一个圆圈图像作为输入,并使用提示词“月亮”,在不同去噪强度下的图生图效果。

Denoising Strength Example

图生图允许将 Stable Diffusion 用作一个工具,而不是替代传统艺术工作流程。也就是说,你可以将自己手绘的资源传递给图生图,再手动对结果进行迭代,如此反复。让我们以农场游戏为例。

示例:玉米

在本节中,我将逐步介绍如何为农场游戏生成一个玉米图标。首先,我画了一个非常粗糙的玉米图标草图,旨在布局图像的构图。

Corn 1

接下来,我使用图生图并输入以下提示词来生成一些图标:

corn, james gilleard, atey ghailan, pixar concept artists, stardew valley, animal crossing (玉米、詹姆斯·吉勒德、阿泰·盖兰、皮克斯概念艺术家、星露谷物语、动物森友会)

我使用了 0.8 的去噪强度,以鼓励模型更具创造性。在生成几次后,我找到了一个我喜欢的结果。

Corn 2

图像不必完美,只要朝着你想要的方向发展即可,因为我们会继续迭代。就我而言,我喜欢它产生的风格,但觉得茎部有点太复杂了。所以,我在 Photoshop 中做了一些修改。

Corn 3

请注意,我粗略地涂抹了我想要更改的部分,让 Stable Diffusion 来填充细节。我把我修改后的图片重新放回图生图,这次使用了较低的去噪强度 0.6,因为我不想偏离输入太远。这产生了一个我几乎满意的图标。

Corn 4

玉米秆的底部对我来说有点太有绘画感了,而且顶部还长出了一根新芽。所以,我在 Photoshop 中涂抹了这些部分,再用 Stable Diffusion 处理一次,并移除了背景。

Corn 5

瞧,一个可在游戏中使用的玉米图标在不到 10 分钟内就完成了。当然,你也可以花更多时间来获得更好的结果。我推荐观看这个视频,它更详细地演练了如何制作更精细的资源。

示例:镰刀

在很多情况下,你可能需要与 Stable Diffusion “斗争”一番才能得到你想要的结果。对我来说,镰刀图标的情况就是如此,它需要大量的迭代才能达到我想要的方向。

Scythe

问题可能在于,网上关于镰刀作为武器的图片远多于作为农具的图片。一种解决方法是进行提示词工程 (prompt engineering),也就是调整提示词以试图将其推向正确的方向,例如在提示词中写下镰刀, 农用镰刀 (scythe, scythe tool),或在负面提示词中写下武器 (weapon)。然而,这并非唯一的解决方案。

DreamboothTextual InversionLoRA 是用于定制扩散模型的技术,使它们能够产生更符合你特定需求的结果。这些内容超出了本教程的范围,但值得一提,因为它们在 2D 资源生成领域正变得越来越重要。

layer.aiscenario.gg 这样的生成式服务专门针对游戏资源生成,它们很可能使用了 Dreambooth 和 Textual Inversion 等技术,让游戏开发者能够生成风格一致的资源。然而,在新兴的生成式游戏开发工具包中,哪种方法会脱颖而出,还有待观察。

如果你有兴趣深入研究这些高级工作流程,请查看这篇关于 Dreambooth 训练的博文空间 (Space)

点击此处阅读第 5 部分,我们将在其中使用 AI 进行故事情节创作

社区

注册登录 以发表评论