首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Unity 多人游戏框架学习系列七

Unity 多人游戏框架学习系列七

作者头像
心疼你的一切
发布2026-01-20 15:43:47
发布2026-01-20 15:43:47
920
举报
文章被收录于专栏:人工智能人工智能

前言

书接上回,承接下回,一系列的。 博客将会介绍多人游戏学习。希望这篇博客对Unity的开发者有所帮助。 大家好,我是心疼你的一切,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 欢迎点赞评论哦.下面就让我们进入正文吧 !。


提示:以下是本篇文章正文内容,下面案例可供参考

一、调试信息

Unity 提供了若干工具在运行时获取游戏的相关信息。这些信息对于测试多人游戏很有用。

当游戏在 Editor 中以播放模式运行时,Network Manager HUD Inspector 将显示有关运行时网络状态的额外信息。这些信息包括:

  • 网络连接
  • 服务器上的包含 Network Identity 组件的活动游戏对象
  • 客户端上的包含 Network Identity 组件的活动游戏对象
  • 对等客户端
在这里插入图片描述
在这里插入图片描述

在播放模式下,Network Manager HUD 组件显示有关游戏状态和已生成的游戏对象的额外信息。 此外,Network Manager 预览面板(在 Inspector 窗口底部)将列出已注册的消息回调处理程序。

在这里插入图片描述
在这里插入图片描述

二、Multiplayer 组件参考

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2-1、Network Animator

Network Animator 组件可以同步联网对象的动画状态。此组件可同步 AnimatorController 中的状态和参数。

请注意,如果在空游戏对象上创建 Network Animator 组件,那么 Unity 还会在该游戏对象上创建 Network Identity 组件和 Animator 组件。

在这里插入图片描述
在这里插入图片描述

网络动画器确保游戏对象的动画在网络中同步进行,即所有玩家都能看到动画在同一时间发生。网络动画有两种权限类型:

  • 如果游戏对象在客户端上具有授权,则应在拥有此游戏对象的客户端本地对游戏对象进行动画化。该客户端将动画状态信息发送到服务器,服务器再将此信息广播到所有其他客户端。例如,这种授权方式适合于玩家角色。
  • 如果游戏对象在服务器上具有授权,那么应该在服务器上对游戏对象动画化。然后,服务器将状态信息发送到所有客户端。这种授权方式对于与特定客户端无关的动画化游戏对象(如非玩家角色)很常见。

Network Animator 将同步在 Inspector 窗口中选中的动画参数。该组件不会自动同步动画触发器。具有授权的游戏对象可以使用函数 SetTrigger 在其他客户端上触发动画触发器。

2-2、Network Discovery

Network Discovery 组件允许 Unity 应用程序使用网络系统在局域网 (LAN) 上发现彼此。此组件不能用于互联网游戏发现。应使用 Multiplayer 服务(以及 MatchMaker 和 Relay 服务)进行连接。

Network Discovery 组件不需要与 Unity 服务的任何集成,旨在作为一种完全独立解决方案,用于在局域网上查找要连接的其他游戏。

在这里插入图片描述
在这里插入图片描述

属性

功能

Broadcast Port

用于发送广播和进行监听的网络端口。

Broadcast Key

要广播的密钥。这应该是唯一值,表示您的发现与其他 Network Discovery 实例的兼容性。唯一广播密钥避免了当不同类型的游戏在同一个局域网上运行时尝试彼此连接。

Broadcast Version

要包含在广播中的主要版本。将此属性与 Broadcast SubVersion 一起使用可指示版本兼容性。

Broadcast SubVersion

要包含在广播中的次要版本。将此属性与 Broadcast Version 一起使用可指示版本兼容性。

Broadcast Interval

指定 Unity 应广播发现信息的频率(以秒为单位)。

Use NetworkManager

启用此属性可以使用 Network Manager 设置进行广播,然后自动加入找到的游戏。

Broadcast Data

输入要包含在广播中的自定义数据。如果已启用 Use NetworkManager,则 Network Manager 会重写此属性。

Show GUI

启用此属性可在播放模式下显示默认广播 GUI。此 GUI 仅用于开发人员测试。

Offset X

广播 GUI 的 x 轴偏移。仅当启用了 Show GUI 时,此设置才可见。

Offset Y

广播 GUI 的 y 轴偏移。仅当启用了 Show GUI 时,此设置才可见。

在播放模式下运行时

在播放模式下运行时,检视面板中也会显示以下信息:

属性

功能

hostId

用于广播的主机 ID。

running

如果正在广播,则为 true。

isServer

如果作为服务器广播,则为 true。

isClient

如果作为客户端监听广播,则为 true。

broadcastsReceived

收到的广播消息的列表。


总结

书接上回,承接下回,一系列的。欲知后事如何,且听下回分解。 本次总结的就是这样的, 有需要会继续增加功能 如能帮助到你,就帮忙点个赞吧,三连更好哦,谢谢 你的点赞就是对博主的支持,有问题记得留言评论哦! 不定时更新Unity开发技巧,觉得有用记得一键三连哦。么么哒!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2026-01-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 一、调试信息
  • 二、Multiplayer 组件参考
    • 2-1、Network Animator
    • 2-2、Network Discovery
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档