本篇教程由作者设定未经允许禁止转载。

前言

Better Combat的作者提供了一整套流程来帮助你自定义自己的动画,此篇教程依据作者提供的流程来从头详细教你怎么搞定自定义动画。如果大家发现教程中有出现错误,或是对制作流程有疑问,请在短评指出,我会第一时间回复。


一、布置工作环境

  • 下载并安装blender。(下载最新版本即可)

打开作者在GitHub上的动画教程页面,找一个你心仪的预设动画(都是.blend后缀,如果你看不懂这些文件代表什么动作,请借助翻译工具),并准备基于它来修改为你自己的动作。

创建一个新的文件夹,用于存放你的动画文件和它将要输出的文件。

把下载好的动画文件丢到刚刚新建的文件夹里面,然后以blender启动它。


二、在blender内完成你的动画制作

首先在blender内的Animation页面中开始修改你的动作。

一定不能做的事情!

  • 修改第0帧的关键帧。

  • 移除任何身体部件。

  • 移动或是旋转锁定的部件(或是弯曲它们)。

一些作者的建议

  • 整个攻击动画尽量控制在20帧。

  • 攻击前摇动画建议约占整体的50%,因此建议在动画长度的50%处设置一个关键帧,编辑前摇完成的动作。这部分动画的缓动模式建议是淡入淡出。

  • 攻击前摇过度到命中动画建议约占整体的10%,也就是建议在动画长度的60%处设置一个关键帧,在此帧编辑攻击的临界点,例如你要做一个刺的动画,这个临界点就是完全刺出去的那一刻。这部分动画的缓动模式建议是淡入。

  • 命中动画结束的部分同样建议占整体10%,你可以根据需求来决定是否要设置一个关键帧。这部分动画的缓动模式建议是淡出。

  • 攻击后摇动画最后占剩下的30%,你可以根据需求来决定是否要设置一个关键帧。这部分动画的缓动模式建议是淡入淡出。

一些值得注意的点

攻击动画在播放时会根据当前的攻击速度自动进行缩放,所以它的整个播放出来的时间与武器的攻击冷却时间是一样的。

当攻击前摇的时间和该动作在属性中的"upswing"值完全匹配时,攻击动画看起来最自然。


三、导出动画为json格式

选中Export选项卡,作者在这里放了一份脚本来自动转化你的动画文件至json。

我们需要修改的只有最上面的几个元素(只修改冒号内的内容)。

从零开始教你自定义动画-第1张图片

emoteDescription:该动画的名称。

author:作者(也就是你)的名称。

outputDirectory:输出文件的地址,此处如果删去冒号内所有内容就默认生成在包含这个动画的文件夹中。

beginFrame:动画起手动作完成的那一帧(如果你制作的静止的持械动画,则不会有这一条)。

endFrame:动画的最后一帧。

stopFrame:动画的最后一帧+动画长度的50%帧数,例如示例这里就是最后一帧(20)加上整体的一半(10)就是30。

完成这些元素的编辑之后,我们点击运行脚本按钮。从零开始教你自定义动画-第2张图片

脚本运行完毕之后就会在路径下生成一个对应名字的动画json文件。


四、使用openloader或是数据包将你的动作导入至游戏。

无论你是否使用openloader,我们都需要先将数据包制作出来。

首先创造一个数据包文件夹,我这里建议就直接命名成bettercombat来方便辨认。

然后在文件夹中放入pack.mcmeta文件,如果你不知道该怎么写,这里有一个简单的示例。

{
   "pack": {
      "pack_format": 10,
      "description": "bettercombatanimation"
   }
}

然后在文件夹内开始新建文件夹,bettercombat的动画存放路径在assets\bettercombat\attack_animations

我们需要按包含关系创建一个 assets 文件夹,再创建一个 bettercombat 文件夹放在assets文件夹中,然后再创建一个 attack_animations 文件夹放在bettercombat文件夹中。

最后把你的动画文件丢到最后的attack_animations中(如果你想要替换作者的预设动作为自己的动画,请确保你的动画文件命名和对应动作文件的命名完全一样)。


这边建议还是使用openloader来减少麻烦。

如果要使用openloader,首先准备一个安装了openloader与bettercombat的MC客户端。

请确保至少启动游戏过一次,使openloader生成完整的文件。

接下来在根目录下的 config-openloader-resources文件夹放入你的数据包。

如果一切做的没有问题,应该会呈现这样一个路径结构。

从零开始教你自定义动画-第3张图片

接下来运行游戏,进入世界查看你的自定义动画是否生效了吧!