也许更好的阅读体验

Animation

Unity中Animation类并不是直接记载了和播放动画有关的信息,可以简单理解Animation为一个动画播放器,播放的具体内容就像卡带一样,当我们有了卡带后我们可以播放动画。

对应的则是编辑器中的组件

Unity中有关Animation的一点笔记_权重

所以Animation里有一些和播放器的函数:

函数名

函数功能

Isplaying(string name)

名称为name的动画是否在播放

Play

播放动画

Stop

停止所有使用该动画播放器启动的正在播放的剪辑

AddClip

添加一段剪辑(插入一个卡带)

RemoveClip

移除一段剪辑

Sample

对当前状态取样

AnimationClip

而卡带则是AnimationClip,对应到Timeline里就是这样的一段区间

Unity中有关Animation的一点笔记_unity_02

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

Unity中有关Animation的一点笔记_游戏引擎_03

通常我们称clip为剪辑
在clip中存放了各种信息,如动画事件、动画曲线、动画长度等。可以认为clip是信息的集合。

函数名

函数功能

AddEvent

添加动画事件

SetCurve

添加动画曲线

SampleAnimation

在给定时间对动画进行采样

AnimationEvent

AnimationEvent可以给动画添加事件,可以去触发参数数量为0或者1的函数。

变量名

功能

time

事件触发时间

functionName

将调用的函数名称

inParameter

int类型函数参数

floatParameter

float类型函数参数

stringParameter

string类型函数参数

AnimationCurve

AnimationCurve则是动画曲线,保存了动画的关键帧的集合。

在clip调用SetCurve时设定曲线对应的组件类型。

编辑器里对应的是这个

Unity中有关Animation的一点笔记_游戏引擎_04

函数名/变量名

功能

keys

变量keys保存了所有的关键帧

AddKey

添加一个关键帧

RemoveKey

移除一个关键帧

Keyframe

Keyframe是关键帧,保存关键帧的信息,包括时间、权重、曲线的斜率等信息。

变量名

功能

inTangent

此关键帧的传入切线

inWeight

此关键帧的传入权重

outTangent

此关键帧的传出切线

outWeight

此关键帧的传出权重

time

关键帧的时间

value

关键帧处的曲线值

weightedMode

关键帧的权重模式