系统对比
GMS(GenericMovementSystem) | ALS(V4) | Lyra | |
框架 | 作为框架,可以直接使用,也可以扩充功能。不对你的游戏具体需求作假设。 | 是一个预制好的系统,不是框架,更像一本参考书。 | 是一个预制好的系统,在Lyra项目中可以进行很好的拓展,但要在别的项目中使用Lyra这一套就比较麻烦。 |
是否数据驱动 | 是的,主要采用DataAsset完成运动系统更多设置和动画资源配置。 | 非常有限,仅允许你配置一些控制参数。 | 部分情况下是的,ItemLayer可以允许玩家重载动作资源。 |
Overlay系统 | 支持,可以用各种动画去覆盖各种状态下的其他动画,也同样支持类似ALS那样通过曲线控制身体各部位播放的动画和权重。 | 支持,但其用动画曲线来控制身体各部位的混合与权重。 | 并不直接支持,需要修改原本动画蓝图自己实现。 |
模块化 | 是,Locomotion,叠层,等全都以组合方式制作。 | 否,它是一个整体化的设计,你必须在它的基础Locomotion上制作叠层来使用,替换基础Locomotion比较麻烦。 | 是,但还不够模块化。因为它是为射击游戏准备的。 |
适配度 | 兼容大多数现存虚幻商城的动画,除了人形角色,甚至包含四足动物。 | 大多数情况下你得按照ALS的方式来。 | 比较适配,但仅限人形角色,且适合射击项目。 |
学习难度 | 此系统具备一定的抽象,一开始可能会觉得困难,但有足够的文档/教程帮助你上手,上手后会觉得非常简单。 | 复杂,以至于需要那么多人为其制作教程。 | 如果你直接基于Lyra制作项目,或者认为Lyra的所有功能已经足够,那么它是比较简单的。否则,你依然会花费许多精力去添加/修改功能,就像我一样,最后做出了GMS。 |
关于运动匹配
UE5.4发布了一个非常优秀的MotionMatching(AnimSampeProject)案例,但目前MotionMatching过于依赖动作捕捉的动画,而目前虚幻商城中大多数在售卖的动画并不是动作捕捉的,且对于独立小团队或者个人开发者,你可能不需要500+ AAA动作来完成你的想要的游戏。
对GMS来说,整合MotionMatching仅仅只是将States动画层替换成MotionMatching的实现。我已经有了初步的MM整合方案,并在后续版本中发布。
由于MM是虚幻引擎中的新东西,所以对MM的整合仅作为实验性功能提供。
你可以在这个视频当中看到对MM的实验性整合。