Unity Resources 系統的最佳實務做法

Resources 的最佳做法

別用 Resources

別用 Resources

別用 Resources

因為很重要,所以要講三次。為什麼呢?理由有三。

  1. 細粒度的記憶體控管會更困難。
  2. 不當使用 Resources 資料夾會導致 app 啟動時間、建置時間更久。這問題在 Resources 檔案愈多,愈是明顯,尤其是規格比較差的行動裝置。app 在 splash screen 前黑畫面太久的其中一個原因正是這一點。
  3. Resources 內的 assets 無法動態下載更新,也沒辦法處理 asset 變體。例如貼圖有分 sd、hd 版。

Unity 的程式開發人員,從 Unity 5 開始,應該要發展一套能夠方便使用 AssetBundle 的系統,如此便能不再倚賴 Resources。

如何正確地使用 Resources

但我還是想用 Resources,那該怎麼做?

下列情況下仍可以考慮使用 Resources。

  1. 存放在 Resources 下的 assets 影響記憶體控管的幅度較小。
  2. 此 asset 從頭到尾都在 app 裡被使用。
  3. 鮮少需要更新,甚至不需要更新。
  4. Asset 不相依於任何平台或裝置。

例如一些設定檔、文字檔、全域 prefab 之類的就可以放在 Resources。

另外,如果開發者沒有一套基於 AssetBundle 的資源管理系統,那麼 prototyping 還是可以考慮先使用 Resources,但還是建議之後別用 Resources,趕快實作一套基於 AssetBundle 的資源管理系統來取代 Resources。

參考資料

相關文章

在 Windows 上安裝 Oh My Posh 替換掉 PowerShell prompt 的樣式

記錄使用 Oh My Posh 這套在 Windows 上常用的命令列佈景主題引擎,取代掉 Windows 系統內建醜醜的外觀。 簡介 Oh My Posh 是一套在 Windows 平台上常用的命令列佈景引擎,可以改顏色、自

更多

LeetCode Problems: 561. Array Partition I

題目資訊 名稱:Array Partition I 分類:Algorithms 編號:561 難度:Easy 標籤:Array 網址:https://leetcode.co

更多

PowerShell Get-Content 讀檔換行陷阱

最近遇到一個 PowerShell 的陷阱,用 Get-Content 讀檔時,不會保留換行符號。因為 Get-Content 行為是單行回傳物件,多行回傳陣列,而不是單一字串。 一種簡單的 EOL 保留方法是 (Get-Content <path>) -join "`n" #

更多