亚像素动画

亚像素动画通过改变边缘的颜色,而不是移动整个形状,让东西看起来移动了不到一个像素。

一只待机的史莱姆,由 Pixor 渲染
一面飘扬的旗帜,由 Pixor 渲染

是什么

在小精灵上,最小的整体移动是一个像素,而一个像素可能已经很多了。一个 16 像素的角色呼吸时胸口上移一个像素,看起来就像在打嗝。

亚像素动画可以解决这个问题。不移动形状,而是改变其边缘像素的颜色。如果一个边缘像素从背景色变为中间调,再变为形状的完整颜色,边缘看起来就先向外移动了三分之一像素,然后是三分之二。眼睛会读出一个平滑的小幅运动。

画师为什么这样做

  • 柔和的待机动作。呼吸、漂浮和上下浮动看起来平静而不生硬。
  • 小精灵。在 16 或 32 像素下,没有大幅动作的空间,因此小数级的位移很重要。
  • 无需更多像素也能平滑。它为运动增添了视觉上的分辨率,而无需以更大的尺寸重绘。

常见错误

  • 过渡色太多。如果只为边缘添加新颜色,调色板会膨胀,精灵也会显得模糊。请使用色阶中已有的颜色。
  • 用于大幅动作。跑步循环或挥剑动作用清晰的整像素姿势更容易看懂。
  • 边缘不一致。如果形状的一侧使用亚像素级的过渡而另一侧直接跳变,形状看起来就像被拉伸了。
  • 闪烁。像素在帧之间来回变化而没有明确的方向,看起来像噪点而不是运动。

手工绘制的做法

  1. 画出起始和结束姿势,相差一个像素。
  2. 在它们之间,添加一到两帧只改变边缘像素的帧。
  3. 对于移动中会被覆盖的每个边缘像素,让它经过色阶中的一个过渡色。
  4. 以游戏速度、1× 缩放播放循环。先调整时间节奏,再考虑增加帧数。
  5. 让精灵的其他像素全部保持不动,这样变化看起来就是边缘在移动。

Pixor 的角色

Pixor 的亚像素运动风格节点会像美术师那样,在边缘像素中表现每帧移动不到一个像素的部件。除此之外,Pixor 让渲染出的动画足够稳定,值得再加上亚像素修饰。轴心点在每一帧、每个朝向中都锁定在同一像素上,所以身体不会抖动。光照色带保持到表面明显转过去为止,抖动固定在表面上,清理步骤会去掉孤立像素和只出现一帧的线条。Pixor 还会测量整个片段的闪烁。

之后导出到 Aseprite,每个动作和朝向都有自己的标签,再在单独的图层上加上亚像素修饰。重新渲染时,手绘图层会保留在各自的帧上。

问题

亚像素动画和抗锯齿是一回事吗?

它用的是同样的思路,在边缘使用中间色,但让中间色随时间变化,使边缘看起来移动了几分之一像素。

什么时候应该使用它?

适合小幅、缓慢的运动:呼吸、上下浮动、眨眼、摇曳的旗帜。大幅运动最好画成整像素的移动。

接着阅读

在浏览器中免费用你自己的模型试试,或者获取完整版。

在浏览器中试用 获取 Pixor