补间动画 (Tween Animation)
补间动画由关键帧和补间函数(Ease Functions)组成,运行时根据时间 计算当前状态。
- 优势: 资源占用极小,表现平滑,不受帧率波动影响。
- 缺陷: 运行时计算量与动画复杂度成正比。
- 优化: 尝试将动画计算迁移至 GPU (GPU Skinning)。
缓动方程 (Tween Formula)
基础公式: 常用物理公式:
在插值插件(如 DOTween)中,通常使用归一化参数:
tween(t, b, c, d) 对应:时间、初始值、变化量、持续时间。
骨骼动画原理
骨骼状态信息通常以矩阵形式存储。计算出当前帧的骨骼矩阵后,根据顶点权重信息,在顶点着色器(或 CPU)中计算顶点跟随骨骼运动后的最终坐标。
帧动画 (Frame Animation)
以固定帧率播放序列贴图。
- 优势: 表现力上限极高,能够实现复杂的全特效表现。
- 缺陷: 内存占用巨大(贴图序列),帧率不足时会有明显断层感。
- 优化方向:
- 合批: 利用图集减少 DrawCall。
- 位图混合: 在 Shader 中混合多帧贴图,实现平滑过渡。
- 噪点图: 利用噪点图在 GPU 中实现动态扰动。
总结
动画的本质是控制点与时间函数的关系:
Animation = ControlPoint + f(t)
合理选择补间与帧动画,能在保证表现力的前提下最大限度压低包体和内存开销。