通过SyncVar进行Unity Networking同步

时间:2018-03-08 09:43:28

标签: c# unity3d unet

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

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

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

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

提前致谢, 米尔科

2 个答案:

答案 0 :(得分:1)

您可以在两个设备上根据时间调用方法。因此,设置两台设备以便在15:43:45拍照。

然后从一个调用此方法到另一个,并且手动设置时间。

他们的时钟越同步越好。也许你可以让他们联系在线时钟。

答案 1 :(得分:0)

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