ue4实现剑盾战斗

一、武器的添加

方法1:

创建插槽

打开人物骨骼界面(在任意动画里也能看到骨骼界面)

找到左右手,分别创建一个插槽,命名为剑和盾

然后放预览,调好位置,人物蓝图添加组件,蓝图那attach就行

方法2:

将剑盾建立为actor,也放到插槽

二、举盾

使用瞄准偏移(不用混合空间),放入不举盾和举盾的动画,参数设置为rise(不适用瞄准偏移的动画序列是放不进去的)

可以将瞄准偏移直接放在状态机后面

在人物蓝图中增加变量rise,按下右键时根据时间轴节点设置rise的值,松开右键时反向执行时间轴

在动画蓝图中将人物蓝图的rise值传入

最后添加布尔值 是否举盾了,当rise为1时设置为是,便于后面逻辑

注意原本的站立等姿势也要改变为持剑盾时的姿势

三、闪避动作实现及限制

注意优先级,如播放动画时,在空中时,举盾时哪些是互斥的

空中不能闪避,通过检测实现,用到节点is falling

要流畅,在蒙太奇动画快结束时使用通知

要更流畅的话,在收到通知后又有任何其他输入(如按w前进、s后退)且输入的值>0时(意思就是闪避动画播放还没结束,但你按了w使前进输入大于了0,它才提前结束这个闪避动画),停止播放当前蒙太奇动画(可以用get anim instance获得当前mesh的动画)。通过在输入移动的后面添加判断和结束当前蒙太奇动画来实现。

四、移动

设置完角色移动旋转后,要使其闪避之类的更流畅,可以:

可以设置举盾时的最大移动速度,就可以当举盾时降低速度

状态机实现跳跃

eg:站立到起跳的条件为isinair?,起跳到跳跃中的条件为:起跳的动画的剩余时间<0.1

优化:解决落地时接着移动脚不动滑步的问题

速度大于10其实差不多就是有速度时,就进入站立/走路/跑步,而原地跳跃它就会正常落地

在闪避动画中添加多一个通知:combo,后面的攻击会讲

五、攻击

使用结构体存储攻击的各项参数,创建-蓝图-结构

结构体中添加3个变量:攻击动画(蒙太奇引用)、伤害(浮点)、攻击方式(命名)

然后在人物蓝图中创建新的变量,类型为上面的结构体,并设为数组,往里添加几个元素

攻击的蒙太奇动画需要两个通知,一个attack,一个attackover,前者用于开启伤害判定,位置放在快砍到敌人的时候;后者用于通知结束可衔接下一个. 若一个动画有多个攻击点位,如挥两下,则设两个攻击通知

连击:在attackover的通知后,动画结束前,增加一个通知combo,即在攻击结束后,动画结束前再按下攻击键则发动下一击,否则ID归0

注意在闪避处也添加个combo(可放在开头).

注意:变量“正在动画中”的开启是在动画播放前,而关闭是在收到动画结束的通知时

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值