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

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

但是就任後一直作UI,調組件,擺佈局,不開森,不開森!函數

今天阿亮給你們分享的是一個小工具,本身寫的。由於公司的UI比較豐富,各類底圖什麼的都很是多。爲了避免讓圖片資源重複等緣由,要求導入圖片工具

時須要一張一張的從美工資源那邊拿,一張一張的比對後才能添加到項目中。而後按照慣例,對圖片進行修改,作成精靈。佈局

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

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

若是手動調的話,太麻煩了,點擊選擇,還要應用選項,而後我立刻寫了個小工具。用C#寫代碼真好啊,惋惜orm

我如今只能用Lua寫。對象

如今把這個小工具分享給你們。blog

今天心情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前面有空格)。

相關文章
相關標籤/搜索