当前位置: 首页 > news >正文

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

目录

一、插件介绍

二、主要组件

1、核心管理组件

2、玩家与对象同步

3、数据同步与通信

4、生成与销毁控制

5、高级功能组件

6、安全与认证

7、实用工具脚本

​8、协同工作流程示例

三、基础配置

1、创建 NetworkManager

2、发布测试


一、插件介绍

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


二、主要组件

1、核心管理组件

  1. NetworkManager

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

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

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

2、玩家与对象同步

  1. NetworkTransform

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

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

    • 功能:自定义网络脚本的基类。通过重写方法(如 OnStartServer()OnStartClient())实现网络逻辑。

3、数据同步与通信

  1. SyncVar

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

    • 用法:客户端调用服务器端方法(需以 Cmd 开头)。例如:CmdShoot()
  3. ClientRpc([ClientRpc])​

    • 用法:服务器调用客户端方法(需以 Rpc 开头)。例如:RpcUpdateScore()
  4. TargetRpc([TargetRpc])​

    • 功能:服务器向特定客户端发送指令(如私聊消息)。

4、生成与销毁控制

  1. NetworkStartPosition

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

    • 自动处理:带有 NetworkIdentity 的对象在服务器销毁时,会自动同步到客户端销毁。

5、高级功能组件

  1. NetworkProximityChecker

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

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

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

    • 用途:局域网广播服务器信息,便于客户端自动发现可用服务器。

6、安全与认证

  1. NetworkAuthenticator

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

    • 特点:Mirror 默认的传输层组件,支持加密通信(如 WebSocket Secure)。

7、实用工具脚本

  • NetworkLogger:记录网络事件日志,用于调试连接问题。
  • NetworkStatisticGUI:显示实时网络数据(如流量、延迟)。

​8、协同工作流程示例

  1. 玩家加入
    • NetworkManager 生成玩家预制体(带 NetworkIdentity)。
    • NetworkTransform 同步玩家移动,NetworkAnimator 同步动画。
  2. 交互逻辑
    • 客户端调用 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开启客户端。

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

相关文章:

  • 【架构设计】奥卡姆剃刀:编程、设计和业务规划中的“极简主义”思维
  • linux 离线安装redis
  • python中单例模式应用
  • DeepSeek掘金——DeepSeek R1驱动的PDF机器人
  • Linux:进程概念
  • 知识库功能测试难点
  • Windows PicPick Professional-v7.3.2-中文版
  • 植物大战僵尸金铲铲版 v1.1.6(windows+安卓)
  • DeepSeek使用操作指南:开发人员实战手册
  • WPF10-绑定属性
  • 近似最近邻(ANN)算法库实战
  • 从统计学视角看机器学习的训练与推理
  • 文字滚动效果组件和按钮组件
  • 第一章 “流程引擎启蒙课”
  • AI 驱动的智慧大脑:打造企业动态知识库,开启高效管理新时代
  • C语言-7.函数
  • AI工具导航平台功能模块之混合分类器功能说明文档
  • 2024年12月中国电子学会青少年软件编程(Python)等级考试试卷(三级)答案 + 解析
  • 一、对iic类模块分析与使用
  • Matlab 大量接单
  • 受欢迎的免费建站/石家庄关键词优化平台
  • 做哪一类网站容易有排名/seo 首页
  • 企业网站首页设计欣赏/市场调研的内容
  • 一级水蜜桃/荥阳seo
  • 您公司需要做网站吗的其他说法/化妆培训
  • 安徽省建设工程网上服务平台/网站seo排名公司