[博客翻译]我用笔式绘图仪和人工智能制作了一本小书


原文地址:https://muffinman.io/blog/the-tiny-book-of-great-joys/


小小书中的大快乐

如果你对我如何利用AI、绘图仪、3D打印机和大量时间,为我的妻子制作一本小小书的过程感兴趣,那么你来对地方了。这本书名为《小小书中的大快乐》(塞尔维亚语为 Mala Knjiga Velikih Radosti),以下是它的最终成果:

《小小书中的大快乐》放在桌子上,稍微打开,展示标题页

我的妻子非常喜欢这本书,所以所有的努力都是值得的。

这篇文章将带你了解整个过程。虽然篇幅较长,但请耐心阅读——我保证会有很多漂亮的图片。

以下是文章的提纲:

灵感来源

这个灵感来自于我在网上看到的类似作品。从那时起,我就一直想为我的妻子制作一本小小的书,里面包含我们一起的回忆、内部笑话和她喜欢的小东西。我希望插图是手绘的,并计划请我的朋友帮忙。但我知道他会拒绝任何报酬,所以我觉得给他增加工作量不太好。于是我把这个想法搁置了,但时不时地,它又会浮现在我的脑海中。

几年后,我们有了孩子,生活完全改变了。我们非常享受这个过程,但也非常疲惫,每天似乎都和前一天一样。因此,我决定为她做点什么,打破这种单调的生活。这本书的想法似乎很完美——既个人化又手工制作,所以我决定尝试一下。

为了能够自己完成所有工作,我决定先制作数字绘图,然后用我信赖的绘图仪在纸上绘制出来。

有了这个想法后,我开始制作绘图——这本身就是一个挑战。

绘图

为了使用绘图仪,我需要矢量文件,所以我开始在Figma中绘图。不幸的是,我很快意识到我的绘图技巧无法达到我预期的效果。这次我下定决心,决定尝试使用AI生成图像。

Midjourney

我订阅了Midjourney并开始使用它。经过多次失败的尝试,我终于找到了如何生成简单且具有强烈手绘感的图像。即便如此,我还是对每一张图像进行了编辑,但稍后再详细说明。

其中一张我满意的图像(虽然最终没有出现在书中):

一只可爱的小狐狸蜷缩着睡觉的黑白绘图

虽然花了很多时间,但很有趣。失败的尝试往往很古怪和有趣,我也在学习如何使用这个工具。而且这让我感觉自己像个秘密特工,在妻子旁边做这些事,而她完全不知道我在做什么。

一堆尝试绘制《塞尔达传说》中林克的图像

提示词

我可能错了,但我认为Midjourney并不是为我心目中的那种插图设计的。我追求的是简单、手绘的插图,感觉更个人化。幸运的是,我找到了一个风格参考(--sref 230156437),它非常适合我的需求。我用它生成了几乎所有最终出现在书中的图像。对于那些没有使用过Midjourney的人来说,你可以使用图像作为风格参考,来影响你生成的图像的风格。

我生成的图像大多使用了那个sref代码,风格权重在150到400之间(范围是0到1000)。

至于提示词,以下是我结合描述和风格参考使用的关键词:

  • 黑白
  • 矢量线稿
  • 风格化简单绘图
  • 纯白背景
  • 孤立在白色背景上
  • 低细节
  • 干净的边缘
  • 草图
  • 粗糙草图
  • 儿童涂色书

每张图像我尝试了10到30次。

从AI到绘图仪

解决了图像生成的问题后,我需要弄清楚如何将它们转换为矢量文件以便绘图。我首先尝试了类似半色调的方法。正如你在下面看到的,在这个过程中,图像完全失去了手绘的感觉。

同一张狐狸绘图,但使用类似半色调的技术绘制,由许多小点组成

然后我想起了我之前为Marble Machine X绘制的这张图,当时我使用了AutoTrace将原始图像转换为矢量文件。AutoTrace的优点是它支持“中心线追踪”。这次我了解到Inkscape有一个很好的AutoTrace插件,这使得转换更加容易。

中心线追踪的不同之处

大多数将光栅图像转换为矢量图像的工具都是通过勾勒形状来实现的。这不适合绘图,因为原始图像中的每条线都会变成类似香肠的形状。而中心线追踪则是试图在形状中间绘制一条单线。如果听起来有点混乱,不用担心,下面的例子会让你更清楚。

这是由Midjourney生成的《塞尔达传说》中的林克图像:

《塞尔达传说》中林克的黑白卡通绘图,手持剑和盾牌

应用常见的矢量化技术后,我们得到了这个。正如你所看到的,原始绘图中的每条线现在都被勾勒出来,形成了这个看起来混乱的图像。

