动画入门【案例】
动画入门【案例】
鲸拓工作室项目配置
UE版本:5.1.1
创建一个第三人称游戏项目
将下面两个素材导入项目
创建一个Blueprints文件夹,在这个文件夹下创建一个游戏模式,命名为BP_WuKongGameMode
将默认的Pawn改为SunWuKongPlayerCharacter
将这个游戏模式设为默认的游戏模式
将SoulCave里面的LV_Soul_Cave移动到自己的Maps文件夹内,并设置为默认地图
基础动画
创建一个角色蓝图,命名为BP_WuKong,并将它设置为游戏模式的默认Pawn
配置骨骼网格体,并设置对应的位置和旋转
然后加上一个弹簧臂组件(CameraBoom)和一个摄像机(FollowCamera)
前后移动
可以直接从UE默认创建的BP_ThirdPersonCharacter里面将如下蓝图复制到自己的BP_WuKong里,用于控制角色的前后左右移动
旋转
和上面类似,从BP_ThirdPersonCharacter里将下面这段蓝图复制过来
选择不使用控制器旋转角色
打开摄像机弹簧臂的使用Pawn控制旋转
并打开角色移动的将旋转朝向运动
角色奔跑
创建一个动画蓝图,命名为AnimBP_WuKong,用于控制动画逻辑
将这个动画蓝图绑定到BP_WuKong里
同时在BP_WuKong里编写一段逻辑,当我们按下键盘的左Shift键时,悟空的移动速度就变快
下面,我们会用两种方式来实现悟空的奔跑动画
混合空间
这一小节,我们会用混合空间来实现奔跑效果
首先创建一个混合空间1D,命名为IdletoRun1D,用于混合不同的动画
在混合空间中,设置水平坐标的名称为Speed
然后分别将资产浏览器里面的Idle拖到0坐标;Jog_Fwd_Start拖到300坐标;Jog_Fwd拖到600坐标
你可以把Speed理解为一个参数,这个参数最小是0,最大是600
Speed的大小,就决定了这个混合空间最终输出的动画效果
接着打开AnimBP_WuKong,将混合空间应用到里面
然后编写这一段控制逻辑
上面的这波操作,会实时检测当前角色的移动速度,然后根据这个速度在混合空间里计算出动画效果,并输出出来
状态机
除了混合空间之外,还可以使用状态机来控制角色动画
首先在动画蓝图里创建一个状态机
双击进去状态机,创建三个状态
分别在Idle、Run和JogStart里配置对应的动画姿势
然后配置状态与状态之间的转换规则(就是Idle到JogStart,或者 JogStart到Idle的小箭头)
先打开动画蓝图的事件图表,创建一个状态,用于查看当前角色是否有加速度
用于配置Idle到JogStart的转换规则
JogStart到Run的转换规则如下
获取当前起跑动画的剩余时间,如果起跑动画快结束了,就进入Run的状态
Run到Idle的状态,也是通过加速度状态来决定的
动画重定向
首先导入初学者内容包,我们会将里面的动画重定向给悟空
创建一个IK绑定
选择小白人,命名为Man_IKRig
创建一些链条,注意配置初始骨骼和末端骨骼,可以选中之后直接右键新建
然后选中root,右键,设置重定向根,不然的话动画就会失去重心
然后对悟空的骨骼也做同样的操作,创建一个IK绑定,选择对应的骨骼网格体,命名为WuKong_IKRig
新增对应的链条,然后设置重定向根
两个IK绑定创建完毕之后,我们再创建一个IK重定向器
我们要把小白人的动画复制给悟空,所以这里选小白人的IK绑定
将目标IKGig资产设置为刚刚创建的WuKong_Rig,然后调整一下偏移,就可以直接选择小白人的动画导出了(这里WuKong的衣服会有些问题,暂不深入讨论)
保存好这个重定向管理器之后,也可以在外面直接选中动画(也可以多选),然后复制和重定向动画资产
蒙太奇
蒙太奇可以用于将动画合并至一个资产并通过蓝图控制播放
我们可以选中一个动画序列,然后右键创建蒙太奇
播放动画
在动画蒙太奇中,动画序列以插槽来划分并播放,我们播放蒙太奇的时候,需要先在动画蓝图里指定插槽
这里以悟空的默认资产举例
可以看到这个蒙太奇中的默认插槽是DefaultGroup.UpperBody,那么我们就需要在动画蓝图里指定这个插槽
然后就可以在蓝图里通过播放蒙太奇来播放动画了
通知事件
我们打开创建的蒙太奇,会看到有一条默认的通知轨道,你可以创建多条通知轨道,也可以在轨道上右键创建通知,通知的类型多种多样,可以根据实际要求来决定
这里在第一条轨道里,我创建了SaveAttack和ResetCombo这两个通知事件,分别用于保存和重置攻击状态
第二条轨道里是一个播放音效的通知,可以在这里选择在当前时间点要播放的声音
第三条轨道里放的是特效通知,可以在选定的时间和骨骼插槽上播放特定的特效
实现连招
在蒙太奇里配好通知的同时,我们可以在动画蓝图中直接调用这些事件
比如当这个蒙太奇运行到SaveAttack和ResetCombo这两个通知时间点的时候,我们就可以调用蓝图里对应的函数
这两个函数的具体实现如下
配置好之后点击运行,在鼠标的不断点击下,悟空就可以做出连招效果了