像素画颜色高级教程:如何减少颜色?

打开网易新闻 查看精彩图片

文本概览:全文约 1,862 字,阅读约 5 分钟。

街霸 2、拳皇那一代 16-bit 角色,硬件只给15 个实色 + 1 个透明底。多出来的 4 个色不是品味问题,是规则问题。

一、先看清 20 色,别靠感觉砍

没有 Color Table,20 色和 16 色在缩略图里几乎长一样。打开图层面板旁边的颜色表,色块会按软件自己的顺序排开——占用少的、接近的,往往已经排在“待宰”一侧。

打开网易新闻 查看精彩图片

左大右小:同一张精灵。色数超标时,放大稿还好看,缩小后脏边和重复色阶才会一起暴露。

16-bit 角色常见上限:15 个实色 + 透明。表里每一个格子都要能说出用在哪。
打开网易新闻 查看精彩图片
16-bit 角色常见上限:15 个实色 + 透明。表里每一个格子都要能说出用在哪。

头发和肤色共用是常见技巧。

“肤色金发”不是偷懒,是 15 色预算里把高光、中间调、暗部都排得下的常规招。
打开网易新闻 查看精彩图片
“肤色金发”不是偷懒,是 15 色预算里把高光、中间调、暗部都排得下的常规招。

二、先砍占像素少的重复档

索引之前,先找“外人看不出来”的重复。这张精灵的服装青绿只有两档,而且只占很少像素——可以并成一档。青绿本身不能删光:它是红与黄旁边的点缀,没有它整套会闷成一团暖色。

颜色表排序,经常已经在暗示谁会先被砍。占面积极小、又与邻档极近的,优先动手。
打开网易新闻 查看精彩图片
颜色表排序,经常已经在暗示谁会先被砍。占面积极小、又与邻档极近的,优先动手。

砍完重复档,还剩 19 色,目标是再减 3 个。这时才打开IMAGE → MODE → INDEXED COLOR(先确认当前是 RGB):

  • Palette:Local Perceptual
  • Colors:16
  • Forced:None
  • Transparency:若底是透明就勾上
  • Dither:None(像素画不要自动抖动来“假装”多了颜色)

软件会按面积和相似度,给出它认为该并的三对。

三、数学对了,高光肤色却并进浅灰

一键 16 色的结果:最亮的肤色被并进浅灰。灰和白占的面积大、细节多(领口、腰带、高光点),算法觉得它们“重要”,于是拿肤色去迁就灰。人眼立刻觉得脸脏了——灰不是皮肤。

设置可以照抄;预览不能照单全收。算法在算面积,你在看脸和头发还像不像同一个人。
打开网易新闻 查看精彩图片
设置可以照抄;预览不能照单全收。算法在算面积,你在看脸和头发还像不像同一个人。

直接点 16 色最省事,也最容易砍错对象。可复制的改法是先告诉软件哪些色禁止参与计算

  1. 用“从当前状态新建文档”,别覆盖原图。
  2. 魔棒:Tolerance1,关掉 Anti-alias 和 Contiguous,把黑、灰、白、亮红、青绿这些不许动的色全选中并删除。
  3. 再转 Indexed,Palette 先选Exact,看剩下多少色。文中例子剩 10 色(含透明),仍要再砍 3 个,于是改回 Local Perceptual,把 Colors 设成7
  4. 预览会把肤色推向发色黄——这说明“可合并区”找对了:该并的是肤与发,不是肤与灰。

打开网易新闻 查看精彩图片

算法这回站在金发一边。接下来不是二选一(漂白头发 / 黄疸皮肤),而是 50% 折中。

四、50% 铅笔做出折中色,再贴回原图

铅笔不透明度调到50%,吸一档肤色,轻轻盖在对应的发色上,得到既不那么黄、也不那么粉的中间色。

若还嫌皮肤偏黄,再拿原始肤色在这个新色上点一次 50%,黄味再减半。用油漆桶把“这一对”的皮肤档和头发档都换成新色。其他要合并的对,同样处理。

最后回到原精灵,把新色贴回去。灰白红青纹丝不动,只有肤发完成共用。条件是:动手索引前,你已经主动限过色,而不是从 40 色照片里硬压。

打开网易新闻 查看精彩图片

Indexed Mode 像口袋计算器:它负责算术,你负责指定哪些格子可以进公式。

参考资料

So you want your sprites to be 16 colors: https://2dwillneverdie.com/tutorial/so-you-want-your-sprites-to-be-16-colors/