网络管理器 HUD

网络管理器 HUD(“heads-up display”)是一个快速启动工具,帮助您立即开始构建多人游戏,而无需首先构建用于游戏创建/连接/加入的用户界面。它允许您直接开始游戏编程,并且意味着您可以在开发进度表中稍后构建这些控件的自定义版本。

然而,它并不打算包含在完成的游戏中。这些控件的理念是帮助您入门,但您应该稍后创建自己的用户界面,以便让您的玩家以适合您的游戏的方式找到并加入游戏。例如,您可能希望设计屏幕、按钮和可用游戏列表的样式,以匹配您游戏的整体风格。

要开始使用网络管理器 HUD,可以将该组件添加到具有网络管理器组件的同一场景对象中,或者在场景中创建一个空的游戏对象(菜单:游戏对象 > 创建空对象),并将网络管理器 HUD 组件添加到新的游戏对象中。

  • 显示 GUI 选中此复选框以在运行时显示 HUD GUI。这允许您快速调试时显示或隐藏它。

  • 水平偏移 设置 HUD GUI 的水平像素偏移,从屏幕左边缘测量。

  • 垂直偏移 设置 HUD GUI 的垂直像素偏移,从屏幕顶部边缘测量。

网络管理器 HUD 提供基本功能,使玩家可以开始托管网络游戏,或查找并加入现有的网络游戏。Unity 在游戏视图中显示网络管理器 HUD 作为一组简单的 UI 按钮。

使用 HUD

网络管理器 HUD 以服务器 + 客户端模式启动,并显示与托管和加入多人游戏相关的按钮。

托管(服务器 + 客户端)

点击主机(服务器 + 客户端)按钮以在本地网络上作为主机启动游戏。此客户端既是主机 也是 游戏中的一名玩家。它使用检视器中“网络信息”部分的信息来托管游戏。

当您点击此按钮时,HUD 切换为网络详细信息的简单显示,并显示一个“停止”按钮,允许您停止托管游戏并返回到主 HUD 菜单。

当您作为主机启动游戏后,游戏的其他玩家可以连接到主机以加入游戏。

点击“停止”按钮以断开与主机的连接。单击“停止”也会返回到主 HUD 菜单。

客户端(Client){/client/}

要连接到互联网上的主机,请使用“客户端”按钮右侧的文本字段指定主机的地址。默认主机地址为“localhost”,这意味着客户端在自己的计算机上寻找游戏主机。除了 localhost,您还可以指定 IPv4 地址、IPv6 地址或完全限定域名(FQDN),例如 game.example.com,传输将使用 DNS 解析名称。单击“客户端”以尝试连接到您指定的主机地址。

如果您在一台计算机上运行多个游戏实例以测试多人互动性,请在此字段中使用默认的“localhost”。为此,您可以创建游戏的独立构建,然后在计算机上多次启动它。这是一种快速测试您的网络游戏交互是否按预期运行的常见方式,而无需将游戏部署到多台计算机或设备上。

当您想要在多台计算机上测试游戏时,您需要将充当主机的计算机地址放入地址文本字段中。

充当主机的计算机需要将其 IP 地址告诉所有运行客户端的人,以便您可以将其输入到框中。对于局域网上的本地客户端,这是本地 IP 地址。对于远程客户端,这是主机路由器的 WAN IP 地址。通常需要防火墙规则和端口转发,以便计算机充当主机并接受来自其他计算机的连接,无论它们是在局域网还是互联网上。

输入 IP 地址(如果在自己的机器上测试,请将其保留为“localhost”),然后单击 Client(客户端)以尝试连接到主机。

当客户端尝试连接时,HUD 显示一个“取消连接尝试”按钮。如果您想要停止尝试连接到主机,请单击此按钮。

如果连接成功,HUD 将显示“停止”按钮。如果您想要停止客户端上的游戏并断开与主机的连接,请单击此按钮:

仅服务器(Server Only)

单击“Server Only”以启动一个游戏,该游戏充当其他客户端可以连接的服务器,但不充当游戏本身的客户端。这种类型的游戏通常被称为“专用服务器”(dedicated server)。用户无法在您的游戏的这个特定实例上玩游戏。所有玩家必须作为客户端连接,没有人在作为服务器运行的实例上进行游戏。

专用服务器可以提高所有连接玩家的性能,因为服务器无需处理本地玩家的游戏玩法,而只需充当服务器。

您也可以选择此选项,如果您想要托管一个可以通过互联网进行游玩的游戏(而不仅限于本地网络),但又想要自己控制服务器 - 例如,防止其中一个客户端作弊,因为只有服务器对游戏有权。为此,您需要在具有公共 IP 地址的计算机上以“Server Only”模式运行游戏。

最后更新于

这有帮助吗?