什么是精灵图(Sprite Sheet)?一篇讲清游戏角色如何动起来的好文
用像素画画角色,迟早会碰到“精灵图”(sprite sheet)这个词。我想介绍一篇 Keitaro 在 note 上写的入门解说,它按顺序梳理了原理,我读下来很有帮助。
精灵(sprite)是游戏画面上显示的二维图像,角色、敌人、道具、子弹、特效都属于此类。把这些图像集中放进一张大图里,就是精灵图。以走路动画为例,依次切换右脚迈出、双脚并拢、左脚迈出的画面,就能看起来像在走路。换句话说,动起来靠的是切换静态图片,而不是视频。
游戏并不会整张显示这张大图,而是通过坐标把它切分,只截取需要的那一格。比如一格是 128×128 像素、横向排了 8 格,那么显示区域就依次移动到 0~127 像素、128~255 像素,以此类推。文中还举例:横轴排 8 个朝向,纵轴排动作(走路、攻击、受击、防御等),这样要管理 8 方向×7 状态,共 56 帧。
文章特别强调,实际使用时最重要的是让每一帧的基准位置对齐。脚的位置如果每帧偏差几个像素,动画时角色就会上下抖动。背景保持透明也是必需的。
最后,文章还区分了精灵图和精灵图集(sprite atlas):前者只是把相关图片排在一起,后者为了绘制效率,把多张图片打包进同一张纹理。我个人印象最深的是文中的总结:“做出图像并不难,难的是把它们整理成游戏能正确使用的形式。”对画像素画的人来说,这在输出阶段也很有用。
来源:note(Keitaro)
精灵(sprite)是游戏画面上显示的二维图像,角色、敌人、道具、子弹、特效都属于此类。把这些图像集中放进一张大图里,就是精灵图。以走路动画为例,依次切换右脚迈出、双脚并拢、左脚迈出的画面,就能看起来像在走路。换句话说,动起来靠的是切换静态图片,而不是视频。
游戏并不会整张显示这张大图,而是通过坐标把它切分,只截取需要的那一格。比如一格是 128×128 像素、横向排了 8 格,那么显示区域就依次移动到 0~127 像素、128~255 像素,以此类推。文中还举例:横轴排 8 个朝向,纵轴排动作(走路、攻击、受击、防御等),这样要管理 8 方向×7 状态,共 56 帧。
文章特别强调,实际使用时最重要的是让每一帧的基准位置对齐。脚的位置如果每帧偏差几个像素,动画时角色就会上下抖动。背景保持透明也是必需的。
最后,文章还区分了精灵图和精灵图集(sprite atlas):前者只是把相关图片排在一起,后者为了绘制效率,把多张图片打包进同一张纹理。我个人印象最深的是文中的总结:“做出图像并不难,难的是把它们整理成游戏能正确使用的形式。”对画像素画的人来说,这在输出阶段也很有用。
来源:note(Keitaro)
评论 0
来写第一条评论吧,用任何语言都行。
登录后评论