制作受伤和死亡动画
受伤动画
死亡动画就是在受伤动画基础上,增加 Color.a 从 1 ~ 0 的变化
动画状态机如下
当 hurt 触发的时候,从 Any State 立刻进入 boarHurt,当 boarHurt 播放完一帧之后进入 Exit
当 dead = true 的时候,从 Any State 立刻进入 boarDead
注意,从 Any State 出来的连线都需要将 Can Transiton To Self 取消勾选
野猪调用受伤和死亡动画
野猪的 Character 上面绑定 OnTakeDamage 和 OnDie 两个函数
OnTakeDamage
野猪被攻击的时候,需要面向攻击者,播放受伤动画,并且被击退。为了与玩家被击退的速度一致,这边野猪的 hurtForce 也改为 5
OnDie
野猪在死亡的时候,需要切换到 ignore raycast 层,避免和玩家再次产生碰撞
注意 ignore raycast 和 player 的碰撞需要手动取消掉
然后设置 isDead,这样动画状态机就会播放野猪死亡的动画了
在野猪死亡动画的最后一帧,可以添加一个帧事件,让野猪调用 DestroyAfterAnimation 自行销毁
项目相关代码
代码仓库:https://gitee.com/nbda1121440/2DAdventure.git
标签:动画,野猪,受伤,State,死亡,Any From: https://www.cnblogs.com/hellozjf/p/18032090