Unity3D :Network Identity

推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生

Network Identity

重要提示:UNet 是一个已弃用的解决方案,新的多人游戏和网络解决方案(游戏对象的网络代码)正在开发中。有关更多信息和后续步骤,请参阅适用于游戏对象的 Unity 网络代码网站上的信息。

Network Identity 组件是 Unity 网络高级 API 的核心。该组件可控制游戏对象在网络上的唯一身份,并使用该身份使网络系统识别游戏对象。

Inspector 窗口中的 Network Identity 组件
Inspector 窗口中的 Network Identity 组件
属性功能
Server Only勾选此复选框可确保 Unity 仅在服务器上生成游戏对象,而不在客户端上生成游戏对象。
Local Player Authority勾选此复选框可将此游戏对象的授权网络控制权提供给拥有此游戏对象的客户端。该客户端上的玩家游戏对象拥有针对此游戏对象的授权。其他组件(如 Network Transform)使用此属性来确定将哪个客户端视为授权来源。

实例化的网络游戏对象

对于 Unity 的服务器授权网络系统,服务器必须使用 NetworkServer.Spawn 生成具有网络身份的联网游戏对象。这样会自动在连接到服务器的客户端上创建这些游戏对象,并为它们分配 NetworkInstanceId。

您必须将网络标识组件放在运行时生成的任何预制件上,以便网络系统使用它们。

基于场景的网络游戏对象

还可以将保存为场景一部分的游戏对象(例如,环境道具)联网。网络游戏对象使这些游戏对象的行为略有不同,因为需要在网络上生成这些游戏对象。

构建游戏时,Unity 会禁用所有具有网络标识组件的基于场景的游戏对象。当客户端连接到服务器时,服务器会发送生成消息,告知客户端要启用哪些场景游戏对象以及它们的最新状态信息。这可确保客户端的游戏在开始玩游戏时不会在不正确的位置包含游戏对象,或者 Unity 不会在连接时生成并立即销毁游戏对象(例如,如果某个事件在该客户端连接之前删除了游戏对象)。

预览面板中的 Network Information 部分

此组件包含网络跟踪信息,并在预览面板中显示该信息。例如,已为对象分配的场景 ID、网络 ID 和资源 ID。因此可以检查可用于进行调查和调试的信息。

场景 ID 在具有 NetworkIdentity 组件的所有场景对象中都有效。网络 ID 是此特定对象实例的 ID。可能存在从特定预制件进行实例化的多个对象,而网络 ID 可用于标识应该应用网络更新的对象。资源 ID 表示实例化对象的源资源。在网络上生成特定的游戏对象预制件时会在内部使用资源 ID。

在运行时,此处将显示更多信息(禁用的 NetworkBehaviour 以非粗体显示):

预览面板信息

属性描述
assetId标识与此对象关联的预制件(用于生成)。
clientAuthorityOwner对该对象拥有授权的客户端。如果没有客户端拥有授权,则此属性为 null。
connectionToClient与此 NetworkIdentity 关联的 NetworkConnection。此属性只对服务器上的玩家对象有效。
connectionToServer与此 NetworkIdentity 关联的 NetworkConnection。此属性只对本地客户端上的玩家对象有效。
hasAuthority如果此对象是对象的授权版本,则为 true。这将意味着是服务器上的普通对象,或者在客户端上具有 localPlayerAuthority 的对象。
isClient如果此对象在客户端上运行,则为 true。
isLocalPlayer如果此对象代表本地计算机上的玩家,则返回 true。
isServer如果此对象在服务器上运行并且已生成,则为 true。
localPlayerAuthority如果此对象由拥有此对象的客户端控制,则为 true - 该客户端上的本地玩家对象具有针对此对象的授权。由 NetworkTransform 等其他组件使用。
netId此网络会话的唯一标识符,在生成时分配。
observers能够看到此对象的客户端 NetworkConnection 列表。此属性为只读。
playerControllerId与此对象关联的控制器的标识符。仅对玩家对象有效。
SceneId场景中的联网对象的唯一标识符。此属性仅在播放模式下填充。
serverOnly此标志用于指示不在客户端上生成该对象。

3D建模学习工作室整理翻译,转载请注明出处!

上一篇:Unity3D :Network Discovery (mvrlink.com)

下一篇:Unity3D :Network Lobby Manager (mvrlink.com)

NSDT场景编辑器 | NSDT 数字孪生 | GLTF在线编辑器 | 3D模型在线转换 | UnrealSynth虚幻合成数据生成器 | 3D模型自动纹理化工具
2023 power by nsdt©鄂ICP备2023000829号