2016-11-17 73 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它會很好,但我不知道如何控制它,它似乎是在幕後自動完成的。

有人知道我該如何解決這個問題?我很絕望,我一直在尋找答案兩天。

感謝

回答