wayne1984

Unity实现《怪物猎人》攻击连招

https://mp.weixin.qq.com/s/TjoY5mSDNhB0RFzMMXwtCw   转 

后来我尝试改进一下,秉持了这个原则,能不用Trigger的地方就不用,改为CrossFace来控制。这样会减少连线,尤其是配合FSM来撸代码的时候,当进入某个状态的时候,就直接CrossFade到某个动画上面,这样即简单了连线有减少了Param的数量。

 

 

下面进入攻击连招的正题:

新建一个Animator,添加一个idle动画,作为默认动画,这个不是本次的重点

然后单独建立一个Sub-State Machine,这样可以将攻击有关的动画全部放在一起,看起来舒服点。

 

下面加入上面的三个动画并连线

 

 

每个攻击动画结束的时候都需要切到Idle上去,所以需要勾选上Has Exit Time,钩上之后就会在动画播放完成后自动退出状态切到Idle上去

而连招之间的过渡,则需要做一些配置

首先添加一个Trigger用来做攻击动画的条件 ,我这里取名ComboTrigger,然后取消勾选Has Exit Time,并将ComboTrigger作为条件

在看一下第三个动画,我希望让高举斧头的时候动画更慢一点,让整个动作更具有力量感和张力,下面介绍一下如何实现这样的效果

 

 

 

 在动画的FBX文件中添加一条曲线 并命名成animSpeed,并在动画属性中添加一条名字相同的float变量animSpeed,曲线在需要变慢的地方向下移,这样animSpeed的值就会跟着这一条曲线发生改变,最后在Animatoer中设置速度

 

 

这样就能够让动画速度随着曲线而改变,能够在没有动画师的条件下,改动动画速度了。

 

发表于 2021-01-05 14:34  wayne1984  阅读(186)  评论(0编辑  收藏  举报
 

分类:

技术点:

相关文章:

  • 2021-08-12
  • 2021-09-18
  • 2022-12-23
  • 2021-09-12
  • 2022-02-09
  • 2022-12-23
  • 2021-08-20
  • 2021-10-22
猜你喜欢
  • 2021-08-24
  • 2022-12-23
  • 2021-06-15
  • 2021-07-23
  • 2021-10-12
  • 2022-12-23
相关资源
相似解决方案