【Unity3D 編輯器擴展】導出SpriteMode為Multiple時,里面的每一張精靈圖片。


有時候,我們會需要把圖集中的每一個精靈導出來。

導出代碼:

  [MenuItem("Tools/ExportSprite")]
    public static void ExportSprite()
    {
        // 拿到選中的資源
        Object[] selects = Selection.objects;

        // 
        string savePath = Application.dataPath + "/outSprite/";
        Directory.CreateDirectory(savePath);
        foreach (Object item in selects)
        {
            Sprite sprite = item as Sprite;
            if (sprite == null)
                continue;

            // 獲取精靈的貼圖
            Texture2D t = sprite.texture;

            // 創建一個新的貼圖
            Texture2D newTex = new Texture2D((int)sprite.rect.width, (int)sprite.rect.height,  TextureFormat.ARGB32, false);
            // 設置像素點為 選擇貼圖的像素點
            newTex.SetPixels(t.GetPixels((int)sprite.rect.xMin, (int)sprite.rect.yMin, (int)sprite.rect.width, (int)sprite.rect.height));
            
            newTex.Apply();

            // 把創建的貼圖對象,轉換為bytes
            byte[] buffer = newTex.EncodeToPNG();
            // 寫出
            File.WriteAllBytes(savePath + sprite.name + ".png", buffer);
        }
    }

使用:

選中你要導出的精靈,點擊頭部菜單 Tools > ExportSprite 然后導出的精靈會放到 Project 下的 outSprite 目錄中。


免責聲明!

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



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