亚像素动画:比一个像素还小的呼吸
小精灵上轻微的待机动作要么完全看不出来,要么一下子跳整整一个像素。像素画师会用更暗的边缘像素画出中间状态。Pixor 的亚像素运动也这样做,而且只在边缘真正移动的地方。


入门 · 约 5 分钟 · 或用 92 秒看完
1. 小精灵
打开一个模型:本教程使用免费 CC0 素材库中的宝箱。在场景步骤中,点击南摄像机,把游戏视角设为俯视 RPG,宽度和高度设为 32。亚像素运动对小精灵最重要,因为一个像素就是一大步。
2. 一次呼吸
在大纲中点击宝箱,让运动作用于它,然后在动作步骤中选择添加动作 › 脉动。在动作节点图中把「脉动」节点的数量设为 0.025:宝箱会放大缩小 2.5 %,在 32 像素下不到一个像素。
3. 关闭:它会跳
在风格步骤中,放大 2D 视图并打开像素网格(Shift+G)。边缘会静止几帧,然后跳整整一个像素。
4. 亚像素运动
在风格节点图中选中清理节点,在检查器的「清理」部分勾选亚像素运动。再次选中输出节点查看完成的精灵。
5. 开启:它在呼吸
当模型只覆盖边缘像素的一部分(不到八分之七)时,该像素取其自身色阶中更暗一级的颜色,模型再次覆盖它时恢复。现在宝箱是用明暗来呼吸,而不是跳动。
6. 只动边缘
改动之处(D)标出与上一帧不同的像素:只有移动边缘经过的那些。开启此设置后,渲染的闪烁比例会略有上升,因为这些像素是有意变化的。
7. 导出
导出照常写出精灵表;中间像素就在其中,使用调色板自己的颜色。
从命令行
pxr render chest.glb --size 32 --clip none --motion pulse:8:0.3 --subpixel
pxr project set game.pixor --subpixel
--no-subpixel 为项目关闭它。
下一步
问题
亚像素运动会改变轮廓或描边吗?
不会。只有被移动表面部分覆盖的边缘像素会变化,而且只变为其自身色阶中更暗一级的颜色。描边、轮廓和其他所有像素都完全保持原样。
中间的颜色是新颜色吗?
不是。每一种都是明暗已经给该像素定好的色阶上往下一级的颜色,所以每种颜色都来自调色板。
它对哪些运动有帮助?
每帧移动不到一个像素的一切:呼吸待机、悬浮起伏、缓慢摇摆、脉动。快速动作不受影响,它本来就看得清。
它和「亚像素运动」节点有什么不同?
风格节点图中的那个节点一次处理一帧,可能让某个部位蔓延到空像素里。这个设置着眼于整个片段,从不改变轮廓。