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

俯视视角的游戏需要主角的四个朝向:朝你走来、背对你走开、向左和向右。四个视图必须共用同一个尺寸、同一套调色板和同一个像素网格,否则玩家一转身,角色就会晃动变形。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 种颜色,所以还不是真正的像素画。)

我在做一款名叫 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 × 32 |
| 颜色数 | 最多 16 | 16,但有 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 个肤色像素,脸回来了。

这条 32x32 长条图把 Wren 的脸弄丢了:16 种颜色里有 9 种是几乎一样的背景灰,肤色一点都不剩,所以脸变成了灰色。请重新对齐。先测量第一张渲染图真正使用的像素尺寸,对齐到那个网格,而不是硬缩到 32x32(告诉我你测到的尺寸)。把背景设为透明,让它不占用调色板名额,16 种颜色全部留给角色,包括皮肤、头发、眼睛和深色描边。另存为一条新的长条图,四帧顺序不变。导入精灵图之前的五项检查
这五项都可以在图像编辑器里用取色器和缩放完成,也可以让智能体报告结果。要在小文件上检查,而不是在预览图上。
| 检查项 | 方法 | 我们最终的长条图 |
|---|---|---|
| 真实网格 | 每个美术像素就是一个文件像素 | 是,128 × 32 |
| 每个视图高度相同 | 从头到脚数行数 | 四个都是 32 |
| 脚落在同一条线上 | 最低的不透明行相同 | 四个都在第 32 行 |
| 调色板留给角色 | 背景透明,而不是一种颜色 | 16 种颜色中 16 种属于 Wren |
| 脸和小细节 | 放大到 800% | 皮肤、眼睛和头发都保留 |

或者用代码画角色
还有第二条路。不用图像模型生成再清理文件,而是让代码模型逐像素画出精灵。这样网格和调色板从一开始就是精确的,问题就变成了画得好不好。
两条路适合不同的活。图像模型能很快给你一幅更丰富的画,但需要对齐这一步。代码能给你精确的像素,但需要你或模型在画功上多下功夫。无论走哪条路,都要在需求里定死网格尺寸和调色板。
2026-09-23 发布。作者给 Claude Opus 5.5 和 GPT-6 Sol 同一段很长的提示词,要求只用代码画出一只会动的像素画兔子:固定分辨率 160 × 120,整数坐标,约 28 种颜色,角色尺寸为 28–34 × 40–48 像素。这是不同的工作流程和不同的产品;它说明的正是我们测试最后得出的那条规则:把网格和调色板写进需求。
同一个主角的下一步
有了四个干净的朝向,接下来要做的是行走帧、一套贯穿整个游戏的调色板,以及在玩家实际看到的尺寸下检查一遍。

AI 像素画角色
AI 能做 32 × 32 的像素画角色吗?
它能画出来,但不是一个 32 × 32 的文件。在我们 2026年9月29日的测试中,模型在一张 1,728 × 576、有 45,957 种颜色的图里,画了一个正好 32 个美术像素高的主角。把它对齐到自身的网格和调色板,才能得到真正的 32 像素精灵。
为什么我缩小后的精灵没了脸?
在我们第一次尝试时,背景占了 16 种调色板颜色中的 9 种,缩小时又用错了网格,所以肤色消失了。减色之前先把背景设为透明,并对齐到这幅画真正使用的网格。
左视图应该是右视图的镜像吗?
很多游戏会镜像一侧来省工。我们这张图把两侧分别画了出来。如果角色在一侧带着东西,比如挎包或木杖,镜像会把它换到另一只手上,所以在提需求之前先想好你要哪种。
在 Ciyo 里花了多少钱?
这张图花了 1 个额度。在我们的测试中,两次对齐都在智能体的工作区里运行,没有额外产生图像费用。
在 Ciyo 里画你的主角
描述你的角色和规则,然后让 Ciyo Agent 在同一张画布上把角色图对齐到真正的像素网格。