[Unity-24] Unity的四種載入場景的方法


Unity官方提供了4種載入場景(scene)的方法。各自是:
1. Application.LoadLevel():同步載入
2. Application.LoadLevelAsync():異步載入
3. Application.LoadLevelAddictive():同步附加式載入
4. Application.LoadLevelAddictiveAsync():異步附加式載入

以下對這四種方法進行簡要的介紹和分析:
1.同步載入:如果當前場景為A,我們要切換到場景B,unity會在切換場景的時候將場景B中的全部內容(場景B中全部的靜態物體,不包含興許代碼中Instantiate實例化的物體)都載入到內存中。然后銷毀A,顯示B。

因為載入B是同步進行的(也就是在一個線程中),所以當B場景較大的時候執行此方法會感覺到卡頓。
2.異步載入:這個與第一種情況基本一樣,唯一的差別是載入B的過程是異步的(也就是載入新場景的行為是在一個后台線程中進行的。不影響主線程的執行),這樣在載入B的時候當前場景A不受影響,能夠繼續執行,所以即使場景B非常大也不會感覺到卡頓。


3.同步附加式載入:如果當前場景是A,我們要載入場景B,unity在載入B的時候不會銷毀A,也就是說載入結束之后A和B將同一時候存在,這個適合於世界地圖比較大的時候。依據人走到的位置來動態的載入世界地圖中的不同部分。當然前提是將世界地圖做成多個不同的scene文件。


4.異步附加式加:這樣的情況與上一種基本一樣,差別仍然在於載入B的過程是在一個后台線程中異步進行的。

注意:異步載入的方式最基本的應用就是制作場景切換過程中的過渡界面。

詳細方法能夠參見雨松大大的blog。

地址:http://www.xuanyusong.com/archives/1427/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM