【Unity】Ecs架构的新动画系统.
有机紫菜
2025年04月29日 16:18

Unity6-7世代.的新动画系统.

新一代动画系统(预览版未推出):

写这个文章的目的就是如果有人想提前了解下这个新动画系统,

是否值得切换当前的Mecanim工作流,可以查询看一下.

新动画系统强化了哪里? 简单来说Unity希望这次更新主要关注高级部分的提升,

  1. Workflow Flexibility 工作流程更加灵活

  2. Better Performance 更好的性能.

是否要准备更换到新的动画系统中去? 任何事物,新的不一定好,复杂的也不一定就好. 所以不一定,如果适应了现在的Mecanim则可以暂时观望. 了解2个系统的优缺点. 新系统,主要强在预览,顺手程度,和新的图表与分层状态机.方便动画逻辑管理. 外加ECS级别的性能优化 高级动画协同(动画与对应的aim,ik系统图表化),和一些其他小细节.

  • Mecanim的局限性: 许多团队已经达到Mecanim(Unity当前动画系统)的性能极限,需要更强大的系统来支持他们未来的游戏开发。

  • Mecanim的架构问题: Mecanim并非真正的层次状态机,状态机结构复杂,难以重构,不支持每帧多个过渡,这些都需要改进。

特性列表

  • 预览动画的方式——动画文件管理更容易.可以更加专注的编辑动画部分.动画文件管理更容易.

  • 骨骼资产导入时候更加可配置

    • 比如按照你的约定重命名骨骼名称,禁用面部骨骼,或者进行更大的编辑,比如将默认姿势从 T 改为 A 等.这些操作无需在Dcc中进行了.——✅由此可知,导入到Unity内的动画骨骼应该有一个合理的规范.

    • 骨骼适配的部分(基础骨骼与变体),不止针对人形动画和两足,还对任何多手多脚类型的骨骼增加支持,可以一件迁移不同配置?

    • 跨比例/层级结构的动画重定向——高级的Retargetpro插件已经有这个功能了.

  • 附件和接口(sockets)——这个东西,实际上是,一个快速的武器或附件的引用查找与选择器,可有可无,现在也能实现.新动画的好处是.只关注动画部分的修改,而去掉了编辑器其他部分的干扰,而快速选择武器和附件,也是这种操作优化的体现之一.——✅由此可知,现在的装配武器部分可以自己可视化优化一下操作流程.

  • Clip markup——这个东西,就是让动画剪辑在运行时可以标记具体的事件标记(类似原来的Event原来不太直观的操作)现在这个改动比较直观了,这个有插件现在可以做到,技能编辑器那个.

  • Remapping——重映射,——这个有插件可以做到差不多的重定向方案.不同骨骼的.Retarget Pro

  • Graphs and Tooling——图表和工具.

    • 这个确实有优点,可以在某个动作的时候,关闭瞄准ik啥的.现在的情况是,必须手动去管理这部分内容,在Fsm状态机进入或者触发事件时候,关闭或打开IK,或者其他的一些功能触发.图表化,则是更加统一的去管理了,减少了代码量,实际上作用未知——现在的Mecanim也是代码+图表混合控制人物动画的.——转到新图表的优势在于哪里?

    • 全新状态机真正实现了分层,即使你有数千个动画源也能扩展。它组织得非常好,阅读、重构和重用都更加容易,具有层级、混合空间、子图和集成绑定图,以及约束和数学运算。——也就是提示了,现在的FSM动画状态机,阅读理解起来,有点怪,初学者不清楚如何创建一个清晰的,动画状态机的结构.(这里需要加强一下)

    • 将采用真正的层次状态机,简化状态机构建和重构。支持每帧多个过渡,使动画更流畅。改进层遮罩和按骨骼控制权重。可能支持更复杂的动画图表。

    • 自定义绑定设置——这意味着在一个状态下,你可以有一个控制下半身 IK 的图,而在另一个状态下,你可以有一个完全不同的 IK 图来控制上半身。——✅这个似乎有插件可以实现,高级动画混合Blend是否就是这个功能?Magic Blending

    • 新的状态机反转了退出规则(动画打断机制),这将使生活变得更加容易,因为每个状态不再需要知道所有其他事物的所有退出条件,因此您将能够从父状态退出。新的系统还将支持多个动画源,这些源可以贡献于帧最终渲染的姿态。——原有动画系统需要判断很多逻辑参数?

    • 新图表,和分层状态机.新状态机中的自定义节点似乎不错。例如:剪辑采样和混合、骨骼权重蒙版、层混合以及用于更全面动画姿态系统的绑定节点。这提供了创建更逼真动作和交互的能力。

    • 全新底层rig graph实现姿势校正——这个确实牛掰.实时用图来切换IK状态啥的.等于一个角色的动画,控制更加细致了,开关不同类型的IK控制器,但原来的Mecanim也有的.可以通过脚本实现,就是管理上没有图表那么清晰.

  • Visual Debugging——可视化调试.逐帧录制,并且去检测动画的全方便参数.

  • Ecs级别的性能提升,动画性能强化.——可承载数千角色的分层状态机(现场演示1000个角色30fps流畅运行)