Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Unity:哪种状态同步技术更好?_C#_Unity3d_2d Games_Mmo - Fatal编程技术网

C# Unity:哪种状态同步技术更好?

C# Unity:哪种状态同步技术更好?,c#,unity3d,2d-games,mmo,C#,Unity3d,2d Games,Mmo,我正在Unity中实现简单的2D mmo游戏 我想在服务器和客户端之间实现用户位置同步。 你会建议哪种方法 我的两个想法: 第一个: 说明: ClientA生成事件移动。他的移动的增量时间为0,并通过套接字将此事件作为带有开始移动的本地时间戳(T1)的命令发送 服务器将记住并向现场的每个客户端广播此事件 ClientB将在(T3)时间接收ClientA事件,并从dt(增量时间)=T3-T1执行移动动作 (我们也可以在帧或服务器时间内对T3和T1进行评级) 第二个: 说明: 每次我们都会

我正在Unity中实现简单的2D mmo游戏

我想在服务器和客户端之间实现用户位置同步。 你会建议哪种方法

我的两个想法:

第一个:

说明:

  • ClientA生成事件移动。他的移动的增量时间为0,并通过套接字将此事件作为带有开始移动的本地时间戳(T1)的命令发送
  • 服务器将记住并向现场的每个客户端广播此事件
  • ClientB将在(T3)时间接收ClientA事件,并从dt(增量时间)=T3-T1执行移动动作
(我们也可以在帧或服务器时间内对T3和T1进行评级)

第二个:

说明:

  • 每次我们都会为客户播放当前场景状态
  • 场景状态将在服务器或客户端上计算(这无关紧要)
  • ClientA将向服务器发送移动事件,服务器将接收并记住该事件,并向其他客户端广播
  • ClientB将获得ClientA对象的同步状态,并使用对象的当前移动状态更新它们的位置),并每次对其进行插值
嗯。问题是。。。。这两种解决方案的优点和缺点是什么? 也许你有比我想象的更好的解决方案

解决方案可能在Unity引擎上,但应该比我想象的更有效。 另外,什么解决方案使用Unity网络和光子服务器

谢谢大家!

这些都是令人心旷神怡的:,