调试指南
在使用GMS过程中,你有如下几种方式对遇到的问题进行排查。
调试组件
你可以为角色添加BC_GMS_DebugComponent。
该组件用于辅助展示角色当前的以下信息:
- Actor 的世界朝向
- 动画空间朝向
- 视图(View)朝向 此组件便于开发者调试角色的运动和动画行为。
系统日志
在你的Config/DefaultEngine.ini加入如下设置:
ts
GMS主要有两个日志分类:
- LogGMS:用于运动控制部分,Verbose会在关键代码输出比较详细的日志,而VeryVerbose则是会详细地输出每帧都在变化的日志(如每一帧的旋转)。
- LogGMS_Animation:用于动画控制部分,Verbose会在关键代码输出比较详细的日志,而VeryVerbose则是会详细地输出每帧都在变化的日志(如每一次的原地转身详情)
组件细节面板
最简单简单方式是:在游戏运行时,找到你的角色,在细节面板中找到角色运动系统组件,观察细节面板。
查看运动设置状态:
你能知道运动系统组件中当前所套用的设置。通过这些信息来排查当前的设置是否切换到你所希望的设置。
查看控制系统的状态:
角色运动控制的当前所有状态,你都可以在State分类下进行查看。
主动画蓝图状态:
你还可以展开MainAnimInstance
查看动画层状态:
展开AnimLayers,你能看到角色当前使用的所有动画层的设置及其状态,通过这些信息来排查响应的设置是否正确应用。
RewindDebugger
这是官方提供的动画调试工具,通过Tools->Debug->RewindDebugger打开调试面板。
确保游戏处于运行中,然后在调试面板中选择你要调试的角色。
点击红色的按钮开始录制,它会显示和记录关于该角色的所有动画相关的信息。
再次点击红色按钮结束录制后,你可以暂停游戏,然后对录制结果进行回放,以此来排查相关的问题。
性能衡量
GMS对系统中的关键代码,添加了性能衡量统计。
通过Console输入Stat GMS即可。
常见问题
角色不按预期移动
- 确认角色使用
GMS_CharacterMovementComponent,并挂载了GMS_CharacterMovementSystemComponent。 - 检查当前 Movement Definition、Movement Set 和 Control Setting,确认
BackendSettings中有 Character 后端设置及当前 Movement State 的参数行。 - 查看 Output Log 中的
LogGMS错误。缺少后端设置或状态行时,GMS 不会应用该状态的后端参数。 - 如果 AI 的步态不符合速度,检查 Control Setting 的
SpeedToMovementStateCurve和 Movement States;如果朝向异常,检查角色与 CMC 上是否启用了与 GMS 竞争的旋转设置。
配置详情见角色运动系统和运动控制设置。
与Sequence配合使用产生的问题
当你将角色拖拽到Sequence中时,实际的主动画蓝图实例会被ControlRig覆盖,从而在运行时会产生崩溃。移除此Track即可。
原因如下: