摄像机滞后缓冲
人物休息挂机动画
在动画蓝图里新建一个Reset变量
在第三人称蓝图中也新建两个变量:
PressedNum实时记录按键状态
Reset规定人物状态
在Reset变量变成RepReset状态时,会出现一个新函数On Rep Reset,在这个新函数里,将动画蓝图和角色蓝图的两个Reset变量同步起来
枚举MoveState的更新(去掉了Reset状态)
(持续性)受到伤害的时候,同样不能进入待机状态
制作一个伤害环境(伤害盒子+particle系统的火)
制作一个伤害动画蒙太奇:挑选一个受伤动画,右键创建蒙太奇动画(时间短的动画都可以将混入混出时间改为0)
*混合节点blend
插播讲解一下混合节点的映射范围(Map Range)/限制结果(Clamp Result)和内插结果(Interp Result)
内插结果:
映射范围和限制结果是一起的:
映射的意思是将其他数值映射到原来的数值上,像下图,原来的0-1被0-100的输入代替。也就是说,输入100时,实际代表的是1;输入50,实际代表的是0.5。
为了限制输入值,就有了限制结果。如下图 ,数字已经被限制在0-100,当输入200时候,输出的数仍旧是1。
分层动画混合Layerered blend per bone
视频教程:
010 Layered blend per bone
解决开火时候人物滑步的等等bug
在动画蓝图图表中将姿态右键保存姿势
人物旋转朝向的选择:根据战斗状态
当角色移动组件的Use Controller Desired Rotation与Orient Rotation to Movement都勾选上的时候,默认使用的是下面的
丢枪
在UseGunComponent中新建一个函数ThrowGun,新建一个 ThrowGun? 布尔变量
丢枪数据的刷新
(可以在BP_BaseGun里将枪对摄像头的碰撞属性设置为忽略,避免面向镜头丢枪的时候镜头受到碰撞震动 )
判断条件的更新
换枪
换枪的枪曲线动画(如图)
004 Item Z Curve
制作一个换枪动画蒙太奇:找到换枪动画,右键创建蒙太奇动画(时间短的动画都可以将混入混出时间改为0)
在蒙太奇上添加一个通知(时间点要注意,是我们之前找的放腰上枪时候确定的时间)
在UseGunComponent中新建一个函数SwitchGun,并且有一个 PrewWeapon的输入节点
DoOnce避免连滚时只调用SwitchGun不调用Equip
弹药的限制
在BaseGun里初始化得到BP_MyThirdPP
换弹
制作装弹动画:找到装弹动画,右键创建蒙太奇动画
在蒙太奇动画里右键添加一个通知
在UseGunComponent中新建一个函数Reload,输入值为是否按下(松开停止装弹)
在BP_BaseGun里新建一个变量最大装弹量
换弹额外教程
018 Move Clip Lecture
019 Grab and Release Clip
蹲伏
解决蹲伏状态在那里游动的bug(设置蹲伏时候不做移动,站起来重新可以移动)
给Stand to Prone以及Prone to Stand 动画都添加上通知:
蹲下来的放在开头通知
站起来的放在结尾通知
控制角色运动组件
解决一直按蹲伏会抽搐的bug:
蹲伏动画中设置为不能蹲伏的条件,直到动画结束,可以再次蹲伏。
在BP_MyThirdPP新建一个布尔变量CanProne,默认值设为Ture
点击Stand-Prone按钮,在右边新建两个通知,
进入节点时:InS-P ;离开节点时:OutS-P