/*
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);
}
}
判断资源贴图是否有alpha