unity3d將Resources資源批量賦值(拖拽到)Inspector面板上


@^@ 之前做項目曾經遇到一個問題,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搞定了

 

 大功告成。

 


免責聲明!

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



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