@^@ 之前做項目曾經遇到一個問題,ui美術給了我大量的序列幀圖片,當時不知道如何快速批量地將資源賦值(拖拽)到inspector面板上,手動拖拽顯然非常痛苦。當然有一種動態加載資源的方法 Resources.LoadAll或者 Resources.Load,但是我想在游戲未運行前提前把圖片拖拽到inspector面板上,並且在我更換資源的時候也能夠通過一鍵解決,后面我找到了以下的解決方案。
1.新建一個腳本文件 EditorLoader.cs
using System.Collections; using System.Collections.Generic; using UnityEngine; [ExecuteInEditMode] public class EditorLoader : MonoBehaviour { [Header("sprite渲染組件")] public Sprite [] sprites; [Header("Resources下的路徑")] public string resPath; [Header("是否賦值了")] public bool isGenerate = false; void Update() { if (isGenerate) { // 重新設置sprites數組的長度, // 不然當資源的數量少於上次的資源的時候sprites // 超出的數組長度會變成空值 sprites = new Sprite[0]; // 賦值給sprites sprites = Resources.LoadAll<Sprite>(resPath); // 當點擊isGenerate時,立即設為false,以保證每次點擊只執行一次 isGenerate = false; } } }
2.將EditorLoader.cs拖拽到Main Camera組件上

3.將資源導入Resources文件夾內

4.在inspector面板Res Path輸入框內輸入Resources下UI的路徑,然后點擊Is Generate即可,無論資源如何更改,輸入路徑,點擊Is Generate搞定了

大功告成。
