返回介绍

网络实例化

发布于 2021-06-20 00:15:06 字数 795 浏览 1019 评论 0 收藏 0

网络实例化函数提供 直接的方式将所有客户端上的预设实例化,类似于单一客户端上对象实例化的效果。实例化客户端是控制对象的客户端(即,只能从客户端实例上运行的脚本访问输入 (Input) 类别),但变化会通过网络反映出来。

用于 Network.Instantiate() 的参数列表如下所示:

static function Instantiate (prefab : Object, position : Vector3, rotation : Quaternion, group : int) : Object

与 Object.Instantiate 一样,前三个参数描述即将被实例化的预设以及其所需位置和旋转。组 (group) 参数使您可以定义对象的子集来控制消息的过滤,而且如果不要求过滤,可以将此参数设置为零(请参阅下面的通信组部分)。

技术细节

在后台,网络实例化围绕 RPC 调用被构建,此 RPC 调用包含预设标识符、位置和其他细节。RPC 调用的缓冲方式通常与其他 RPC 调用相同,以便实例化的对象会在新客户端连接时出现在新客户端上。有关缓冲的更多详细信息,请参阅 RPC 页面。

通信组

通信组可用于选择将接收特定消息的客户端。例如,两个相连的玩家可能处在游戏世界中分离的不同区域而永远不能相见。因此没理由在这两个玩家客户端之间传递游戏状态,但您可能仍然想让他们能够互相通信聊天。在此情况下,需要对游戏对象限制实例化,而不对执行聊天功能的对象进行限制,这样他们就会被放入不同的组中。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文