Mirror 是一个为 Unity 游戏构建多人游戏功能的系统。它建立在较低级别的传输实时通信层之上,并处理多人游戏所需的许多常见任务。传输层支持任何类型的网络拓扑,而 Mirror 是服务器权威系统;虽然它允许参与者之一同时是客户端和服务器,所以不需要专门的服务器进程。与互联网服务一起工作,这使得多人游戏可以在互联网上玩,而开发人员几乎不需要做任何工作。

  Mirror 专注于易用性和迭代开发,并为多人游戏提供有用的功能,例如:

  • 消息处理程序
  • 通用高性能序列化
  • 分布式对象管理
  • 状态同步
  • 网络类:服务器、客户端、连接等

Mirror 由一系列添加功能的层构建而成:

Server 和 Host

Mirror多人游戏包括:

  • Server
    服务器是所有其他玩家想要一起玩时连接到的游戏实例。服务器通常管理游戏的各个方面,例如记分,并将该数据传输回客户端。
  • Clients
    客户端是游戏的实例,通常从不同的计算机连接到服务器。客户端可以通过本地网络或在线连接。

  客户端是连接到服务器的游戏实例,因此玩它的人可以与连接到自己客户端的其他人一起玩游戏。

  服务器可能是一个“专用服务器(Dedicated server)”或“主机服务器(host server)”。

  • 专用服务器(Dedicated server)
    这是一个仅作为服务器运行的游戏实例。
  • 主机服务器(host server)
    当没有专用服务器时,其中一个客户端也扮演服务器的角色。该客户端是“主机服务器”。主机服务器创建游戏的单个实例(称为主机),它既充当服务器又充当客户端。

  下图代表多人游戏中的三个玩家。在这个游戏中,一个客户端同时充当主机,这意味着客户端本身就是“本地客户端”。本地客户端连接到host服务器,并且都在同一台计算机上运行。另外两个玩家是远程客户端——也就是说,他们在不同的计算机上,连接到host服务器。


  Host是游戏的单个实例,同时充当服务器和客户端。主机使用一种特殊的内部客户端进行本地客户端通信,而其他客户端是远程客户端。本地客户端通过直接函数调用和消息队列与服务器通信,因为它在同一个进程中。它实际上与服务器共享场景。远程客户端通过常规网络连接与服务器通信。当您使用 Mirror 时,这一切都会自动为您处理。

  多人系统的目标之一是本地客户端和远程客户端的代码相同,以便您在开发游戏时大部分时间只需要考虑一种类型的客户端。在大多数情况下,Mirror 会自动处理这种差异,因此您应该很少需要考虑在本地客户端或远程客户端上运行的代码之间的差异。

实例化和生成

  在 Unity 中制作单人游戏时,通常使用 GameObject.Instantiate 方法在运行时创建新的游戏对象。但是,对于多人游戏系统,服务器本身必须“spawn”游戏对象,以便它们在网络游戏中处于活动状态。当服务器生成游戏对象时,它会触发在连接的客户端上创建游戏对象。spawn系统管理游戏对象的生命周期,并根据您设置游戏对象的方式同步游戏对象的状态。

  有关网络实例化和生成的更多详细信息,请参阅 Spawning GameObjects 文档。

玩家和本地玩家

  Mirror 处理玩家游戏对象非玩家游戏对象的方式不同。当新玩家加入游戏时(当新客户端连接到服务器时),该玩家的游戏对象成为该玩家客户端上的“本地玩家”游戏对象,并且 Mirror 将玩家的连接与玩家的游戏对象相关联。 Mirror 为每个玩游戏的人关联一个玩家游戏对象,并将网络命令路由到该单独的游戏对象。一个玩家不能在另一个玩家的游戏对象上调用命令,只能调用他们自己的。

有关更多详细信息,请参阅有关 Player GameObjects 的文档。

权限(Authority)

  服务器和客户端都可以管理游戏对象的行为。 “权限”的概念是指游戏对象的管理方式和位置。Mirror基于“服务器权限”作为默认状态,服务器对所有游戏对象具有权限。玩家游戏对象是一种特殊情况,被视为具有“本地权限”。您可能希望使用不同的权限系统来构建您的游戏 - 有关更多详细信息,请参阅网络权限。

