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("右脚");

}

效果如下:

事件的应用场景:

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

相关推荐
特种加菲猫2 分钟前
指尖上的魔法:优雅高效的Linux命令手册
linux·笔记
wuxuanok29 分钟前
Web后端开发-分层解耦
java·笔记·后端·学习
wuxuanok1 小时前
Web后端开发-请求响应
java·开发语言·笔记·学习
i7i8i9com1 小时前
后端微服务基础架构Spring Cloud
学习
诗句藏于尽头2 小时前
内网使用rustdesk搭建远程桌面详细版
笔记
蜡笔小电芯2 小时前
【C语言】指针与回调机制学习笔记
c语言·笔记·学习
丰锋ff2 小时前
瑞斯拜考研词汇课笔记
笔记
im_AMBER3 小时前
学习日志03 python
学习
DKPT4 小时前
Java享元模式实现方式与应用场景分析
java·笔记·学习·设计模式·享元模式
Green1Leaves4 小时前
pytorch学习-11卷积神经网络(高级篇)
pytorch·学习·cnn