介绍
动画层指的是实现了某个动画层接口(AnimLayerInterface)的独立动画蓝图。在传统虚幻开发中,一般直接链接到主动画蓝图。
而GMS是一个数据驱动的运动系统,它进一步将动画层的概念进行拆分:
- 动画层设置:静态数据,用于配置一个动画层实例会用到的动画资源,逻辑参数等。
- 动画层实例:即实现了GMS中预设动画层接口(ALI_Locomotion,ALI_Overlay 等)的独立动画蓝图,即动画的逻辑。
你可以在运动集设置中选择不同的动画层设置,当你切换不同的运动集,GMS会自动将"动画层设置"对应的"动画层实例"给链接到主动画蓝图,这叫做“实现跟随配置”的代码设计模式。
而动画层设置与动画层的关系是由动画图表设置(AnimGraphSetting)
定义。
动画图表设置
动画图表设置是一个类型为GMS_AnimGraphSetting
的数据资产,你可以在运动系统组件(GMS_CharacterMovementSystem)上通过AnimGraphSetting
指定不同的图表设置。
下图是默认提供的针对Mannequin动画图表设置。

它能做什么?
得益于“动画层设置”和“动画层实例”之间的映射关系,当不同的动画层设置被应用时,会自动链接不同的动画实例,以达到动态切换底层逻辑。采用这种灵活的架构,你可以完全轻易地新增,修改,或替换相应的功能。
如果你有自定义的动画层she'zhi,它会自动出现在运动集的配置上,但你需要在动画图表中指定好它们之间的映射关系,才能使其正常工作。