画布尺寸与分辨率|像素画里的尺寸哲学
像素画的尺寸哲学
像素画和普通插画的一个根本区别:像素画的"美"很大程度上来自"约束"——尺寸越小,每个像素的权重越大,你不得不把细节提炼到极致。
一个 16×16 的角色,你只有 256 个像素来表达它是谁、什么表情、什么姿势。这迫使你去思考"哪些像素是核心、哪些可以省"。这种"精简"本身就是像素画的艺术。
反过来,一个 256×256 的画面有 65536 个像素——和普通插画的自由度差不多了,你自然会用更多颜色、更多细节,最后变成一张"被缩小的插画"而不是像素画。
游戏引擎里的尺寸处理
游戏引擎(Unity、Godot、GameMaker)处理像素画有两种思路:
1. 原始尺寸显示(推荐)
- 画布多大多大,引擎里就按 1:1 显示
- 放大是引擎在渲染时整数倍放大(×2、×3、×4),保持像素清晰不模糊
- 这就是为什么像素画游戏画面看起来"硬邦邦"的原因——引擎故意关闭了抗锯齿
2. 适配屏幕的动态缩放
- 引擎自动根据屏幕分辨率缩放画面
- 可能导致非整数倍缩放(比如 ×1.5),像素被挤糊
- 需要在引擎设置里强制开启"Point Filtering"(Unity)或禁用纹理平滑
Aseprite 导出的 Sprite Sheet 按原始尺寸输出,放大的事交给引擎。你在 Aseprite 里只需要关心原始尺寸。
放大整数倍的重要性
任何时候把像素图放大显示,必须整数倍(×2、×3、×4、×8……)。非整数倍(×1.5、×2.5、×3.3)会导致:
- 相邻的像素可能被合并成一个中间色
- 边缘锯齿模糊
- 整体看起来像"渣"
这也是为什么发朋友圈展示像素画时,Aseprite 里要先"整倍放大预览"再截图——或者导出 ×4 的 PNG 再发。直接把原始 32×32 发到社交平台,平台会自动拉伸,画面立刻糊了。
中途改尺寸怎么办
如果建完画布发现尺寸不对,Image → Canvas Size(桌面版)可以改。但注意:
- 扩大画布:安全,现有内容保持原样,新区域自动填透明
- 缩小画布:会裁剪边缘像素,操作前先复制一份备份
- 缩放现有内容:Edit → Transform → Scale,开启"Pixel Perfect"选项避免插值
改尺寸总不如一开始选对——新建画布前多想 10 秒,省事后改的麻烦。