概述
本文阐述GMS中的CharacterMovementSystem(角色运动系统)组件的基本配置方式。
运动系统组件配置
该系统与 UE 的 Character 配套使用,但运动后端必须使用 GMS 提供的 GMS_CharacterMovementComponent(C++ 类:UGMS_CharacterMovementComponent)。默认的 CharacterMovementComponent 不会应用 GMS 的后端运动设置。
配置步骤:
- 将角色的 Movement Component 类设置为
GMS_CharacterMovementComponent。 - 为角色添加
GMS_CharacterMovementSystemComponent(C++ 类:UGMS_CharacterMovementSystemComponent)。
其中,组件的关键配置如下:
- 指定角色采用的运动定义。
- 指定采用当前运动定义中的哪个运动集设置。
- 指定角色的默认旋转模式。
- 指定角色的默认拥有的Tags用于驱动动画选择。
此外,当前 Control Setting 的 BackendSettings 必须包含 UGMS_CharacterMovementBackendSetting,并为使用中的 Movement States 配置后端参数;详见运动控制设置。
其余配置均有编辑器内提示。
运动模式和游戏标记
在GMS中,使用GameplayTag来表示不同的运动模式。
在这里将 CharacterMovementComponent(CMC)的标准运动模式映射到 Gameplay Tag,并用 CustomMovementModeToTagMapping 将自定义模式编号映射到 Tag。这些映射把后端当前模式同步为 GMS 的语义状态,供运动和动画逻辑识别。
Note
模式映射只同步后端当前模式对应的 GMS 语义状态,不会为后端实现新的运动行为。Grounded 和 InAir 使用 GMS 内置处理;其他自定义模式需要实现并注册相应的后端处理器,否则不会执行该模式对应的运动逻辑。
如需添加自定义运动模式,请参考拓展指南。
角色类设置
以下旋转设置适用于已将运动组件替换为 GMS_CharacterMovementComponent 的角色。GMS使用自己的旋转系统,因此按图关闭角色上的这些设置。
角色移动组件设置
在 GMS_CharacterMovementComponent 上关闭如下设置,并将 Rotation Rate 设置为 0。
建议开启如下设置来确保Stop动画更容易呈现。
AI设置
GMS 基础运动动画依赖加速度来驱动 Start/Stop 表现。确认 AI 使用的角色也配置了 GMS_CharacterMovementComponent;后端加速度应在当前 Control Setting 的 BackendSettings 中配置。AI 的期望速度分类应与 Movement States 及 SpeedToMovementStateCurve 保持一致。