也许更好的阅读体验
Animation
Unity中Animation类并不是直接记载了和播放动画有关的信息,可以简单理解Animation为一个动画播放器,播放的具体内容就像卡带一样,当我们有了卡带后我们可以播放动画。
对应的则是编辑器中的组件

所以Animation里有一些和播放器的函数:
| 函数名 | 函数功能 |
|---|---|
| Isplaying(string name) | 名称为name的动画是否在播放 |
| Play | 播放动画 |
| Stop | 停止所有使用该动画播放器启动的正在播放的剪辑 |
| AddClip | 添加一段剪辑(插入一个卡带) |
| RemoveClip | 移除一段剪辑 |
| Sample | 对当前状态取样 |
AnimationClip
而卡带则是AnimationClip,对应到Timeline里就是这样的一段区间

编辑器中打开Animation栏后进行编辑的也是它

通常我们称clip为剪辑
在clip中存放了各种信息,如动画事件、动画曲线、动画长度等。可以认为clip是信息的集合。
| 函数名 | 函数功能 |
|---|---|
| AddEvent | 添加动画事件 |
| SetCurve | 添加动画曲线 |
| SampleAnimation | 在给定时间对动画进行采样 |
AnimationEvent
AnimationEvent可以给动画添加事件,可以去触发参数数量为0或者1的函数。
| 变量名 | 功能 |
|---|---|
| time | 事件触发时间 |
| functionName | 将调用的函数名称 |
| inParameter | int类型函数参数 |
| floatParameter | float类型函数参数 |
| stringParameter | string类型函数参数 |
AnimationCurve
AnimationCurve则是动画曲线,保存了动画的关键帧的集合。
在clip调用SetCurve时设定曲线对应的组件类型。
编辑器里对应的是这个

| 函数名/变量名 | 功能 |
|---|---|
| keys | 变量keys保存了所有的关键帧 |
| AddKey | 添加一个关键帧 |
| RemoveKey | 移除一个关键帧 |
Keyframe
Keyframe是关键帧,保存关键帧的信息,包括时间、权重、曲线的斜率等信息。
| 变量名 | 功能 |
|---|---|
| inTangent | 此关键帧的传入切线 |
| inWeight | 此关键帧的传入权重 |
| outTangent | 此关键帧的传出切线 |
| outWeight | 此关键帧的传出权重 |
| time | 关键帧的时间 |
| value | 关键帧处的曲线值 |
| weightedMode | 关键帧的权重模式 |