系列导航
第零至第七部分 · 主线 01~30(全景地图 → 引擎地基 → 客户端 → 渲染与表现 → 网络与服务器 → 生产与效能 → 质量与安全 → 运营与前沿)
第八部分 · 进阶专题 31 物理与碰撞 / 32 技能与战斗框架 / 33 游戏 AI / 34 着色器编译与 PSO 卡顿 / 35 网络传输层与弱网对抗 / 36 匹配与排位算法 / 37 相机、输入与手感 / 38 音频技术 / 39 存档与数据演进 / 40 主机平台开发 / 41 UGC 与模组 / 42 程序化内容生成 /43 动画进阶← 当前 / 44 无障碍设计
导读
第 14 篇介绍了动画系统的基础:骨骼、蒙皮、状态机、混合空间与动画蒙太奇。当项目对角色表现的要求越来越高,基础方案会逐渐暴露出问题:
- 移动状态机里有上百个状态、上千条过渡,没人敢改,改一处就有别处滑步;
- 角色急停转身时脚底打滑,动画师说"动画是对的",程序说"速度是策划要求的",双方都没错;
- 角色站在台阶上,一只脚悬空,另一只脚插进地面;
- 被击中时只会播放固定的受击动画,无论子弹从哪个方向来;
- 一个城市场景放了 300 个行人,动画更新占了一半的 CPU 帧时间;
- 联机时,其他玩家的角色在开枪瞬间姿势不同,导致"明明打中头却判定没中"。
这些问题分别属于不同的层面:动画选择(选哪段动画)、动画修正(让动画适配当前环境)、物理与程序化(不依赖