在编辑器中运行(PIE) 预览模式支持使用多个世界进行测试,以便你可以测试联网运行。编辑器在已加载的虚幻引擎实例中生成多个世界,这可以缩短迭代时间,并便于你调试每个世界的蓝图。
设置联网测试
在 关卡编辑器工具栏 或 蓝图编辑器工具栏 中的 运行位置(Play In) 下拉菜单中,你可以设置在开始在编辑器中运行(Play In Editor)会话时要创建多少个客户端世界。此外,你还可以指定是否运行专用的服务器。
点击查看大图。
玩家数量(Number of Players) 字段用于指定你要测试的玩家总数。
接下来,选择要使用的 网络模式(NetMode) :
选项 | 说明 |
---|---|
单机运行(Play Standalone) | 创建单机游戏。此选项不会创建专用服务器。可通过启用 bLaunchSeparateServer 创建服务器。 |
作为监听服务器运行(Play as Listen Server) | 创建同时充当服务器和客户端的会话。可以根据客户端的数量添加额外实例。 |
作为客户端运行(Play as Client) | 创建充当客户端的会话。在后台启动的专用服务器。 |
如果 玩家数量(Number of Players) 字段设置为1,并且 网络模式(NetMode) 设置为 单机运行(Play Standalone) ,则你的在编辑器中运行(Play In Editor)会话将测试单机、非联网Gameplay。
如果网络模式(NetMode)设置为 作为客户端运行(Play as Client) ,则会启动一个专用服务器世界,但没有专用服务器的显示或本地玩家。使用专用服务器意味着你的所有客户端均不作为监听服务器运行。你可以使用专用服务器查找仅限于专用服务器的漏洞,比如依赖于本地玩家的代码。对于功能依赖于服务器和客户端的蓝图,基本的测试配置是将 玩家数量(Number of Players) 设置为1,并选择 作为客户端运行(Play as Client) 。这样只会创建一个用于测试运行的窗口,但其具备已连接到专用服务器的客户端的完整功能。
设置这些选项后,请选择你首选的在编辑器中运行(Play In Editor)模式,以开始测试Gameplay。如果你有多个客户端世界,并且为在编辑器中运行(Play In Editor)会话选择视口(Viewport)显示选项,则视口中显示一个客户端世界,所有其他客户端世界都将显示在新窗口中。以下图像显示的是使用4个玩家和专用服务器进行的测试。
高级设置
客户端世界数量以及是否使用专用服务器也可以在关卡编辑器——运行位置设置窗口中设置。在此处,你还可以指定要发送给预览会话的命令行选项。
设置 | 说明 |
---|---|
启动独立服务器(Launch Separate Server) | 启动一个单独的服务器,即便网络模式不需要它。你可以利用此设置,通过让离线游戏连接服务器来测试从离线到服务器的工作流程。 |
运行网络模式(Play Net Mode) | 设置在编辑器中运行(Play In Editor)会话使用的网络模式:
|
在一个进程下运行(Run Under One Process) | 在虚幻引擎的单个实例下生成多玩家窗口。这样加载速度会快很多,但不能代表玩家的运行时环境,该环境中每个游戏实例都在其自己的进程中运行。 |
默认显示服务器调试绘图(Show Server Debug Drawing by Default) | 在编辑器中运行(Play In Editor)期间从专用服务器绘制调试渲染。 |
服务器调试绘图着色强度(Server Debug Drawing Tint Strength) | 控制调试绘图颜色向选定着色颜色的偏差。 |
服务器调试绘图颜色着色(Server Debug Drawing Color Tint) | 选择服务器调试绘图的着色颜色。 |
启用网络模拟(Enable Network Emulation) | 在启动游戏时应用所选的网络模拟设置,用于测试你的游戏如何处理网络问题:
|
客户端(Client) | 启动游戏时应用所选的客户端设置:
|
服务器(Server) | 启动游戏时应用所选的服务器设置:
|
调试蓝图
在多世界场景中运行时, 蓝图编辑器(Blueprint Editor) 会提供一个额外的下拉菜单,用于选择要调试的世界:
世界列表中选定的世界会对Actor列表中的Actor进行过滤。例如,如果选择了 全部世界(All Worlds) ,你将在另一个下拉列表中看到每个世界中的Actor。如果只选择了其中一个世界,你只能看到该世界实例中的Actor。
这也会影响断点。例如,如果将调试世界设置为客户端1(Client 1),则断点只会在客户端1(Client 1)世界中的Actor上触发。
在窗口标题上可以看到预览窗口的客户端数量。例如,在以上联网运行图像中,有一个标题为 LyraStarterGame预览[网络模式客户端1](LyraStarterGame Preview [NetMode Client 1]) 的窗口。
如果选择 全部世界(All Worlds) ,则任意世界都可以触发断点。