跳转至

像素画 · pixelArt.ts

媒介的物理形态。 格子,在 120 x 120 的网格上(方形画幅)一次铺一格,每一格恰好是事先声明的十六种调色板颜色之一(PALETTE),网格按整数倍放大,关闭平滑(pixelArtKit.ts 里的 blit:格子尺寸是整数,每一段连续的格子用一次 fillRect,别的什么都不碰画布)。没有抗锯齿,没有收笔变细,没有抖动,没有纹理贴图,也没有纸:机器般的锐利就是媒介本身。

笔触。 单个格子(铅笔工具)、油漆桶填充、抖动(dither)簇。半色调是 2x2 的有序抖动(PixelDraft.dith),绝不用 alpha 混合。光晕是手工设计的图章(核心、受光环、一格一格变稀的衰减),而不是棋盘格圆。

边缘。 阶梯,保持干净:沿曲线的连续段长度一致,没有双重拐角,没有孤立的格子(cleanMask 去掉单格的凸起,补上单格的凹口)。脸、耳朵和眼睛作为 ASCII 精灵图(HEAD)手工铺出来;公式放不准耳尖。

顺序。 用平涂的中间色铺大块(铅笔描边,油漆桶填块面;主体先用 2x2 的格子粗粗地铺下去)-> 线条清理(沿剪影扫一圈,去掉一些格子,补上一些格子)-> 明暗簇和天空的抖动色带 -> 高光和轮廓光 -> 最后才是光源和它们的光晕抖动。两遍之间歇一拍。

调色板与光。 十六种颜色:四种夜蓝,月白和它的冷色轮廓光,三种绿加一种被萤火虫照亮的叶色,两种猫身暗色,三种光晕暖色。萤火虫就是光源(爪子、口鼻、内耳上的暖色边缘,以及眼睛的反光);月亮只给猫背勾一道冷色的轮廓光。

和近邻不同。 koi(马克笔漫画)画的是有粗细变化的轮廓线,外加涂出来的赛璐璐阴影。这里根本没有线条:格子就是笔触,阶梯就是边缘,抖动就是色调。

运动语法。 每张画面停 3 帧(3 能整除一拍的 15 帧),手感像 10 fps。过程影片重放录下来的操作列表:完成的静帧里的每一格,都是由某一遍按顺序铺上去的(celPlan)。角色的循环动画:按姿势到姿势(pose-to-pose)分段,在设计好的姿势之间整格瞬移,绝不做补间位置。

闸门。 渲染出来的帧里,每一个像素都是调色板颜色(通过解码静帧来检查:scale 2 下调色板之外的像素为 0 个)。