动画

动画系统构成

动画系统的构成

概念解释
Animator动画控制组件,用于控制动画的播放。Animator 组件读取 AnimatorController 作为动画数据。
AnimatorController用于存储 Animator 组件的动画数据。一个 AnimatorController 包含多个 AnimatorControllerLayer,用于分层播放或动画叠加。
AnimatorControllerParameter动画控制器中使用的变量,使用户可以通过在脚本中通过 Animator 设置参数的值以控制动画状态的切换。
AnimatorControllerLayer存储该层的动画状态机数据,混合模式以及混合的权重。
AnimatorStateMachine每个 AnimatorControllerLayer 中有一个 AnimatorStateMachine,用于控制动画状态的播放及状态间的切换及过渡。
BlendingMode动画层的混合模式,默认为 AnimatorLayerBlendingMode.Override 既覆盖模式,可以通过将下面的层设置为 AnimatorLayerBlendingMode.Additive 实现动画叠加的效果。
AnimatorStateAnimatorState 是 AnimatorStateMachine 的基本构成。可以控制 AnimationClip 的速度,是否循环,开始结束时间。每个 AnimatorState 需绑定一个 AnimationClip,当处于该状态时,则会播放该 AnimationClip。
AnimationClip动画片段,存储设计师制作的基于关键帧的动画数据。一个 AnimationClip 一般对应一个模型的特定动作,每个 AnimationClip 包含多个 AnimationCurve。
StateMachineScript你可以为每个 AnimatorState 添加状态机脚本,它可以让你在动画状态机的不同事件(如状态进入、退出、更新等)中接收到回调
AnimatorTransitionAnimatorTransition 定义了状态机何时以及如何从一个状态过渡到另一个状态。通过它可以设置两个动画状态的过渡开始时间 exitTime,目标状态的开始时间 offset 及过渡时长 duration。 conditions, 转换到下一个状态的条件集合
AnimatorCondition它用于定义从一个 AnimatorState 转换到另一个 AnimatorState 的条件。
AnimationCurve一个模型拥有多个骨骼,模型动画中每个骨骼实体的指定属性的动画关键帧数据存储于 AnimationCurve 中。一个 AnimationCurve 中包含多个 Keyframe 既关键帧数据。
AnimationEventAnimationEvent 可以让你在指定时间调用其同一实体绑定的脚本的回调函数.
Keyframe存储动画关键帧数据,既指定时间实体的属性的值应是多少。
Interpolation动画曲线中关键帧的插值方式。既当时间在两个关键帧间时,属性的值该如何计算。

这篇文档对您有帮助吗?