如何用 midjourney 生成游戏素材

6,011 阅读6分钟

Midjourney 官网:www.midjourney.com/

使用 Midjourney 需要充值,目前有三个档位:

image

可以先找一张参考图,用 /describe 让 MidJourney 来描述一下图中有什么,然后再用 /imagine 用 MidJourney 从参考图中提取的关键词 + 参考图的URL 来生成新的图片。

一、生成 RPG Maker 的地图

例如我用 MidJourney describe 一下 RPG Maker 的地图,它给出了四种描述:

image

我用它给出的描述与参考图本身的URL作为 prompt 得到新的RPG地图图片。prompt 是指对于想要生成图片的描述,由三个部分组成:

image

第一部分是参考图像(选填),第二部分是想要生成图片的描述(必填),第三部分是参数(选填)。

比如我要基于上方 RPG Maker 的地图生成一张新的 RPG Maker 地图。注意以下三种 prompt 的异同,它们的 Text Prompt 是相同的,参数中也都有 --ar参数(Aspect Ratio 的缩写,代表生成结果的纵横比),但是最左侧的 Prompt 没有填参考图,所以生成的城镇不是 RPG Maker 地图;中间的 prompt 参数中有了参考图,因此生成的结果也都是 RPG Maker 的地图,但是没有使用 --v 5,因此默认使用 midjourney 的第四版进行生成,生成结果不够精致;最右面的图是带有参考图,且使用了 --v 5 参数生成的结果。第五版的 midjourney 会比第四版结果更精致、细节更丰富一些。

image

image

image

二、生成游戏场景插画与CG

使用我之前的游戏作品中的一张CG图,让Midjourney去描述它:

image

把提取出的关键词放在一个 prompt 里,再加上参考图本身,生成一张两个主角接吻的图片,注意 v4 和 v5 生成结果的差别:

image

image

可以发现以上生成的结果不接戏,比如跟输入图片相比,人物的服装变了,场景里的栏杆形状也变了,需要更多描述来限制,比如两个主角一个是灰发,白色西服,蓝色内衬和黑色领结;另一个男主是黑发、白色西服和红色围巾,栏杆的形状是竖状的,把这些描述都写进关键词中,最终生成的结果是:

image

每一次生成会生成4张结果,如果生成的结果都不满意,可以点击刷新按钮生成。对于生成的四张结果,可以选择其中一张图进行上采样(Upscaling)或变形(Variating)操作,微调出最终满意的版本。

三、生成AVG游戏的人物立绘

输入的参考立绘:

image

根据 midjourney 生成的描述进行重新生成:

image

有一点需要注意:Midjourney 是排斥生成血腥、暴力与裸露图片的,一些有性暗示或者裸露场景的关键词是会被 midjourney 拒收的,因此用它是做不了 H Game 的(也许开源的 stable diffusion 可以,这个之后再研究)。对于男性来说,midjourney 能生成的最裸露的图片大概是下面这种:

image

四、生成同一个人物的不同表情

方法一:通过文本信息 + 固定种子的方式生成

Midjourney 没有 LoRa 插件,所以无法定向地控制人物的长相来生成不同的表情。如果想要定向地生成特定长相,应当巧利用训练集 + 固定种子的方式生成。例如可以通过生成20岁平均脸的方式,生成一个初始的角色形象,平均脸意味着生成结果是 Midjourney 训练集的平均水平,是比较容易获得重复结果的脸。我首先让 midjourney 生成一张20岁男性的脸,从中选择一张看着最顺眼的四号面孔:

image

image

接着,我们将生成结果作为参考图,生成一张这张脸笑着时候的表情。找到一张最喜欢的表情,如第二次生成的右上角第二张表情。我们在这次生成结果上回复 ✉️ emoji,可以看到此次生成采用的种子编号。

image

image

image

image

可以看到种子编号是 Seed: 2817439437

接下来我们用同样的种子,同样的参考图,生成其他表情,如 sad、angry,我们都选择右上方的图片进行微调(V2):

image

image

以下是微调后筛选出的同一个人的不同表情:

image

image

image

我们也可以通过脸图生成半身图 -> 回复信封查看种子 -> 用相同的种子为其他表情生成半身像的方式,获得该角色的半身像:

image

image

image

方法二:通过画风图片 + 不同表情的模特图片用相同种子相融合的方式

除了用文字描述,也可以同时使用两张图片作为 prompt 指导 midjourney 进行 /imagine,或直接用 midjourney 的 /blend 参数进行两张图片的融合,比如,找一个模特用相同的角度拍摄不同的表情,然后分别与同一张图片用同样的种子进行融合,这里我自拍了三个表情,建议模特可以好看一些,不然跟画风图片一平均,把游戏人物角色的颜值拉下来了:

img1: 画风图片(同一张)img2:模特图片(不同表情)Result: 融合结果
imageimageimage
imageimageimage
imageimageimage

最后我挑选出的人物角色头像如下所示,还是很像同一个角色的:

image

image

image

除了对表情进行融合,也可以用一张固定的画风风格图片与同一个模特的不同姿势序列帧进行融合,来制作游戏中角色的动作动画。

五、生成图鉴插画

接下来我们尝试《旅行青蛙》里明信片的绘画风格,先让Midjourney描述一下旅行青蛙里的一张明信片截图:

image

我用 Midjourney 总结出的关键词,生成一张新的旅行青蛙风格的明信片,描述的是两只小松鼠在大自然中愉快地玩耍:

image

如果不加参考图是这样的,跟旅行青蛙的风格还是有一点区别:

image

当然,也可以使用现有的成熟艺术风格进行绘制而不采用参考图,比如以下分别是吉卜力工作室风格和新海诚风格下绘制的两只小松鼠。midjourney 中prompt中可以识别的艺术风格可以从 www.midlibrary.io/ 进行查阅。

image

image

六、其他小部件

在模拟经营游戏中,使用 2d/3d 8-bit/16-bit/32-bit isometric anime + 建筑种类 来生成自己想要的建筑图块:

image

image

在一款严肃游戏中,用pop art的方式生成剪报插图与女记者头像UI:

image

image

在一款2d养成游戏中生成像素风的家与办公室内景:

image

image

更多生成内容欢迎补充~

下一节姊妹篇,我们将介绍:

如何在 chatGPT 的辅助下写游戏代码,敬请期待。