[Unity Mirror] General相关推荐

  1. Unity+Mirror实现虚拟现实下的多人连接

    实现虚拟现实环境中的多人连接顾名思义分为两步,首先通过Mirror插件实现3D空间下的多人连接基础功能,其后调整虚拟现实相关内容,最后添加虚拟化身并进行匹配.本篇文章也将从以下三个方面依次完成(使用设 ...

  2. Unity + Mirror实现原创卡牌游戏局域网联机

    资源下载地址 局域网联机插件 Mirror:Mirror | 网络 | Unity Asset Store 本地客户端测试多人游戏(不用打包)插件 : ParrelSync Mirror官方文档:Ge ...

  3. unity Mirror使用笔记

    由于mirror的概念和API同已经弃用的unet很相似.同时mirror的文档在基础概念比较少,而且全英文.所以可以先从unet的官方文档开始入门.UNet mirror入门 1) 运行环境: 从A ...

  4. [Unity Mirror] FAQ

    如何发送/同步自定义数据类型?   Mirror 可以在编译脚本时自动为许多自定义数据类型创建序列化函数.   例如,mirror 会自动为 MyCustomStruct 创建一个函数,以便无需任何额 ...

  5. [Unity Mirror] Network Discovery

    英文原文: https://mirror-networking.gitbook.io/docs/components/network-discovery   假设你在一个朋友旁边.他以主持人模式开始游 ...

  6. [Unity Mirror] 作弊与反作弊

    简介   早在 2009-2015 年,在从事 Mirror 和 uMMORPG 工作之前,我尝试通过对 MMO 进行逆向工程和出售Bots来谋生来了解 MMO.我将根据我们 Discord 中的问题 ...

  7. unity Mirror使用心得一(玩家角色创建,控制,及其攻击其他玩家的血量同步设置)

    先分享下个人mirrordemo 的github : https://github.com/IsaWinding/MirrorDemo.git mirror 的官方下载地址: https://asse ...

  8. [Unity Mirror] 自定义角色生成

    英文原文: https://mirror-networking.gitbook.io/docs/guides/gameobjects/custom-character-spawning   许多游戏需 ...

  9. unity Mirror使用心得二(服务器端的怪物创建,及其怪物AI的行为)

    1.怪物必须由服务器创建: 创建代码: using Mirror; using System.Collections; using System.Collections.Generic; using ...

最新文章

  1. oneinstack
  2. React 的性能优化(一)当 PureComponent 遇上 ImmutableJS
  3. java threas.jion_Java Thread.join详解
  4. python在哪下载-2018版Python教程从哪儿下载
  5. zoj-4011(动态规划)
  6. android 广播观察者,BroadcastReceiver和Activity之间的通信 – android
  7. 无法向会话状态服务器发出会话状态请求
  8. 用反射通过构造函数给窗体传参
  9. nasm汇编:段的申明、$$、$
  10. 深入理解InnoDB(3)—索引的存储结构
  11. 微型计算机原理偏移地址,微机原理试卷答案(B)
  12. BCH恢复禁用的脚本操作码[草案]
  13. 昂达 v891 v1 终于 删除 windows 分区 并且恢复了容量。
  14. UTF-8转GBK(GBK转UTF-8)
  15. iOS模拟器发送通知和UI测试
  16. 分享一个TCGA数据库
  17. 《One-shot Voice Conversion by Separating Speaker and Content Representations with Instance Normaliz》
  18. 更进一步!微软成为 OpenInfra 开放基础设施基金会白金会员
  19. 蓝牙耳机什么牌子音质好听?蓝牙耳机音质排行榜
  20. Invalid initial heap size: -Xms128m-Xmx512

热门文章

  1. 微信小程序学习笔记(五) npm包+全局数据共享+分包
  2. Axure安装、破解、汉化、学习
  3. 国泰君安国际获“最佳金融公司”等多项大奖
  4. javaBean是什么,格式有什么要求,作用是什么?
  5. vue点击tab列表滚动对应位置,滚动列表也可切换tab
  6. 腾迅不敢发放的一个QQ号码
  7. 裁剪特定时长音乐需求之Audacity
  8. 设置Eclipse配色方案--设置不同背景色,有效护眼
  9. 元旦给计算机老师的贺卡,2020跨年元旦给老师的祝福语 最新元旦贺卡祝福合集...
  10. 记事本软件哪个强?这些功能你不能错过