字里乾坤
ZH

专题

彩绘画风:我们如何用AI重绘自己的水墨图

《字里乾坤》现在有了第三种画风「彩绘」:同一座城,建筑看起来像手绘的概念图。它是可选的。字符画出的城仍是游戏的主画风,水墨是第二种。既然用到了图像模型,这里就把它做了什么、没做什么说清楚。

彩绘画风:同一个秦汉都城的市集街区,建筑呈现为彩绘图
彩绘画风:同一个秦汉都城的市集街区,建筑呈现为彩绘图

哪些是我们的,模型做了什么

彩绘里的每一个造型都出自我们之手。每座建筑的起点都是它的水墨图:同样的占地、殿堂、屋顶、围墙和细节,以游戏中三倍的尺寸、每格288像素,画在纯色浅底上。我们称之为骨架。每张骨架都配有一段由同一份数据生成的简短描述:时代、殿堂及其屋顶和墙、院落和细节。

模型只负责重绘。我们用的是开放权重的图像编辑模型Qwen-Image-Edit,以四步快速模式在租用的云端显卡上运行。它从不决定建筑长什么样、立在哪里、有多大,它的活儿是笔触、光线和材质。

流程,一步一步

  1. 骨架:按建筑类型、等级、建造阶段和时代画出的水墨图,纯色背景
  2. 第一遍:骨架旁放一张完成的风格样图,要求只按同样的手法重绘草图,保持造型、占地和视角
  3. 第二遍:在结果上画得更丰富,依然有严格规则:同一座建筑,同样的物件放在同样的位置,不加新屋顶,不加文字
  4. 抠图:从边缘向内去掉纯色背景,并清理边缘颜色,避免浅色光晕
  5. 对齐:把图贴合到骨架的轮廓上,让它正好落在同样的格子里
  6. 筛查:轮廓重合不到70%、图被拉伸或冒出多余文字,就换一个种子重新生成;试三次后保留最好的一张,并写进报告交给人来看
  7. 烘焙:三种尺寸,保证游戏里的图从不被拉伸

只有外观真正变化的地方,建筑才会有本时代专属的图:周的灰瓦、秦的厚重黑顶、汉的朱红。结果是商71张、周47张、秦54张、汉48张、夏2张——夏的茅草屋大多和商共用。

模型做不到的,我们怎么办

城墙、城门、长城、大运河和堤坝要和相邻格子拼接,有16种接法,堤坝有256种。模型守不住一块平铺的格子:它会把墙段画成菱形、加上透视,还在后面画出河流和天空。所以这些部件完全不生成:形状就是水墨图,本来在每个拐角都拼得严丝合缝,彩绘只是叠在上面的一层质感。

农田也不是单独的图,而是彩绘地面的一部分。地面由十二种无缝的彩绘纹理混合而成:草地、草甸、夯土、黏土、岩石、林地、沙地、耕地、土路、铺石路、水面和桥板。树是彩绘图,每种最多五个样子。阴影、夜里亮灯的窗、火焰、天气和行人都来自底下的水墨层,因此和图严丝合缝。

一些数字

  • 总共约330次生成,每次约30秒,包括重试,以及农田和城墙上失败的尝试
  • 显卡时间大约花了六美元
  • 图片约8.5 MB,只在切换到彩绘时才加载,游戏的首次下载不会变大

为什么是可选的

《字里乾坤》是一座用文字画成的城,这一点不会改变。每座建筑都是用字符一笔一笔画出来的;这座城是默认画风,也是我们短片里的样子。彩绘是一次实验,我们觉得够好看,值得拿出来分享:设置 → 画面 → 画风 → 彩绘。和水墨一样,它只改变画面:对局和存档都不变,随时可以切回去。

默认字符画风下的夏朝:田野间沿土路排开的茅草屋,全部由字符画成
默认字符画风下的夏朝:田野间沿土路排开的茅草屋,全部由字符画成

字符图本身的画法见我们如何用文字画出一整座城和从10×5到16×8。首页可以看到动起来的城池。

《字里乾坤》即将登陆Steam,支持Windows、macOS和Linux。欢迎观看游戏短片,在开发历程中了解这一步,并查看游戏中的这一部分;媒体朋友请查看媒体资料包。