參考:How to execute async task in Unity3D?Unity異步和/或協程實現?
我有一個腳本動態加載按鈕點擊高LOD模型。不幸的是,Unity會滯後或丟幀。實際上我不確定哪一個,但似乎是凍結,直到大型模型加載。這不是非常用戶友好的。在理想的世界中,我可以在加載模型時向用戶顯示「加載...」文本消息。
從我發現,異步方法是實現這一目標的最好方法,但我似乎無法實現異步方法。我在其他地方讀到,協程是執行異步任務的乾淨方式。我想...
IEnumerator txtTask()
{
yield return new WaitForSeconds(0);
LoadingTxt.GetComponent<UnityEngine.UI.Text>().enabled = true;
}
,然後調用這個協程在模型加載功能的開始,
StartCoroutine(txtTask());
但是,這並不工作,團結還是暫時掛起。該模型將同時載入文本。
您使用什麼代碼加載LOD模型?請張貼,因爲決定什麼是最好解決這個問題很重要。 – Programmer
只發布負責加載不同型號的相關部件。 – Programmer
您的問題似乎是關於如何改善您所遇到的掛起的用戶體驗,顯示加載模型的代碼將讓我們向您展示如何異步加載模型以防止掛起。您只是在試圖治療症狀(文本沒有出現)而不是治療問題(從對象加載中掛起)時將焦點集中在錯誤的位置。同樣,即使您想保持掛起狀態並使文本正常工作,您也需要向我們展示更多包含'StartCoroutine(txtTask())'行的代碼。你拖延錯誤,你需要延遲加載而不是文本。 –