判断资源贴图是否有alpha
/* modfly selected textures`s maxSize and ImportFormat bool hasAlpha = true; if(hasAlpha)then(texture.size/2 and trueColor)else(16bit) 2014.05.27 */ using UnityEngine; using System.Collections; using UnityEditor; public class modflyTextures : ScriptableObject{ [MenuItem ("Custom/modflyTextures")] static void processTexture_Auto() { processTexture(); } static void processTexture() { Object[] textures = GetSelectedTextures(); Selection.objects = new Object[0]; foreach (Texture2D tex in textures) { string path = AssetDatabase.GetAssetPath(tex); TextureImporter importerTexture = AssetImporter.GetAtPath(path) as TextureImporter; if(importerTexture.DoesSourceTextureHaveAlpha() == true){ if(tex.width >= tex.height ) importerTexture.maxTextureSize = tex.width/2; else importerTexture.maxTextureSize = tex.height/2; importerTexture.textureFormat = TextureImporterFormat.AutomaticTruecolor; }else{ if(tex.width >= tex.height ) importerTexture.maxTextureSize = tex.width; else importerTexture.maxTextureSize = tex.height; importerTexture.textureFormat = TextureImporterFormat.AutomaticCompressed; } AssetDatabase.ImportAsset(path); } } static Object[] GetSelectedTextures() { return Selection.GetFiltered(typeof(Texture2D), SelectionMode.DeepAssets); } }