使用常见矢量化技术生成的林克矢量图像,每个区域都被黑色勾勒

但如果我们使用中心线追踪,它突然看起来更像一幅绘图。虽然不完美,但不用担心——我们将在下一步清理它。

使用中心线追踪生成的林克矢量图像,看起来更像一幅真实的绘图

清理

在线条接触或交叉的地方,AutoTrace不确定该跟随哪条线,因此会创建这些奇怪的连接。这里有一个夸张的例子来说明我的意思。输入是顶部的光栅图像,矢量化结果在底部:

线条交叉和接触前后的中心线追踪

但我发现,如果我将这些线条大致分开,结果会好得多。

线条交叉和接触,但在追踪前稍微分开,结果好得多

现在让我们将这个技术应用到我们之前看到的林克图像上。在分开线条(并进行一些清理)后,我得到了这个图像。虽然粗糙,但它只是追踪过程的输入,所以并不重要。这是一个手动且有些繁琐的过程,但我总体上很享受。对我来说,这是一种冥想。

林克的图像,但这次线条稍微分开,细节被移除

最后,当我们追踪这个图像时,我们得到了一个非常干净且适合绘图的矢量文件。

非常干净的林克矢量图像

这是另一个例子。我们从Midjourney生成的图像开始:

一个女人、男人、小女孩和一只狗在森林中行走的黑白绘图

经过编辑、移除细节和分开线条后,我们得到了这个:

同一张家庭在森林中行走的图像,但线条分开,部分重新绘制

追踪后的矢量结果:

家庭在森林中行走的矢量图像

你会注意到,在这两个例子中,我都进行了一些重新绘制(例如,在第二张图像中,我完全重新绘制了狗,让它看起来像我们的狗Zappa)。我对几乎所有图像都进行了这样的处理,以修复我无法通过提示词完善的部分。我还移除了很多细节,以确保图像在小尺寸下清晰可读。

最终图像流程

所有这些都花了很多实验,但它给了我一个非常可靠的工作流程,我用它来生成所有图像。完整的流程如下:

  • 使用Midjourney生成图像。
  • 将它们放大两次,因为放大后的图像更容易编辑,追踪也更精确。
  • 使用Gimp手动清理、重新绘制和分开线条。
  • 使用Inkscape插件运行AutoTrace中心线追踪。

我花了一段时间生成所有图像,而且我试图对妻子保密,这并没有帮助。我想我花了大约两周的时间,主要是在她睡觉后的晚上完成的。

盖侬(《塞尔达传说》系列中林克对抗的主要反派)从未有机会!

在我们继续之前,我想向你展示两张有趣的林克图像,它们真的让我笑了:

Midjourney生成的古怪林克图像

Midjourney,请停止!

文字

绘图完成后,我转向下一个关键部分——文字。我最初想手写所有内容,拍照,然后像处理图像一样进行矢量化。但这很麻烦——我不得不进行大量编辑,以使文字看起来像我的手写体。

我的绘图仪制造商Evil Mad Scientist有一个很棒的工具,叫做Hershey Text。它包含了一堆适合绘图的单线字体。我选择了EMS Elfin字体,因为它看起来有趣且手绘感强。我用它写了书中的所有文字,效果很好。

以下是它的样子:

书的英文和塞尔维亚语标题,使用EMS Elfin字体

绘图仪绘制

装订的棘手之处在于,页面不是按顺序打印的,而是以某种方式排列,当你将纸张对折时,你会得到正确的顺序。我使用Figma设计布局,非常小心地确保双面绘制后页面顺序正确。

以下是A4纸上的布局。抱歉模糊了文字,但其中很多内容非常个人化,我想只保留给我们自己看。

准备绘制的书的布局

绘制是最顺利的部分,但也不是没有小问题。我通常使用Pigma Micron黑色标记笔。它们使用档案级墨水,几乎坚不可摧。但这次,即使是我最细的笔也太粗了,不适合这么小的书。

在这里你可以看到前两次测试绘制(抱歉照片质量不好,我把绘制结果扔掉了,所以这些是我仅有的)分别使用0.2毫米和0.1毫米的笔。线条有点模糊,看起来比我预期的要粗。这也是我意识到需要移除很多细节的时刻(我的一位朋友说,在这些绘制中,林克看起来像得了麻疹),以使它们在这个尺寸下可读。

使用0.2毫米笔的测试绘制 使用0.1毫米笔的测试绘制

我需要找到一支更细的笔。

技术笔来救援

黑色标记笔是作为技术笔的更实用替代品而设计的。但根据我所读到的,老派的技术笔是唯一能实现我想要的超细线条的工具。我在网上订购了Rotring Isogra