2022-08-31|閱讀時間 ‧ 約 5 分鐘

Unity C# | LoadScene

前言

  這篇文章將會講述場景 (Scene) 轉換的程式,將會介紹載入場景的兩種主要方法,並且詳細介紹同步載入的程式與範例。

場景設定 | Build Setting

  在我們開始講述任何一項知識之前,在 Unity 中要進行設定,確認哪些是我們遊戲要使用的場景:File → Build Setting → 放入場景。

場景管理 | SceneManager

  這是一個類 (Class) ,用於 Unity 運行時的場景管理,裡面包含各種不同的參數 (Value) 、函式 (Methods) 、事件 (Event),接下來簡單講述場景載入的兩種分類。

同步載入 | LoadScene
  同步載入就是直接讓場景從 A→B 的形式轉換,如果 B 場景的資源數量比較多,就會讓玩家卡在載入前的位置,如果遊戲資源比較少就沒什麼問題,但如果遊戲資源很大,玩家電腦又不好,就容易卡住不動。
  在學習製作一款遊戲時,只需要使用同步載入即可,因為在絕大多數的情況下你並不會使用到高耗能的資源,因此同步載入在遊戲製作新人時期就足夠了。

異步載入 | LoadSceneAsync
  異步載入是指在載入遊戲的時候,遊戲畫面不會受到影響,依然會執行原本正在處理的事情,同樣在跑進度條,同步會直接停擺,而異步會讀條告訴你現在載入多少內容。
  這是未來一定要學習到的程式,因為遊戲製作隨著你技術能力提升,會接觸到越來越高品質的素材,遊戲也會越來越龐大,當我們使用異步載入時,無論有沒有製作讀條場景都不會讓玩家抽離沉浸感。

同步載入 | LoadScene

  那接下來就簡單介紹一下同步載入是在做什麼會寫到哪些程式碼。

名稱搜尋 | String
  我們可以使用場景名稱來選擇載入的場景,優點是場景放進去就能用,缺點是錯一個字就不行,因為沒有分大小寫所以不會有相關問題。
LoadScene("StartPage");

索引搜尋 | int
  我們也能使用場景所引來選擇載入的場景,優點是簡單易懂能彈性調整,缺點是幾個月後回來,你要重新打開 Build Setting 才能知道幾號是什麼場景。
LoadScene(1);  

影片參考
歡迎從這部影片來看場景載入如何運作,在 Unity 裡面看起來如何。

後記

  這是電腦維修回來以後的第一篇文章,本來寫一些復健文章,沒想到洋洋灑灑還是寫了一大串內容,滿滿都是資訊,我還是第一次知道有非同步載入這件事情,算是清楚場景轉換這一塊我還有的學吧!

參考資料

Unity API | SceneManager

Unity API | SceneManager.LoadScene

Unity API | SceneManager.LoadSceneAsync

Unity非同步載入場景與載入進度條

Unity异步加载场景

瓶裝雪

你對我有興趣了?那太好了,我還有很多的作品跟知識可以讓你看看,無論是我對了抒發情感和鍛鍊文筆的生活與戀愛的文章、還是關於我自己專案的日程紀錄、粒子特效的作品展示,都可以在下面找到我。
↓詳細內容一覽↓
最新消息與時間軸:
程式與設計:
戀愛與生活:
粒子與特效:
遊戲製作:
分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.