Appearance
动画系统
理解动画系统
动画不是视频,而是“属性随时间变化”。 比如一个对象的位置、旋转、缩放、角色骨骼、Sprite 图片帧、UI 透明度、材质颜色,都可以被动画系统控制。
核心公式:
c
动画系统 =
Animation Clip 记录动作
+ Animator Controller 管理状态
+ Animator 负责播放
+ Parameters 让脚本控制切换
+ Rig / Avatar 让角色骨骼对上最重要的链路是:
c
GameObject
-> Animator 组件
-> Animator Controller
-> State 状态机
-> Animation Clip脚本一般不直接“播放所有动画细节”,而是改 Animator 参数:
c
animator.SetFloat("Speed", moveSpeed);
animator.SetBool("IsGrounded", isGrounded);
animator.SetTrigger("Jump");然后 Animator Controller 根据这些参数决定:从 Idle 切到 Run,还是从 Run 切到 Jump。
零基础学习顺序
- 先学
Animation Clip:一个动作片段,比如待机、跑步、攻击。 - 再学
Keyframe / Curve:关键帧记录某一刻的属性,曲线决定中间怎么过渡。 - 再学
Animator Controller:像动作流程图,管理多个动作。 - 再学
State / Transition:状态是当前动作,过渡是切换规则。 - 最后学
Parameters:脚本和动画系统沟通的桥梁。
进阶的 Blend Tree、Layer、Avatar Mask、Root Motion、Timeline 先知道用途就行,不用一开始全啃。
参考链接:
- Unity Manual: Animation
- Unity Manual: Mecanim Animation system
- Unity Manual: Animator component
- Unity Manual: Animator Controller
- Unity Manual: Animation Parameters
- Unity Manual: Animation States
- Unity Manual: Animation Transitions
- Unity Manual: Blend Trees
- Unity Manual: Root Motion
- Unity Manual: Animation Window