网络实例化

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

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

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

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

技术细节

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

通信组

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

Page last updated: 2013-06-27