[Unity Mirror] 弃用的情况

81 篇文章 30 订阅

  由于各种原因,Unity Networking (UNet) 的某些功能已从 Mirror 中删除或修改。此页面将标识所有更改和删除的功能、属性和方法、更改或删除的原因以及可能的替代方案。

注意:本文档中的某些更改可能适用于 Asset Store 即将发布的版本。

Match 命名空间和 Host 迁移

  作为 Unity 服务的一部分,整个命名空间已被移除。它一开始效果不佳,并且作为核心网络包的一部分非常复杂。我们预计这将与其他后端服务一起通过与 Mirror 集成的独立应用程序提供。

Network Server Simple

  这太复杂了,而且对于它所做的一点事情来说,维护起来也不切实际,所以被删除了。无论是否有我们的运输工具,都有更简单的方法来制作一个基本的监听服务器。

Couch Co-Op

  通过移除这个容易实现的成果,核心网络被大大简化。它有很多错误,而且太复杂了,不值得修复。对于那些需要这样的东西的人来说,可以考虑将一个不可见的玩家预制件定义为一个信息管道,它可以产生具有客户端权限的实际玩家预制件。所有的输入将通过管道预制件来控制玩家对象。

消息类型

  MsgType 枚举已被删除。所有消息类型都是动态生成的。请改用Send。

Network Transform

  Network Transform已被完全替换,因此它只同步位置、旋转和缩放,具有控制选项以及是否对它们进行插值,并使用快照插值。它还有一堆虚拟方法,还有一个用于制作您自己的派生版本的脚本模板。刚体支持被移除,取而代之的是一个单独的网络刚体组件。

Network Animator

  Network Animator 也得到了简化,因为它将所有 Animator 参数批处理到单个更新消息中。

SyncVar 挂钩参数

  SyncVar 属性值现在在调用钩子之前更新,并且钩子现在需要两个与属性相同类型的参数:oldValue 和 newValue

SyncListSTRUCT

请改用 SyncList。

SyncList Classes

  • SyncListString 被 SyncList< string > 取代。
  • SyncListFloat 被 SyncList< float > 取代。
  • SyncListInt 被 SyncList< int > 取代。
  • SyncListUInt 被 SyncList< uint > 取代。
  • SyncListBool 被 SyncList< bool > 取代。

SyncList 操作

  • OP_REMOVE 被 OP_REMOVEAT 取代
  • OP_DIRTY 被 OP_SET 取代

SyncDictionary 操作

  • OP_DIRTY 被 OP_SET 取代

SyncObject

  • 这现在是一个类而不是一个接口。
  • Flush - 改用 ClearChanges。

Quality of Service标志

  在经典的 UNet 中,QoS 标志用于确定数据包如何到达远程端。例如,如果您需要在队列中对数据包进行优先级排序,您可以指定一个高优先级标志,然后 Unity LLAPI 将接收并适当地处理该标志。不幸的是,这给传输层带来了很多额外的工作,并且由于依赖太多魔法的错误代码,一些 QoS 标志没有按预期工作。

  在 Mirror 中,QoS 标志被替换为“通道”系统。虽然默认传输 Telepathy 根本不使用通道,因为它是基于 TCP 的,但其他传输,例如 Ignorance 和 LiteNetLib,确实支持它们。

当前定义的通道是:

  • Channels.Reliable = 0
  • Channels.Unreliable = 1
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值