附加包教程:18.动画
本帖最后由 Cat_Anchor 于 2023-2-25 07:36 编辑前言
上期,我们学习了附着物。由于上期留下了一些疑问,我打算先解决这些疑问,再继续讲我原本计划的。今天我们来学习动画。
https://klpbbs.com/static/image/hrline/line5.png
动画结构
打开资源包根目录,打开animations文件夹,这里用于存放动画。还要明确的是,动画文件一般也不是手写出来的,而是程序生成的。动画文件的后缀是.json,与其他文件一样。
现在我放一段示例动画,让你们了解动画的结构。
{
"format_version": "1.8.0", //代码格式版本。虽然有更新的版本,可是现在主流的还是1.8.0这个版本。
"animations": {
"animation.small_plane.fly": { //这里的animation.small_plane.fly就是动画ID。
"loop": true, //如果是true,那么这个动画就会循环播放
"animation_length": 0.12, //动画的时长。如果loop是true,那么它决定了一次循环有多长。同时,超出这个长度的动画不会播放。
"bones": { //决定了哪些立方体组有动画。
"propeller": { //这个propeller是立方体组的名称。
"rotation": { //这里定义了propeller这个立方体组有改变旋转角度的动画。
"0.0": [ //这里的0.0指的是时间,单位是秒。数组里指定了在0.0秒时,立方体的旋转角度。
0,
0,
0
],
"0.1167": [ //这里的0.1167指的是时间,单位是秒。数组里指定了在0.1167秒时,立方体的旋转角度。
0,
0,
360
]
},
"position": { //这里定义了propeller这个立方体有改变位置的动画。
"0.0": [ //与上面同理,这里的意思是,在0.0秒时,这个立方体在与原本相对的0,0,0位置。(这里的0,0,0类似于坐标。)
0,
0,
0
],
"0.0523": [ //与上面同理,这里的意思是,在0.0523秒时,这个立方体在与原本相对的0,2,0位置(与原本相比,升高了2个像素)。
0,
2,
0
],
"0.1167": [ //与上面同理,这里的意思是,在0.1167秒时,这个立方体在与原本相对的0,0,0位置。(也就是说立方体又回去了)
0,
0,
0
]
} //这一大堆东西在游戏里的效果大概是:名为propeller的立方体升高了2像素,又降低了2像素。(这个动画其实应该是很快的,一个循环大概只花了0.1秒。)
}
}
},
"animation.small_plane.land": { //这里是第二个动画,可以把一类动画全放一个文件里。
"loop": true,
"bones": {
"propeller": {
"rotation": [
0,
0,
-45
]
}
}
}
}
}
用这个程序可以生成一个模型文件和动画文件(建议电脑打开,手机也可以),很方便,还可以预览动画的效果。(就是对新手不太友好,可能会不知道怎么添加动画)
https://klpbbs.com/static/image/hrline/line1.png
总结
这一期,我们简单地学完了动画。下一期,我们简单讲讲渲染控制器。
第十七期 第十八期 第十九期 大佬,可以再讲讲怎么用blockbench修改动画吗?
ling.Aic 发表于 2023-7-9 00:37
大佬,可以再讲讲怎么用blockbench修改动画吗?
可以看看这里https://learn.microsoft.com/zh-cn/minecraft/creator/documents/entitymodelingandanimation#%E5%88%9B%E5%BB%BA%E5%8A%A8%E7%94%BB
页: [1]