Keep your place in this quest

Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.

编辑场景只是工作的一半。您还需要测试在游戏运行时它的表现。Cave 通过“游戏模式”使这变得快速。

游戏模式在编辑器内部运行当前场景,以便您可以测试游戏玩法、控制、脚本、逻辑、相机、UI、物理和场景行为,而无需导出游戏。

image.png

开始游戏模式

要开始游戏模式,请按 F5,您也可以点击编辑器工具栏中的 Play Game 按钮。

当游戏模式启动时,Cave 首先保存脏项目内容。这有助于确保运行的场景与您工作的最新保存版本匹配。之后,编辑器将场景切换为游戏仿真。

> 请注意,在 Cave 中,游戏模式发生在编辑器内部,为您带来了更好的开发体验。

停止游戏模式

要停止游戏模式,请再次按 F5。如果您启用了编辑器控制(稍后您会看到这一点),您也可以点击编辑器工具栏中的 Stop Game 按钮。

当游戏模式停止时,Cave 退出游戏仿真并从磁盘重新加载项目内容。这意味着在游戏模式下所做的更改是临时的。例如,如果您在游戏运行时移动一个实体,该移动仅用于测试。当您停止游戏模式时,场景会返回到保存的版本。

这很重要:不要将游戏模式作为永久编辑关卡的方式。使用它来测试行为。

游戏模式下的编辑器控制

当游戏模式开始时,Cave 将控制权交给游戏。

这通常是您想要的。如果您的游戏使用鼠标视角、移动键、相机控制或 UI 输入,则游戏需要接收这些输入,而不是编辑器。这也意味着整个编辑器界面被禁用以进行操作。

在播放期间,编辑器的顶部部分会显示这样的消息:

停止游戏 (F5) ... 或 F3 切换控制

F3 可以在游戏仍在运行时启用编辑器控制,这让您可以在游戏模式下检查场景,重新启用编辑器界面以进行编辑。再次按 F3 将控制权交还给游戏。

当您停止游戏时,编辑器界面始终会重新启用。

在游戏运行时检查

正如我们刚刚看到的,启用编辑器控制后,您可以检查场景中发生的事情。

这对于检查很有用:

  • 实体的移动位置。
  • 触发器是否正在触发。
  • 相机是否正确定位。
  • UI 是否可见。
  • 物理对象是否正确表现。
  • 脚本或逻辑是否按预期更改值。

场景图属性控制台 在测试时特别有用。

在游戏模式下,您的游戏逻辑会继续运行,无论您是否启用了控制。因此,知道手动选择、编辑或更改实体可能会在该游戏会话期间破坏您自己的游戏逻辑是很重要的。

请记住,运行时的更改仍然是临时的。如果您希望更改是永久的,请停止游戏模式并在编辑模式下进行更改。

控制台是测试的一部分

在测试时保持 控制台 可见。

image.png

它可以显示:

  • 脚本打印。
  • 引擎消息。
  • 警告。
  • 错误。
  • 导入或保存消息。
  • 运行时反馈。

如果某些内容无法正常工作,请在猜测之前检查控制台。它通常会给您第一个真实的线索,例如:

  • 脚本可能未能运行。
  • 资源引用可能丢失。
  • 逻辑可能打印您未预期的值。
  • 警告可能解释某些内容被跳过的原因。

当您阅读引擎给出的反馈时,测试会快得多。


游戏模式与导出不同

游戏模式是测试在编辑器内的最快方法,但它仍在编辑器的陪伴下运行。

这非常适合快速迭代。然而,有时您需要测试游戏更像玩家的体验。

为此,请使用独立运行时测试:

作为独立运行时进行测试

要在单独的运行时窗口中测试游戏:

  1. 打开 设置 标签。
  2. 转到 游戏设置
  3. 找到 作为运行时测试您的游戏
  4. 选择如果该选项可用则播放当前场景。
  5. 点击 保存并运行独立播放器

Cave 保存项目并通过播放器/运行时启动游戏。

image.png

当您想测试窗口行为、输入焦点、游戏启动、玩家控制、仅运行时行为或仅仅是游戏在编辑器外的感觉时,这非常有用。

这在创建和测试在线游戏时尤其有用,您需要同时运行多个游戏实例。

您不需要在每次小更改后都使用独立测试。对于快速迭代使用游戏模式,而在您想要更真实的游戏运行时使用独立测试。


一个良好的测试循环

一个简单的 Cave 测试循环看起来是这样的:

  1. 编辑场景。
  2. F5 进入游戏模式。
  3. 测试行为。
  4. 检查控制台。
  5. F5 停止。
  6. 在编辑模式下进行更改。
  7. 重复。

这个循环是编辑器快速工作的主要原因之一。

构建一点,测试一点,修复一点,继续前进。