像素画 · 实测

像素画角色生成器:一个主角,四个方向,逐项检查

象牙色底座上立着四个由炭黑色陶瓷方块拼成的小人偶,每个比前一个多转四分之一圈,胸口各有一块琥珀色方块
原创抽象编辑插画,在 Ciyo 中用 GPT Image 2.5 Sunburst 生成。

俯视视角的游戏需要主角的四个朝向:朝你走来、背对你走开、向左和向右。四个视图必须共用同一个尺寸、同一套调色板和同一个像素网格,否则玩家一转身,角色就会晃动变形。AI 图像模型几秒钟就能把四个视图都画出来。问题在于,你拿到的文件到底是不是真正的像素画。

2026年9月29日,我们请 Ciyo Agent(Ciyo 智能体)为虚构的独立游戏 Mossfall 画主角 Wren,并测量了它生成的每一个文件。画本身不错。第一个游戏尺寸的文件却不行,原因是一个大多数 AI 像素画都会掉进去的陷阱。

一条消息:主角、四个方向和规则

把游戏的规则写进第一条消息:网格尺寸、颜色上限、描边、背景和各视图的顺序。智能体猜不到这些,而它们决定了文件能不能直接放进你的引擎。

Ciyo Agent 用 GPT Image 2.5 Flare 做出了这张角色图,花了 1 个额度。交付文件之前,它自己检查了颜色,并写道:“The raw render has about 46,000 colours, so it isn't real pixel art yet.”(原始渲染图约有 46,000 种颜色,所以还不是真正的像素画。)

Ciyo 画布上是一位戴兜帽的游侠的四方向角色图,智能体面板写着原始渲染图约有 46,000 种颜色
画布上的第一张渲染图。智能体发现它约有 46,000 种颜色,开始对齐网格。2026年9月29日。
我们发给 Ciyo Agent 的消息
我在做一款名叫 Mossfall 的俯视视角小型像素画游戏。请为主角 Wren 做一张角色图:一位年轻的游侠,戴苔绿色兜帽、披苔绿色斗篷,背一个棕色皮挎包,留着铜色短发,拿一根木杖。我需要同一个角色在行走时的四个朝向:朝下(面向镜头)、朝上(背面)、朝左和朝右。风格:32x32 像素画,像素清晰硬朗,不要抗锯齿或模糊,最多 16 种颜色,一像素宽的深色描边,纯色平涂的浅灰背景。把四个视图排成一行,间距均匀,大小和高度相同,不要任何文字。

为什么第一张渲染图还不是像素画

这张图看起来像像素画,其实是一幅 1,728 × 576 的“像素画风格的画”。它的“像素”是约 9 × 10 个屏幕像素组成的色块,色块之间是柔和的边缘,整个文件有 45,957 种不同的颜色。游戏引擎需要的恰恰相反:每个美术像素对应一个文件像素,外加一套固定的短调色板。

所以每张 AI 像素画角色图都需要多一步:缩小到它真实的网格,再把颜色减到调色板以内。我们的第一个结果正是在这一步出了错。

陷阱:把整张图硬缩到 32 × 32

智能体裁出每个人物,对齐脚底,把每个都缩到 32 × 32,再把整条图减到 16 种颜色。结果是一条 128 × 32 的长条图,颜色正好 16 种。可它也没有脸了。

我们数了调色板。16 种颜色里有 9 种是背景灰,彼此相差不超过两个色阶。肤色没了,所以脸变成了灰色,眼睛也消失了。这里是两个错误叠在一起:背景和角色争抢调色板名额,而缩小时用的网格是这幅画从来没有用过的。

第一条 32 × 32 长条图的测量结果
检查项要求实际
每帧尺寸32 × 3232 × 32
颜色数最多 1616,但有 9 种是背景灰
肤色保留丢失;脸是灰色的
描边一像素深色有几处断开

对齐到画作自身的网格

我们把发现告诉了智能体,并要求换一种方法:测量这幅画真正使用的网格,对齐到那个网格,并把背景从调色板里去掉。

