当前位置: 首页> 房产> 建筑 > 第十四节、受伤、死亡的逻辑和动画

第十四节、受伤、死亡的逻辑和动画

时间:2025/7/9 14:16:15来源:https://blog.csdn.net/akjhgi/article/details/140910211 浏览次数:1次

一、受伤的动画效果

1齿轮控制当前动画图层的权重

2、层级

当前动画层为add,所以不会覆盖之前的动画层,而是添加一个动画层

3、受伤闪烁

调用颜色的值,实现受伤闪烁

4、录制动画

点击时间轴,插入关键帧

伤害图层选择add,填入动画状态,进行连接

设置参数Trigger

条件为触发

播放完即可返回

二、动画器关联代码

1、打开PlayerAnimation代码

2、由于Trigger是单次执行的方法,不能放在update中,单独创建一个方法

三、UnityEvent(事件)

此处,人物受伤减血,可能触发声音、位移、闪烁、动画

如何触发多个,即为事件

1、必须调用命名空间

2、开始创建事件

1、类型

创建类型为Event

《》中传入信息(此处受伤后退,传入transform)

OnTakeDamage是自定义的事件名

2、方法

在此处事件触发,即可调用所有的添加方法



3、启动事件

固定的写法

“ 事件名?.Invoke ”

事件有一个transform参数    传入攻击者的攻击方向

四、人物受伤反弹

1、定义两个变量

2、定义一个受伤的方法,传入参数

受伤害为真

XY的值为零,也就是停止运动

计算人物方向:当前位置  减去  攻击者位置 (我左为负,我右为正)乘以反弹力

如果玩家距离攻击者远,这个值可能会很多大,此时需要归一化,normalize

3、给刚体添加力的作用

取反

函数中调用的参数和事件中的参数一致,即可快速选择此方法

五、动画状态机

此时玩家受到碰撞后一直为受伤状态

1、在动画上添加代码

2、动画状态机

此代码是一个继承动画状态机,是一个写好代码的模板

包含动画进入、持续、退出

只需删除注释,即可使用

在这里设置为

false

六、玩家死亡

1、创建玩家死亡状态和方法

2、关闭所有状态

3、设置参数

4、增加事件

5、Loop循环动画

此时人物一直播放死亡动画

由于连接任何状态,部分动画不需要循环播放,取消勾选即可

关键字:第十四节、受伤、死亡的逻辑和动画

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: