Choose your operating system:
Windows
macOS
Linux
在编辑器中游戏 支持多个环境,因此,您可以测试联网游戏。编辑器会在已装入的 UE4 实例中生成多个环境,这可缩短迭代时间,并 允许您调试每个环境的 蓝图 。
设置联网测试
在 关卡编辑器工具栏 或 蓝图编辑器工具栏 中的 游戏位置(Play In) 下拉菜单中,您可以设置在开始 在编辑器中游戏 会话时要创建多少个用户端环境。 另外,您可以指定是否运行专用的服务器。
用户端数目(Number of Clients) 字段允许您指定要测试的玩家总数。如果设置为 1,并且未选中 运行专用服务器(Run Dedicated Server) 复选框, 那么 在编辑器中游戏 会话将允许您测试非联网的单机游戏。
此下拉菜单中提供的另一个基本联网选项是 运行专用服务器(Run Dedicated Server) 复选框。如果选中此项,那么将启动"专用服务器"环境,但是没有专用服务器的显示或本地玩家。 使用专用服务器意味着没有用户端作为侦听服务器来运行。专用服务器使您能够查找局限于专用服务器的错误,例如依赖于本地玩家的代码。对于功能依赖于服务器和用户端的 蓝图 , 简单的测试配置是将 玩家数(Number of Players) 设置为 1,并将 运行专用服务器(Run Dedicated Server) 设置为 true 。只有一个窗口用于测试游戏,但其具备连接到专用服务器的用户端的完整功能。
设置这些选项后,请选择您偏爱的 在编辑器中游戏 模式开始测试游戏。如果您有多个用户端环境,并且为 在编辑器中游戏 会话选择 视口(Viewport) 显示类型,那么将在视口中显示一个用户端环境,而所有其他用户端环境都将显示在新窗口中。以下示例图像显示使用 4 个玩家和专用服务器进行测试。
单击可查看标准大小的图片:
您可以使用 Shift+Tab 和 Control+Tab 在用户端窗口之间循环切换焦点。
高级设置
用户端环境数目以及是否使用专用服务器也可以在 "关卡编辑器 - 游戏位置设置"(Level Editor - Play In Settings)窗口 中设置。在此处, 您还可以指定要发送给预览会话的任何命令行选项。您还可以通过取消选中 使用单个进程(Use Single Process) 复选框来恢复先前的联网 在编辑器中游戏 行为。
设置 |
描述 |
---|---|
启动独立服务器(Launch Separate Server) |
启动一个单独的服务器,即便网络模式不需要它。这允许你通过让离线游戏连接服务器,来测试离线服务器的工作流程。 |
游戏网络模式(Play Net Mode) |
设置PIE会话使用的网络模式。
|
在单个进程下运行(Run Under One Process) |
在一个单一的UE4实例下生成多人游戏窗口。这样加载速度会快很多,但有可能出现更多问题。 |
启用网络模拟(Enable Network Emulation) |
在启动游戏时应用所选的网络模拟设置,用于测试你的游戏如何处理网络问题。
|
客户端(Client) |
启动游戏时应用所选的客户端设置。
|
服务器(Server) |
启动游戏时,应用选定的服务器设置:
|
调试蓝图
现在,在多环境场景中运行时, 蓝图编辑器 将提供一个额外的下拉菜单,用于选择要调试的环境:
环境列表将对 Actor 列表中的 Actor 进行过滤。例如,如果选择"全部环境",那么您将在另一个下拉列表中看到每个环境中的 Actor。如果选择其他环境中的某个环境,那么您将只看到该环境实例中的 Actor。
这也会影响断点。例如,如果将调试环境设置为"用户端 1",那么断点只会在"用户端 1"环境中的 Actor 上触发。
通过查看窗口标题,您可以看到预览窗口的用户端数目。例如,在以上联网游戏图像中,有一个标题为 ShooterGame 游戏预览用户端 1((64 位/PCD3D_SM5))(ShooterGame Game Preview Client 1 (64bit/PCD3D_SM5)) 的窗口。
如果选择"所有环境"(All Worlds),那么任何环境都可以触发断点。那些断点触发时,蓝图编辑器将显示所调试的环境: