unity学习笔记18

模型文件属性简介

1.动画类型:一共有四种:无 表示没有动画,旧版 就表示这个模型文件里面的动画片段可以用animation组件来播放的,最后两个 "泛型"和"人形"都是animator组件来播放的。区别是泛型支持所有类型的动画播放,而人形是把人物的动画类型单独做一个分类。

选择Animation

这个时间轴表示动画的长度,可以修改长度

这个表示动画剪辑,点击加号可以生成。选择对应的动画剪辑,那么下方的设置都是为对应的动画剪辑做设置。

这个颜色表示匹配的程度,绿色代表很匹配,黄色代表勉强匹配,红色代表特别不匹配。

2.曲线:这个表示随着动画的执行返回的数值会越来越大,曲线上也可以增加关键帧来对曲线进行修改。

作用:比如角色有个挥拳动作,随着时间的增加拳头上的火焰特效越大,那么就可以给挥拳一个曲线数值由小到大,拿到这个数值再将这个数值返回给火焰特效,就可以通过这个数值来控制火焰的大小。

获取曲线数值的方式;

现在Run动画里面有一个曲线Test,且曲线数值是一个float类型的,可以在动画器中添加以恶搞float类型的参数来获取曲线的数值,当跑步动画执行的时候这个Test的数值就会发生改变。动画器的参数和曲线的名称必须一致才有值。

通过脚本来获取数值

Debug.Log(animator.GetFloat("Test"));

当动画执行Run的时候就能获取到属性的变化,动画可以设置多个曲线

3.事件:

是一种允许在动画播放的特定时间点上调用脚本方法的机制。通过动画事件,可以在动画播放的过程中触发自定义代码,实现一些特殊的逻辑、声音效果、粒子效果等。

使用方式:这两个白色线条是同步的,如果想在动作的某个时刻执行方法,在时间轴上找到希望触发事件的关键帧,就在该关键帧上添加事件。比如在run动画中,角色的脚接触地面时打印一个数值。然后脚本中编写将在动画事件触发时执行的方法。确保方法的签名是 void YourMethodName()。

示例:当角色左脚接触地面时添加一个事件将函数命名为LeftFoot,右键添加一个事件rightFoot。

只要动画执行的物体的脚本中有对应的方法就能执行这些事件。

测试代码,执行不同的方法时打印不同消息。

void leftFoot()

{

Debug.Log("左脚");

}

void rightFoot()

{

Debug.Log("右脚");

}

效果如下:

事件的应用场景:

播放声音:在动画的特定时刻播放声音效果。粒子效果:触发粒子系统的特效。触发动画状态切换:在动画的某个关键帧上切换到不同的动画状态。改变游戏状态:触发脚本中的方法来改变游戏状态或执行其他游戏逻辑。动态生成物体:在特定时间点生成新的游戏对象。

相关推荐
Wang's Blog2 分钟前
PostgreSQL笔记36:执行计划基础解读与优化器成本模型
数据库·笔记·postgresql
u0103055275 分钟前
昇腾AI赋能安卓智能助手
人工智能·笔记
Wang's Blog12 分钟前
PostgreSQL笔记35:索引常见问题诊断与解决方案全景解析
数据库·笔记·postgresql
丰锋ff1 小时前
基于 Qt 的智慧社区物业管理系统学习过程
学习
小贺儿开发1 小时前
Unity 程序员编曲花絮:汪峰《河流》细节修复
科技·学习·unity·程序员·音乐·demo·写代码
其实防守也摸鱼1 小时前
Codex破局:前端组件秒级生成的技术文章大纲
开发语言·前端·人工智能·学习·安全·web安全
wuhuhuan1 小时前
【JMeter 学习打卡 Day 5】控制流程和节奏的利器
学习·jmeter
_Narcissus_1 小时前
枚举和模拟算法笔记
c语言·数据结构·c++·笔记·算法·模拟·枚举
YM52e2 小时前
鸿蒙ArkTS项目实战 - 门店陈列巡检台:完整代码与运行效果
学习·华为·harmonyos
️学习的小王2 小时前
NumPy完整学习笔记:ndarray数组详解、创建、索引切片、常用函数与运算
笔记·学习·numpy