C# 通过SyncVar实现统一网络同步

C# 通过SyncVar实现统一网络同步,c#,unity3d,unet,C#,Unity3d,Unet,我正在编写一个Unity应用程序,它使用Unity网络连接两个移动设备。一个充当主(主机),另一个充当从(客户端)。应用程序应该从每个设备同步拍照 目前,我正在使用SyncVars来实现这一点。每十帧,服务器更改一个SyncVar,然后调用该变量的onChange方法,主机和客户端都拍摄照片并使用[Command]方法将其发送回主机 我是Unity Networking的新手,所以这是我的第一个实现,我想这不是解决这个问题的最佳方法 对于这个用例,UNET中还有其他同步吗 提前感谢,, Mirk

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

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

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

对于这个用例,UNET中还有其他同步吗

提前感谢,,
Mirko

您可以根据时间在两台设备上调用一个方法。例如,将两台设备都设置为15:43:45拍照

然后,从一个方法调用另一个方法,并在开始之前设置时间

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

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

UNET的网络管理器通过网络提供了一个同步的时间,因此这可能是一种适当的方法。谢谢,这绝对值得测试。