3-3. 野猪-受伤及死亡的逻辑和动画

制作受伤和死亡动画

受伤动画

死亡动画就是在受伤动画基础上,增加 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

标签:20240225_0952

posted @   hellozjf  阅读(65)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示