0
点赞
收藏
分享

微信扫一扫

[Unity Mirror] Network Transform

Xin_So 2022-03-20 阅读 88

英文原文:

  Network Transform组件在网络上同步网络游戏对象的位置、旋转和缩放。

  具有网络转换组件的游戏对象还必须具有网络身份组件。当您将 Network Transform 组件添加到游戏对象时,Mirror 还会在该游戏对象上添加一个 Network Identity 组件(如果它还没有)。

在这里插入图片描述
  默认情况下,网络转换是服务器权威的,除非您选中客户端权限框。客户端权限适用于玩家对象以及专门分配给客户端的非玩家对象,但仅适用于该组件。启用此功能后,位置更改将从客户端发送到服务器。

  您可以使用发送间隔指定同步频率(以秒为单位)。

延迟、丢包和抖动期间的平滑移动

  NetworkTransform 通过 Unreliable 通道在每个 sendInterval 发送运动更新。

  网络条件从来都不是理想的,因此这些更新可能会出现乱序、延迟或在途中丢失。

  在非理想网络条件下的平滑移动是游戏网络中比较困难的问题之一。我们的 NetworkTransform 组件通过使用快照插值来解决它。我们建议通读链接章节以详细了解它。

  简而言之,在非理想条件下的平稳移动是通过缓冲实现的。条件越差,缓冲时间乘数(Buffer Time Multiplier)就需要越高。但是,它的缓冲时间也越高。

  总缓冲时间由 sendInterval * Buffer Time Multiplier 计算。通常建议使用系数“3”。

  这意味着虽然您可以增加 Buffer Time Multiplier 以弥补更糟糕的情况,但您也可以减少 sendInterval 以仍然保持合理的低缓冲延迟。

  我们新的NetworkTransform已经被多个现实世界的游戏项目用于生产。观看此视频,比较我们的新旧 NetworkTransform 组件。

  为了获得新的 NetworkTransform 组件,只需更新您的Mirror版本,直到它看起来像上图中的那个。

举报

相关推荐

0 条评论