翻书动画¶
翻书动画(Flipbook Animation)是Minecraft基岩版资源包中用于实现方块和物品纹理逐帧动画的机制。翻书动画通过在一张包含所有帧的纵向拼接纹理图片中逐帧切换来产生动画效果。
概述¶
基岩版中许多原版方块和物品的纹理具有动画效果,如水面、岩浆、海带、紫水晶方块和传送门等。这些动画通过翻书动画机制实现:一张纹理文件中纵向排列所有动画帧,引擎按照指定的播放速度依次显示每一帧。
翻书动画的定义文件为资源包根目录下的textures/flipbook_textures.json。
纹理文件格式¶
翻书动画使用的纹理文件为一张宽度等于单帧宽度、高度为单帧高度乘以帧数的PNG图片。例如,一个16×16像素、包含32帧的翻书动画,其纹理文件尺寸为16×512像素。
帧从上到下依次排列,引擎按照定义的顺序和速度逐帧播放。
定义文件¶
flipbook_textures.json为一个JSON数组,每个元素定义一个翻书动画条目:
翻书动画定义示例
[
{
"flipbook_texture": "textures/blocks/custom_animated",
"atlas_tile": "custom_animated",
"ticks_per_frame": 10,
"frames": [0, 1, 2, 3, 2, 1],
"replicate": 3,
"blend_frames": true
}
]
字段说明¶
flipbook_texture- 翻书动画使用的纹理文件路径,不包含文件扩展名。
atlas_tile- 此动画在地形图集或物品图集中对应的短名称。该名称需要与terrain_texture.json或item_texture.json中定义的名称匹配。
ticks_per_frame- 每一帧的持续时间,以游戏刻为单位。值越大,动画播放越慢。
frames- 可选。定义帧的播放顺序。数组中的每个数字为帧索引(从0开始)。若不指定,则按纹理文件中从上到下的顺序依次播放。
replicate- 可选。纹理在图集中的复制次数,用于处理纹理分辨率和图集排列。
blend_frames- 可选。是否在帧之间进行插值平滑过渡。默认为
false。