我已經在我的項目中加載了資產包,我將它們全部添加到列表中,以便可以遍歷資產包內的每個單獨對象。但是,當我在場景中不再需要時刪除加載的對象時遇到問題。銷燬Unity資產包中的加載資產
在我的研究中,我知道Bundle.UnloadAll,但是從我讀過的東西中可以看出它毀壞了我不想要的整個包。現在我的代碼如下所示:
if(GUI.Button(new Rect(10,130,100,50), "Forward"))
{
if(index > 0 && object_List[index] != null)
{
Destroy((GameObject)object_List[index]);
}
Instantiate((GameObject)object_List[index]);
index ++;
}
通過我的列表此代碼遍歷包含裝入資產包的對象,並應在產卵列表中的下一個。同時,它應該銷燬先前加載的一個。但是,當我運行這段代碼,我得到以下錯誤:
Destroying assets is not permitted to avoid data loss. If you really want to remove an asset use DestroyImmediate (theObject, true);
所以,我改變我的代碼,它的建議,我碰到這個錯誤:
MissingReferenceException: The object of type 'GameObject' has been destroyed but you are still trying to access it. Your script should either check if it is null or you should not destroy the object.
然而,沒有東西從我的名單中刪除而第一個產生的對象仍然存在。
有沒有人遇到類似的問題?我試圖做甚至可能嗎?
任何幫助,將不勝感激。