|
本页面的内容:
启用调试
断点
调试控制
观察数值
蓝图调试器标签
编译错误
在使用蓝图时,可能出现预料之外的状况。为诊断这些问题,蓝图可视化脚本工具除自带调试器外,还拥有最强大的功能之一:在图表中为节点添加 断点(Breakpoints)。在图表中为节点添加断点后,可在编辑器中正常进行(或模拟)游戏。到达存在断点的节点后,游戏将暂停并跳至图表中的节点,以便对脚本进行检查,确认问题出于何处。
另一个实用调试功能是 Watch Values,它可将蓝图中一个(或多个)变量标记到 观察(Watch),以便在游戏运行时在蓝图中看到变量数值。这对调试变量错误计算或数值十分重要,因为可以在变量实时变化时发现错误的源头。
在本页中,您将学习如何为蓝图设置调试,以及用于诊断问题的其他方法。
如需了解蓝图调试的更多内容,请查阅 蓝图调试 文档。
启用调试
如需启用蓝图调试,首先必须规定需要进行调试的蓝图实例位于关卡中。
在蓝图中,点击 Debug Object 下拉菜单,然后选择调试器中的实例。
选定对象后,点击放大镜图标可在关卡中跳至该对象。
在编辑器中进行游戏时,将蓝图放置于另一个窗口中,则可看到脚本执行时跳动的“活性线条”。
在上例的关卡中有两个火焰效果蓝图,各自拥有不同的停止时间。在 Event Begin Play 节点上(游戏启动后),Delay 节点用于在变量指定的时间结束后 停止 火焰和相关音效。
游戏启动后(当跳动线条离开 Event Begin Play 节点,进入 Delay 节点时)可在左边窗口中看到脚本的执行。在指定时间后,跳动线条进入第三个节点,而该节点用于停止其中一个火焰效果。
断点
在任意执行节点上 单击右键 选择 Add Breakpoint,可添加一个 断点 至蓝图脚本。
除 单击右键 的方法外,还可在选定的节点上按 F9 键切换断点的开关。
断点被添加至节点后,节点的左上角将出现一个红圈。
游戏进程中脚本到达此点时,游戏将暂停并聚焦于此节点。
也可临时禁用断点,记录之前哪些节点指派了断点。
断点被禁用后,到达节点时将忽略断开指令。
Debug 菜单中的选项可用于 禁用/启用 或 删除全部断点。
调试控制
当蓝图到达断点时,可选额外控制选项,方便进行蓝图脚本导航。
顶部从左至右,Resume 用于在编辑器中继续游戏和退出调试模式。Frame Skip 用于以单帧前进游戏进程;Stop 用于编辑器会话中完全停止游戏。Find Node 选项用于从游戏会话跳至当前活动的节点;Step 用于在当前执行流中前进至下个节点。
在节点上放置一个断点后开始脚本进程,然后到达当前执行流的终点时,将自动返回游戏。
调试的常规工作流是为节点添加一个断点,然后使用 Step 在脚本中前进,找到问题源头。放置断点需要注意的是在脚本中无法后退,需将其放置在问题发生之前,才能完整地看到问题的前后全貌。
观察数值
在变量上 单击右键 并选择 Watch this value 选项即可观察变量值。
选择观察变量后,变量访问之处将出现放大镜图标。
变量上方的浮动文本框显示变量的当前数值。在编辑器中进行游戏时,如变量发生变化,它也将反映在文本框中,以便查看其变化和当前数值。观察变量的选项不限于数值式变量,任意变量均可被观察,以便了解数值(下图中的 Boolean 正被观察,我们可以了解其当前状态)。
可通过 Debug 菜单中的 Delete All Watches 选项从所有变量上移除观察符号。
蓝图调试器标签
也可通过 Blueprint Debugger 对蓝图进行调试,该选项位于 Window / Developer Tools 部分。
不在编辑器中进行游戏时,Blueprint Debugger 显示所有被观察的变量或指派的断点(下图黄色框中的内容)。
按住 Shift 键点击关卡中的 Actors 可将多个蓝图添加至 Blueprint Debugger 标签。
在编辑器中进行(或模拟)游戏时,调试器的下部将被填入内容。这部分为 执行追踪(Execution Trace)。
它是所有被执行指令的日志记录,以生成时间排序(上方为最近生成)。
到达断点时,可在蓝图调试器标签中直接访问本页中提及的 调试控制。
编译错误
编译蓝图时出现 编译错误 (下图黄色框所示)存在多种原因。
出现这种情况后,进行游戏时将出现类似于下图的提示信息。
存在错误的蓝图将同样被反映在关卡编辑器视口中。
在这种情况下,可能无法通过调试方法成功确定错误。在编译报错的蓝图中,引起错误的节点将被标记,以便确定问题所在之处。
可在 Compiler Results 窗口中查看关于报错的更多信息。
出现错误时 Compiler Results 窗口将自动弹出。可点击放大镜跳至错误所在位置和问题节点。为帮助解决问题,将显示错误的文本描述。
相关页面
蓝图调试
蓝图可视化脚本
|
|