很高兴还能出第二篇

第二篇,动画设计

基础移动的动画制作

第一步准备资产

这里一个是休息状态,一个是行走状态

创建混合空间1D

因为史莱姆的行为动作简单,故用混合空间1D,在混合空间1D中,角色的行为只有一个轴体,所以在简单的运动模式下,用混合空间1D更适合

选择骨骼

用什么角色,用哪个骨骼

创建动画蓝图

在动画蓝图中右键新建一个状态机

双击状态机

在这个界面中拉出,点击添加状态。这里是休息和行走的判断

状态的判断

添加状态后,点击状态开始写状态的判断

在左下角变量中,添加一个变量用来判断和传递角色的速度,变量的类型为浮点,也就是小数

按住ctrl拖动变量可以快捷拖入蓝图编写中,将变量与混合空间1D相连接,再相连到“输出动画姿势”,到这一步为止你已经成功了大半,马上就可以让角色走路动作了

让角色使用动画蓝图

在角色的蓝图中,点击网格体选项,在右边的动画一栏,动画模式中,选择“使用动画蓝图”。在下一栏动画类中选择你所创建动画蓝图的名称

角色移动优化

因为是史莱姆,所以角色移动的不能太快,在角色移动中修改行走速度

设置最大行走速度

动作测试

在场景中测试是否成功

角色跳跃动画的实现

角色跳跃蓝图

在角色蓝图中,使用跳跃映射,之后与ue自己封装的蓝图“跳跃”和“停止跳跃连接”

第一步准备跳跃的三个动画

同样的跳跃也需要动画,需要准备三个,分别是角色的起跳,角色在空中时,角色降落时三种动画资产

添加史莱姆跳跃时的状态

和之前一样,在idle旁边处拉出,选择添加新状态,分别命名为JumpStart(起跳开始),JumpLoop(起跳中),JumpEnd(起跳结束)

设置三种状态的动画

先是起跳的动画,将右边资产浏览器的动画按住ctrl鼠标左键拖动,之后相连

设置在空中的动画

最后落地的动画

设定三种状态的规则判断

创建变量Is In Air(是否在空中)这是一个布尔值变量

这里使用ue自带的蓝图封装,判断角色是否在空中,在蓝图“获取移动组件”这,目标self是连接前面的Try get pawn owner(尝试获取Pawn拥有者)

角色开始起跳前的设置

双击点开过度规则

这里的意思是,如果在空中那么就可以进行到下一步

接下来是开始到空中的过度设置

获取蓝图Time Remaning(ratio) (剩余时间(比率)),之后使用小于(布尔)将蓝图相连

然后是空中到结束跳跃的过度设置

使用了一个not布尔蓝图

史莱姆跳跃高度的优化

在角色蓝图,角色移动中,找到跳跃Z速度,别看是速度,其实就是跳跃的高度

史莱姆跳跃的优化

因为在测试中,我们发现史莱姆的跳跃是按下空格键就直接跳跃了,而我们的计划是要有一个类似“前摇”准备起跳的一个动作,而他并没有按照本来的计划来。所以我们要调整史莱姆起跳的顺序。

调整角色动画蓝图

首先,我们把JumpStart删除,之后直接连接JumpLoop,中间的过度设置是,is in air?

我们可以右键动画序列,创建动画蒙太奇

之后我们在角色蓝图“跳跃”前添加播放蒙太奇,选择的动画为刚刚创建蒙太奇的动画

在角色动画蓝图中添加一个蓝图“插槽”

测试一下

成功

那么今天的游戏制作就到这里,时间还很多,希望自己还能更新下一篇

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