unity使用代碼修改Texture屬性,一鍵生成精靈


發下牢騷:unity基礎組件不是我的強項,我主要做引擎和項目實戰結合的,如何利用unity引擎去高效的實現游戲的功能是我主要的研究方向。

可是就職后一直做UI,調組件,擺布局,不開森,不開森!

今天阿亮給大家分享的是一個小工具,自己寫的。因為公司的UI比較豐富,各種底圖什么的都非常多。為了不讓圖片資源重復等原因,要求導入圖片

時需要一張一張的從美工資源那邊拿,一張一張的比對后才能添加到項目中。然后按照慣例,對圖片進行修改,做成精靈。

圖片添加到項目資源默認是這樣的,

要求的屬性設置是這樣的:

如果手動調的話,太麻煩了,點擊選擇,還要應用選項,然后我馬上寫了個小工具。用C#寫代碼真好啊,可惜

我現在只能用Lua寫。

現在把這個小工具分享給大家。

今天心情So Down,不想注釋。代碼很簡單,就是設置一些屬性的。大家可以嘗試修改達到自己想要的要求。

using UnityEngine;
using System.Collections;
using UnityEditor;
using System.IO;
/// <summary>
/// 這個函數是自動對圖片資源自動處理,設置類型,格式等
/// </summary>
public class TextureEditor  {
    
    static Object targetObj;
    [MenuItem("TextureEdit/Edit")]
    static void EditTexture() {
        targetObj = Selection.activeObject;//這個函數可以得到你選中的對象
        if (targetObj && targetObj is Texture)
        {
            string path = AssetDatabase.GetAssetPath(targetObj);
            TextureImporter texture = AssetImporter.GetAtPath(path) as TextureImporter;
            texture.textureType = TextureImporterType.Sprite;
            texture.spritePixelsPerUnit = 1;
            texture.filterMode = FilterMode.Trilinear;
            texture.mipmapEnabled = false;
            texture.textureFormat = TextureImporterFormat.AutomaticTruecolor;
            AssetDatabase.ImportAsset(path);
            

        }
    }
    
}

寫完后,可能需要重新打開項目,然后你就會看到這個東東:

選中圖片然后點擊Edit,自己看效果吧!

10月22日更新:自定義編輯器快捷鍵.

首先感謝阿升哥哥。他的博客在這里:http://home.cnblogs.com/u/shenggege/

OK,用鼠標點擊菜單完成編輯功能還是有點麻煩,自定義一個快捷鍵吧:

[MenuItem("TextureEdit/Edit &C")]
然后你就會在編輯器中看到這個

選中圖片然后按下Alt + C,圖片秒設……

以下內容來自API:

可以使用一下指定字符創建熱鍵:% (Windows上為ctrl, OS X上為cmd), # (shift), & (alt), _ (無修改鍵)。例如創建一個菜單熱鍵為shift-alt-g使用GameObject/Do Something #&g。創建一個菜單熱鍵g並沒有修改鍵(組合鍵),使用GameObject/Do Something _g。熱鍵文本必須在前面加一個空格字符(GameObject/Do_g不會被解釋為熱鍵,而是GameObject/Do _g這樣,注意_g前面有空格)。


免責聲明!

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



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