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

}

效果如下:

事件的应用场景:

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

相关推荐
LinXunFeng7 天前
Obsidian - 使用 Share Note 分享笔记并自部署
前端·笔记·github
通信小呆呆12 天前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
H__Rick12 天前
自动对焦学习-3
人工智能·学习·计算机视觉
Daisy Lee12 天前
量化学习-第1章-什么是量化金融
学习·金融·datawhale
Alsn8612 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
YM52e12 天前
买菜计算器小应用 - HarmonyOS ArkUI 开发实战-PC版本
学习·华为·harmonyos·鸿蒙·鸿蒙系统
小雨下雨的雨12 天前
HarmonyOS ArkUI训练营入门-组件掌握系列-Animation 动画效果实现-PC版本
学习·华为·harmonyos·鸿蒙
闪闪发亮的小星星12 天前
高斯光以及高斯光公式解释
笔记
cqbzcsq12 天前
CellFlow虚拟细胞论文阅读
论文阅读·人工智能·笔记·学习·生物信息
YangYang9YangYan12 天前
2026初入职场学习数据分析的价值
学习·数据挖掘·数据分析