Photon Unity Networking:场景对象

时间:2016-11-17 23:16:58

标签: c# unity3d photon

我在Unity多人游戏中使用Photon PUN网络存在很大问题。

主客户端接收要从服务器创建的联网SCENE对象的列表。

主客户端创建所有场景对象ONCE,如此psudo代码

void OnLevelLoaded()
{
   if (MasterClient) {
     for (i=0; i<object.Count; i++) {
       PhotonNetworking.InstantiateSceneObject(object[i],....)
     }
   }
   CreatePlayer();
}

当其他玩家加入房间时,服务器(或其他一些实体,不知道是谁)会自动在客户端播放器上创建相同的联网场景对象。

让我们说一个玩家拿起一个场景对象,主客户端将其作为缓冲的RPC发送给所有客户端,以便他们也可以接收它。

问题:当新玩家加入时,即使场景对象尚未由服务器自动实例化,他也会立即获得一堆RPC调用来拾取对象,所以当然RPC无法找到对象,因为它们不是已创建,程序失败。

如果有某种程度上服务器可以首先实例化场景对象,那么发送RPC会很棒,但我不知道如何控制它,它似乎是在幕后自动完成的。

有谁知道如何解决这个问题?我非常绝望,我一直在寻找答案两天。

由于

1 个答案:

答案 0 :(得分:1)

确保您在退出游戏论坛上发帖,您将有更多机会让知识渊博的人帮助您。

http://forum.photonengine.com/categories/unity-networking-plugin-pun

- 谁发送此RPC,是播放器还是其他? - 你究竟得到了什么错误,是在PUN内部还是在你自己的脚本里面出错?

再见,