Character和Pawn类的区别
Character类自带碰撞,Pawn则默认不带碰撞;
武器挂载和拖尾特效
武器为静态mesh,挂载在角色模型的某个骨骼上;
拖尾特效
粒子特效时间设置
角色动画调整,减轻移步
混合空间里可以设置同步的模式
1)裁剪前后左右启步动画的帧数,使其帧数差值尽量小,并让其通知帧保持一致,以下都为三组,并且都是以左脚开始;
Jog_Fwd_Start
Jog_Bwd_Start
Jog_Left_Start
Jog_Right_Start
2)在动画表现没有什么大问题的前提下,可以通过设置动画播放的启动位置和播放速度来调整
3)自定义同步事件
角色动画,角色叠加
动画通知
动画通知需要先建通知类,然后在动画上添加;
在动画序列或蒙太奇里,都可以在某一帧上添加通知;添加后,就可以在动画蓝图的事件里调用;
通知的两种执行方式
队列方式的通知一定会执行,但同时有多个通知时,执行会有延迟;
分支点的方式的通知不会有执行延迟,但如果有多个通知时,其中的某些通知可能不会执行;
Actor组件和Scene组件
Scene组件有transform信息,而Actor组件则没有;
相机穿帮问题,需要去掉相机杆的碰撞测试
问题本身:
解决方法:
叠加一个空的姿势,前期用来规范结构,防止叠加后,动画变得乱七八糟;
自定义蓝图事件
动画蓝图的继承
将混合空间变成变量
改成公开变量,以便在子类中查看
创建子类动画蓝图后修改公开变量的值,用来覆盖父类的变量
阻止从蒙太奇动画里跳出
1为新建的片断名,并将1拉到最右边
选择默认后,选择播放一次右上面的1,再选择1,继续选择右上面的1
将死亡动画的混合进入时间改为0
AIPerception组件说明
敌人类型都要勾选上,否则不会触发相应的事件,看的视线范围函数里,进入和离开会分别触发一次处理函数;
攻击检测
1)在根骨骼下创建一个攻击检测点插槽,并将该检测点放到角色前面的适当位置
2)在攻击蒙太奇动画的某一帧上加上一个攻击通知,并设置该通知对应的起始位置和结束位置的偏移量,用来修改攻击时的检测范围,具体逻辑在该通知的代码中
下图的曲线是用来解决攻击时的滑步问题的(对应教程里的制作骨骼分离动画)
防御塔动画
1)根据塔的骨骼创建动画蓝图;
2)创建一个状态机(state machines),命名为BasePost,用来存放基础的待机动画;
注:启动动画里的循环播放一定要取消;
3)在防御待机动画里叠加塔底部的动画;
注:叠加方式分为apply additive(常用方式)和apply mesh space additive两种,这两种方式只是计算方式不同,效果相差不大,但需要在动的资源详情里选择对应的叠加方式;
叠加完成的动画蓝图为
其中,状态机Panel(叠加底部动画)里用一个变量OpenPanel来控制是叠加打开的动画还是关闭的动画;
其中,None里为一个空的标识符(additive identity pose),用来保证动画蓝图编译不出错;另外,Panels_Open和Panels_Close动画的循环播放一定要取消,但Panels_Open_Loop的要循环播放一定要打开;
从开始Open动画开始的四个规则为:
4)在防御待机的状态机里再叠加一个瞄准的状态机
与叠加底部动画类似,Defensive_2_Aiming和Aiming_2_Defensive的循环播放一定要取消,Defensive_Aiming_Post的循环播放一定要打开,完整瞄准动画的状态机为:
从Defensive_2_Aiming开始的四个规则为:
在底部动画的打开后,循环开始时以及关闭动画结束后,增加两个动画事件,用来设置在底部动画播放完毕后,再播放瞄准动画
5)将BasePost重命名并保存,以便后面调用-------------;
6)将枪口转向目标方向的两个方法:
(1)利用Transform Bone计算;
(2)look at
创建look at
其中telescope骨骼为x轴旋转的骨骼
将look at里的目标显示在节点上
将Look At Location提升为变量
编译后的动画为,此时需要重新设置轴向
其中Use Look Up Axis要勾选上,勾选上后,本骨骼就不会控制Z轴方向;
将look at复制一份用来设置Z轴转向的骨骼
注:此时两个look at的变量Look at Location是同一个变量;
7)在动画蓝图里增加一个blend poses by bool,并用IsAiming来控制是播放瞄准的混合动画,还是基本的待机动画
8)修改规则里的动画融合时间,让动画显示更为平滑;
9)在动画蓝图增加插槽,用来播放蒙太奇动画
1