智能体测得每个美术像素约为 9.2 × 9.95 个屏幕像素,也就是说渲染图里的像素连正方形都不是。它逐个测量了每个人物(宽度从 9.09 到 9.31 px 不等),并报告:“Wren comes out at 32 art pixels tall in every view, 23 to 26 wide.”(Wren 在每个视图里都是 32 个美术像素高,23 到 26 个宽。)换句话说,模型其实画的就是一个 32 像素的主角。第一次对齐只是用错了网格去切它。

我们亲自检查了新的长条图:128 × 32 像素,每个像素要么完全透明、要么完全不透明,16 种颜色全都属于角色,四个人物都正好 32 像素高,脚都落在最底下一行。正面视图有 33 个肤色像素,脸回来了。

同一组四帧兜帽游侠放大后的两行:上面一行模糊、脸是灰色,下面一行清晰、脸部分明
上:硬缩到 32 × 32 的长条图。下:对齐到画作自身网格的长条图。两者都是 Ciyo Agent 生成的文件,由我们放大 10 × 展示。
我们的第二条消息
这条 32x32 长条图把 Wren 的脸弄丢了:16 种颜色里有 9 种是几乎一样的背景灰,肤色一点都不剩,所以脸变成了灰色。请重新对齐。先测量第一张渲染图真正使用的像素尺寸,对齐到那个网格,而不是硬缩到 32x32(告诉我你测到的尺寸)。把背景设为透明,让它不占用调色板名额,16 种颜色全部留给角色,包括皮肤、头发、眼睛和深色描边。另存为一条新的长条图,四帧顺序不变。

导入精灵图之前的五项检查

这五项都可以在图像编辑器里用取色器和缩放完成,也可以让智能体报告结果。要在小文件上检查,而不是在预览图上。

AI 像素画角色图的检查项,以及我们最终的结果
检查项方法我们最终的长条图
真实网格每个美术像素就是一个文件像素是,128 × 32
每个视图高度相同从头到脚数行数四个都是 32
脚落在同一条线上最低的不透明行相同四个都在第 32 行
调色板留给角色背景透明,而不是一种颜色16 种颜色中 16 种属于 Wren
脸和小细节放大到 800%皮肤、眼睛和头发都保留
Ciyo 智能体面板列出新长条图的颜色和文件,旁边是画布上的两张精灵图
智能体对第二次对齐的报告:背景透明,16 种颜色全部给角色,新文件已放到画板上。

或者用代码画角色

还有第二条路。不用图像模型生成再清理文件,而是让代码模型逐像素画出精灵。这样网格和调色板从一开始就是精确的,问题就变成了画得好不好。

两条路适合不同的活。图像模型能很快给你一幅更丰富的画,但需要对齐这一步。代码能给你精确的像素,但需要你或模型在画功上多下功夫。无论走哪条路,都要在需求里定死网格尺寸和调色板。

同一个主角的下一步

有了四个干净的朝向,接下来要做的是行走帧、一套贯穿整个游戏的调色板,以及在玩家实际看到的尺寸下检查一遍。

Ciyo 里的 Mossfall 画板,原始角色图、第一条长条图和第二条长条图并排放着
每个版本都留在画板上,导出之前可以逐一对比。

AI 像素画角色

AI 能做 32 × 32 的像素画角色吗?

它能画出来,但不是一个 32 × 32 的文件。在我们 2026年9月29日的测试中,模型在一张 1,728 × 576、有 45,957 种颜色的图里,画了一个正好 32 个美术像素高的主角。把它对齐到自身的网格和调色板,才能得到真正的 32 像素精灵。

为什么我缩小后的精灵没了脸?

在我们第一次尝试时,背景占了 16 种调色板颜色中的 9 种,缩小时又用错了网格,所以肤色消失了。减色之前先把背景设为透明,并对齐到这幅画真正使用的网格。

左视图应该是右视图的镜像吗?

很多游戏会镜像一侧来省工。我们这张图把两侧分别画了出来。如果角色在一侧带着东西,比如挎包或木杖,镜像会把它换到另一只手上,所以在提需求之前先想好你要哪种。

在 Ciyo 里花了多少钱?

这张图花了 1 个额度。在我们的测试中,两次对齐都在智能体的工作区里运行,没有额外产生图像费用。

在 Ciyo 里画你的主角

描述你的角色和规则,然后让 Ciyo Agent 在同一张画布上把角色图对齐到真正的像素网格。