像素角色设计 101:怎么让宠物更“像”
2026-09-14
像素角色设计不是加滤镜,而是做设计。本文用具体技法讲清楚:怎样把一张照片变成 32px 的宠物 sprite,并且真的像它的主人。
照片不是 sprite
把照片直接缩到 32×32,得到的是一团糊,不是宠物。照片里几百万种颜色和柔和渐变,低分辨率下全没了。眼睛看到的是棕色污渍,不是脸。所以 Codex Pet 把照片当参考,不是当素材——做法见 /。
sprite 是画出来的,不是抓出来的。每个 pixel 都是一次决定。从 1000px 到 32px,丢掉约 99% 的信息,观看者用记忆补全。记忆线索不在,相似度就塌。先从想要的形状开始,而不是手上的像素。流程写在 /blog/how-to-create-a-codex-pet。
先画轮廓,再谈细节
落色之前先画外轮廓。好的宠物 sprite,16px 涂黑也能认出。轮廓含糊,内部细节救不回。猫、狗、人各有姿态,眼睛瞬间锁定。
自己测:涂黑缩到图标大小,能说清物种吗?能认出你的宠物吗?不能,说明轮廓在替你扛三个没画的特征。先建肢体语言,再加细节。Day 16 的 /blog/rabbit-codex-pet 用此测试讲真例。
明度对比胜过色相对比
32px 上,眼睛先读亮暗,后读红蓝。靠明度分开的两个形——亮脸衬暗背景、亮肚皮衬中调毛——始终清楚。只靠色相、亮度相近的两块会糊成一片。
这是多数初学者漏掉的 pixel character design 要点。对比预算花在明度台阶,不花在彩虹上。每材质用三段 value(阴影、基色、高光)的 ramp,比十二个相近色相干净。/blog/what-is-pet-spritesheet 讲这些 ramp 如何变成动画帧。
颜色控制在 8 到 12 种
调色板克制,是 sprite 和截图的分界。整角色压到 8 到 12 色,逼你做选择:哪档是毛、哪档是阴影、哪档是眼。限制让脸清晰,每色都承载意义而非噪声。
dithering 用棋盘格在两色间假造第三档,代价是边缘变糊。32px 上它常变成噪声。只在大而平静的区域(如毛衣)少量用,绝不用在眼或轮廓。干净 10 色 sprite,胜过 dithering 的 30 色。
比例,加一个锚点特征
人先靠比例判断“这是我的狗”,再靠颜色。吉娃娃和金毛在 32px 上差在头身比和耳位。比例错,品种没了;比例对,单色 sprite 也读得出。人同理:圆头小身、长脸高个。
再选一个锚点。五个都差的特征拼出路人脸;一个夸张的锚点拼出人。锚点是朋友第一眼注意的:卷胡子、圆镜、某条发际线、宠物鼻上粉斑。推过真实,大脑补全其余。一强信号胜五弱信号,还更快画。
一个能读的 32px sprite 长什么样
- 清晰轮廓,图标大小仍认得出
- 每材质三段 value 的 ramp,靠明度不靠色相
- 共 8 到 12 色,轮廓用最暗档
- 一个夸张的锚点特征扛身份
- 深、浅背景都验证过
在两种背景上检查你的 sprite
- 纯黑上轮廓仍与身子分开
- 纯白上高光不消失
- 任一边失败,轮廓调暗或调亮一档
- 只一种背景成立的 sprite 不算画完
Frequently asked questions
为什么照片缩完不像我的宠物?
直接缩小留渐变、丢边缘,结果是糊掉的色调图而非脸。先按轮廓和比例建 sprite,照片只作颜色与形状参考。
32px 宠物 sprite 用多少色?
整角色 8 到 12 种。这上限逼你给每色分配意义,脸也更清。再多,32px 上常读成噪声而非细节。
相似度哪个特征最关键?
一个略夸张的锚点。五个将就的特征显路人;一个强信号让大脑补全其余部分。
怎么判断 sprite 画完了?
分别放纯黑与纯白。黑上轮廓与身子分开,白上高光保住。只一边成立就调轮廓一档再测。两边能过,就和 /blog 其余系列一起发。
Related posts
Try it yourself
Ready to turn your own photo into a pixel-art pet? Upload it on PetGen and get your spritesheet + pet.json in minutes.
Generate your pet now →