🚀 春季促销开始! 🚀 不要错过以7折优惠购买我所有系统的机会! 

点击购买

运动控制系统拓展

运动控制系统拓展

系统提供GMS_MovementSystemComponent,该组件是抽象的,提供了运动逻辑的通用功能。

简易拓展

更具体的,GMS提供了一个CharacterMovementSystemComponent(CMS,继承自GMS_MovementSystemComponent),该组件与ACharacter类配合使用。

该组件中预留了大多数接口可在蓝图/C++中重写,你应该从它继承一份,并探索有哪些可以覆写的内容。

拓展新的运动模式

在使用指南中有提到,GMS目前只处理Grounded和InAir时的状态。因此如果切换成其他的GMS未实现的运动模式,那么GMS是什么也不会做的。

这时候你可以在你的CMS子类中,覆写对应的函数以处理其他运动模式的控制。

如果你希望在某些特殊的运动模式下,将运动的控制完全托管给第三方系统,那么直接关闭CMS的tick更新是最便捷的方式。(这方案太粗暴,后面会有更优雅的做法)

创建新的运动系统组件

这种情况比较少见,但如果你需要支持自定义的移动组件(非CMC),同时又希望保留同样的使用接口,那么你应该创建一个继承自GMS_MovementSystemComponent的新组件,并实现自定义的逻辑。

举个例子:创建一个名为MoverMovementSystemComponent以支持Mover2.0提供的CharacterMoverComponent。