腳本繼承至AssetPostprocessor, 存放在Editor目錄下!
using UnityEngine; using System.Collections; using UnityEditor; /// <summary> /// AssetPostprocessor: 貼圖、模型、聲音等資源導入時調用,可自動設置相應參數 /// 導入圖片時自動設置圖片的參數 /// </summary> public class TextureImportSetting : AssetPostprocessor{ /// <summary> /// 圖片導入之前調用,可設置圖片的格式、Tag…… /// </summary> void OnPreprocessTexture() { TextureImporter importer = (TextureImporter)assetImporter; importer.textureType = TextureImporterType.Sprite; // 設置為Sprite類型 importer.mipmapEnabled = false; // 禁用mipmap //importer.spritePackingTag = "tag"; // 設置Sprite的打包Tag Debug.Log("OnPreprocessTexture"); } /// <summary> /// 圖片已經被壓縮、保存到指定目錄下之后調用 /// </summary> /// <param name="texture"></param> void OnPostprocessTexure(Texture2D texture) { Debug.Log(texture.name); } /// <summary> /// 所有資源被導入、刪除、移動完成之后調用 /// </summary> /// <param name="importedAssets"></param> /// <param name="deletedAssets"></param> /// <param name="movedAssets"></param> /// <param name="movedFromAssetPaths"></param> static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths) { foreach (string str in importedAssets) { Debug.Log("Reimported Asset: " + str); } foreach (string str in deletedAssets) { Debug.Log("Deleted Asset: " + str); } for (int i = 0; i < movedAssets.Length; i++) { Debug.Log("Moved Asset: " + movedAssets[i] + " from: " + movedFromAssetPaths[i]); } } }