如果您在您的项目中使用这种交通工具,并且您想帮助我支付账单和照明,我将不胜感激。
“可能是 Mirror 最快的交通工具……” - FSE_Vincenzo,2021 (Mirror Discord)
Ignorance 是一种基于 UDP 的高性能传输,可插入镜像网络。通过利用久经考验的 ENet 本机库的强大功能,它可以与多达 4096 个连接的对等点(客户端)和 255 个通道提供可靠和不可靠的 UDP 通信。可靠的 UDP 比 TCP 有很多好处,在 KCP 实现之前,TCP 是 Mirror 中的默认设置。
Ignorance 的好处是您可以利用允许您分割网络通信的通道。这使您可以拥有用于传输关键任务且必须尽快发送出去的数据的通道,以及可以发送速度较慢的非必要数据的通道。
Ignorance 1.4 目前处于长期支持状态,这意味着没有计划新功能。错误修复是优先考虑的,将在我有空闲时间时解决。
如果您有紧急错误报告,我们鼓励您考虑赞助。这将使我能够从业务活动中抽出时间来优先处理错误报告。
无知是根据麻省理工学院的许可证获得许可的。然而,最近出现了其他开发人员使用完整的 Ignorance 源或其部分内容、剥离 MIT 许可并使用自己的许可的情况。
这违反了麻省理工学院的许可,因为它明确规定版权声明必须保持完整。简而言之,不要成为代码窃贼并尊重 MIT 许可证。
Ignorance 1.4 LTS 不适用于较旧的 Mirror 版本。您可以将 1.4 LTS 反向移植到较旧的 Mirror 项目,但需要您提供支持。
从发行版下载最新的 Unity 包。只需导入 Unity 包,Unity 就会完成剩下的工作。请按照以下说明进行操作。
或者,您可以使用主分支中的代码,与发布版本相比,该代码通常是最新的。
我提供了两个预先配置的示例场景,以便您可以轻松上手。一种是 Pong,一种是对 Mirror 的基本场景进行一些修改的复制粘贴。否则,将名为Ignorance的脚本添加到 NetworkManager 对象中,删除任何基于 TCP 或其他基于 UDP 的传输(即 kcp2k)。然后设置要在 NetworkManagers 的“传输”字段中使用的脚本。
请参阅文档.md。
对于Ignorance Standalone ,请参阅 STANDALONE.md。
有关常见问题解答(又名请先阅读此内容),请参阅 FAQ.md。
如果您正在使用自己的网络堆栈,或者尝试将 Ignorance 探索到另一个已存在的网络解决方案,那么最好使用 ENet-CSharp 包装器直接与 ENet 通信。您也可以尝试上面提到的 Ignorance Standalone。
如果您拥有《第一人口》的副本,那么恭喜您。该游戏使用 Ignorance 作为其主要网络传输层。它还在第一款使用 Ignorance 的主要游戏中占有一席之地。
Ignorance 用于“Vinesauce is Hope”步行模拟演示,该演示有多个服务器实例,每个实例运行着超过 300 个 CCU。视频剪辑可在此处获取。
重要提示:不支持 32 位桌面目标。也不支持配备 M1 (ARM64/AArch64) 芯片的 Macintosh。罗塞塔也许有用。
开箱即用的支持平台:
64 位桌面平台 (Windows/Mac/Linux)、Android (ARMv7/ARM64),包括 VR 设备和 iOS (ARMv7/ARM64)。
如果 ENet 本机可以在其上运行并且受到 Unity 支持,那么您就可以选择 Ignorance。
Apple M1 设备用户必须为其 M1 处理器重新编译 ENet Native。直接使用 Ignorance 将导致无法在 Apple Silicon 上加载 x86_64 库。 Rosetta 可能有效,但没有承诺。
其他需要一些额外工作的平台:
有关更多信息,请参阅常见问题解答。
检查当前打开的错误报告和/或在此处报告新的错误报告。
如果做不到这一点,你可以随时在花魁工作室不和谐或镜子不和谐上找到我。
没有足够详细信息的错误将被关闭或置于低优先级。操作系统、Unity 编辑器版本、任何无知错误等详细信息对于良好的错误报告至关重要。
这是一个快速入门指南。它可能有点过时,但它涵盖了无知的基础知识。
捐赠者:感谢您帮助保持灯亮。
FSE_Vincenzo:ENet方式的常驻master。他们是 Flying Squirrel Entertainment 的一部分 - 去看看他们的游戏。
JesusLuvsYooh:CCU 耐力测试项目、想法、修复和其他很棒的东西
Katori:帮助启动了线程版本,该版本演变成短暂的 Ignorance 2.x 版本,后来成为 Ignorance Threaded。
PhantomGamers:将 Mirror + Ignorance 作为游戏的 BepInEx 客户端侧载修改。天哪,太酷了。
BigBoxVR:拉取请求并发现威胁稳定性的竞争条件。还在 VR 游戏《Population One》中使用了《Ignorance》。
Martin:拉取请求,使用 Dissonance 进行测试。 Unity 的出色 VoIP 资产。
c6burns、Petris、shiena、Draknith、nxrighthere、vis2k、保罗
镜子不和谐和其他我错过的人。非常感谢,你知道你是谁。
如果您发送 PR,您也可以在这里留下您的名字。不要再拖延了,今天就拿到你的 PR 吧!
待续...?