2016-11-17 75 views
1

我使用Photon PUN网络与Unity多人游戏有一个大问题。Photon Unity网络:场景对象

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

主客户端创建所有现场一旦物体像这样psudo代码

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

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

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

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

如果有一些服务器可以先实例化场景对象,然后发送RPC它会很好,但我不知道如何控制它,它似乎是在幕后自动完成的。

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

感谢

回答