主页 > 开源代码  > 

Unity插件-Mirror使用方法(二)组件介绍

Unity插件-Mirror使用方法(二)组件介绍

目录

一、插件介绍

二、主要组件

1、核心管理组件

2、玩家与对象同步

3、数据同步与通信

4、生成与销毁控制

5、高级功能组件

6、安全与认证

7、实用工具脚本

​8、协同工作流程示例

三、基础配置

1、创建 NetworkManager

2、发布测试


一、插件介绍

Unity插件-Mirror使用方法(一)Mirror介绍-CSDN博客


二、主要组件 1、核心管理组件

​NetworkManager​

​功能:核心管理器,处理服务器/客户端连接、场景切换、玩家生成等全局逻辑。​关键设置:指定玩家预制体(Player Prefab)、最大玩家数、离线/在线场景配置。

​NetworkManagerHUD​

​功能:内置的 UI 界面,提供快速调试按钮(启动服务器、客户端、主机模式)。

​NetworkIdentity​

​功能:标记游戏对象为网络对象,赋予唯一网络标识(NetID)。所有需同步的对象必须挂载此组件。
2、玩家与对象同步

​NetworkTransform​

​功能:自动同步游戏对象的位置、旋转和缩放。可配置同步频率和压缩方式。

​NetworkAnimator​

​功能:同步动画状态机的参数(如布尔值、浮点数、触发器等)。

​NetworkBehaviour​

​功能:自定义网络脚本的基类。通过重写方法(如 OnStartServer()、OnStartClient())实现网络逻辑。
3、数据同步与通信

​SyncVar​

​功能:变量同步属性。标记 [SyncVar] 的变量在服务器修改后自动同步到所有客户端。

​Command([Command])​​

​用法:客户端调用服务器端方法(需以 Cmd 开头)。例如:CmdShoot()。

​ClientRpc([ClientRpc])​​

​用法:服务器调用客户端方法(需以 Rpc 开头)。例如:RpcUpdateScore()。

​TargetRpc([TargetRpc])​​

​功能:服务器向特定客户端发送指令(如私聊消息)。
4、生成与销毁控制

​NetworkStartPosition​

​功能:标记玩家生成点,NetworkManager 可随机或按顺序分配生成位置。

​NetworkDestroy​

​自动处理:带有 NetworkIdentity 的对象在服务器销毁时,会自动同步到客户端销毁。
5、高级功能组件

​NetworkProximityChecker​

​功能:基于距离的可见性检测,仅同步在玩家视野范围内的对象。

​NetworkRoomManager​

​功能:扩展的 NetworkManager,提供房间系统功能(如大厅等待、玩家人数匹配)。

​NetworkSceneChecker​

​作用:防止客户端加载未授权的场景,增强安全性。

​NetworkDiscovery​

​用途:局域网广播服务器信息,便于客户端自动发现可用服务器。
6、安全与认证

​NetworkAuthenticator​

​功能:实现自定义认证逻辑(如账号密码验证、令牌校验)。

​TelepathyTransport​

​特点:Mirror 默认的传输层组件,支持加密通信(如 WebSocket Secure)。
7、实用工具脚本 ​NetworkLogger:记录网络事件日志,用于调试连接问题。​NetworkStatisticGUI:显示实时网络数据(如流量、延迟)。
​8、协同工作流程示例 ​玩家加入: NetworkManager 生成玩家预制体(带 NetworkIdentity)。NetworkTransform 同步玩家移动,NetworkAnimator 同步动画。 ​交互逻辑: 客户端调用 CmdFire 命令,服务器验证后通过 RpcSpawnBullet 在所有客户端生成子弹。
三、基础配置 1、创建 NetworkManager

新建空物体,命名为 NetworkManager。

添加组件NetworkManager、NetworkManagerHUD(调试界面)和KCP Transport。

在 NetworkManager 中设置:

​Player Prefab:玩家角色预制体(必须包含 NetworkIdentity 组件)。

​Online/Offline Scene:连接成功/断开时加载的场景。
2、发布测试

在编辑器中运行一个相同场景,点击左上角Host(Server+Client)开启服务器加客户端。

将当前场景Build And Run,点击左上角HUD面板选择Client开启客户端。

可以看到生成了两个玩家预制体,连接成功

标签:

Unity插件-Mirror使用方法(二)组件介绍由讯客互联开源代码栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Unity插件-Mirror使用方法(二)组件介绍