在Unity Billiard游戏中实现多人游戏的最佳方法是什么?

时间:2016-09-22 04:01:07

标签: networking unity3d multiplayer photon

我正在制作一个在线台球游戏。我已经完成了单人游戏,在线帐户系统,在线库存系统等所有机制。一切都很好,但我现在已经到了最困难的部分,多人游戏。我尝试每帧同步每个球的位置,但运动根本不平滑,球会来回移动,一般看起来很糟糕。有人有任何解决方案吗?像Miniclip那样的其他台球游戏如何做到这一点,我老实说是在这里沮丧,因为我花了一段时间学习Photon网络,然后发现它在处理物理同步方面并不擅长。

uNet会在这里成为更好的选择吗?

我感谢你给我的任何帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

这已经通过PUN完成:https://www.assetstore.unity3d.com/en/#!/content/15802

您可以尝试使用同步设置或实现自定义OnPhotonSerializeView(请参阅PUN包中的DemoSynchronization)。确保在同步客户端上禁用物理模拟。参见DemoBoxes for physics simulation sample。

或者,如果球只能沿着线移动,则不要每帧发送所有位置。仅在球碰撞时发送位置和速度,并在两者之间进行简单的速度模拟。这可以在更全面的物理学中起作用,但一般规则是相同的:在关键点同步它。当然,这并不像自动同步那么简单。

另外请注意,经典台球是基于转向的游戏而你并没有所有复杂的玩家互动。在最坏的情况下,您可以记录'模拟当前播放器客户端和播放'在其他人身上。