【问题标题】:Unity Networking synchronization via SyncVar通过 SyncVar 进行 Unity 网络同步
【发布时间】:2018-08-16 14:52:02
【问题描述】:

我正在编写一个 Unity 应用程序,它使用 Unity Networking 连接两个移动设备。一个充当Master(主机),另一个充当Slave(客户端)。应用程序应从每个设备同步拍摄照片。

现在我正在使用 SyncVars 来实现这一点。每十帧,服务器更改一个 SyncVar,然后调用此变量的 onChange 方法,主机和客户端都拍摄照片并使用 [Command] 方法将其发送回主机。

我是 Unity Networking 的新手,所以这是我的第一个实现,我想这不是解决这个问题的最佳方法。

UNET 中是否有针对此 UseCase 的其他同步?

提前致谢, 米尔科

【问题讨论】:

    标签: c# unity3d unet


    【解决方案1】:

    您可以在两个设备上都有一个基于时间调用的方法。因此,例如将两个设备设置为在 15:43:45 拍照。

    然后从一个到另一个调用此方法,并提前设置时间。

    他们的时钟越同步越好。也许你可以让他们连接到在线时钟。

    【讨论】:

    • UNET 的网络管理器通过网络提供同步时间,因此这可能是一种正确的方法。谢谢
    • 听起来绝对值得一试。
    【解决方案2】:

    尝试使用 RPC 方法(从服务器发送到每个客户端)来拍照。由于服务器本身也充当客户端,因此两者都应该(几乎)同步启动 RPC 方法。 当两个设备在同一个网络中时,在客户端上拍照不应该有这么高的延迟。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-01-06
      • 2022-01-14
      • 2011-09-28
      • 1970-01-01
      • 1970-01-01
      • 2022-12-04
      • 1970-01-01
      相关资源
      最近更新 更多