SPRITE SHEET GUIDE
如何确定精灵图集的单元格尺寸与间距
精灵图集看起来只是把多帧放在一张图片里,但自动切分依赖明确的布局规则。最重要的是区分“可见图形尺寸”和“为一帧预留的单元格尺寸”。当这个约定固定后,切分、预览和重新生成图集都会更容易复现。
单元格是为一帧预留的公共空间
跳跃或挥动武器的帧可能比待机帧更宽。如果每个格子都只适配当前可见像素,图集就不再是规则网格。更稳定的做法是选择能够容纳最大帧的公共尺寸,并在其中放置较小帧,同时保持需要的枢轴。
行列数必须与整图尺寸一致
1024×512 图集按 8 列 4 行切分时,每格为 128×128。若宽度变成 1025,平均切分会产生余数并可能移动边界。最快的检查方式是用总宽度除以列数、总高度除以行数,确认结果都是整数。
间距和外边距要保持规则
部分流程会在格子之间保留 1~2 像素透明区域,以减少纹理渗色。如果存在这种间距,只知道单元格内容尺寸的切分器就无法准确处理。应把外边距和格子间距定义为独立参数,并对所有行列使用同一规则。
把小帧放在中心不等于枢轴对齐
把较小图片放到大格子的视觉中心会让布局整齐,但可能改变脚底或武器原点。单元格解决的是排版问题,枢轴解决的是坐标稳定问题,两者应分开判断。
用文件名维护播放顺序
动画图集建议使用 attack_001 到 attack_008 这类编号。固定宽度的数字在不同工具和系统中都更容易检查和排序。
动画图集和紧密图集的目标不同
动画图集强调帧顺序和统一格子规则;UI 图标图集则可能更重视节省空白空间,并使用不规则矩形紧密打包。后者适合专门的 atlas packer,而动画更适合容易检查和重建的规则网格。
推荐流程
切分错误检查表
- 宽高能否被网格整除?
- 格子之间是否存在隐藏间距?
- 第一帧和最后一帧是否遵循同样边界?
- 文件顺序是否等于播放顺序?
- 公共单元格中是否仍保持正确枢轴?