using UnityEditor; public class AutoSetTextureUISprite : AssetPostprocessor { void OnPreprocessTexture() { //自动设置类型; TextureImporter textureImporter = (TextureImporter)assetImporter; textureImporter.textureType = TextureImporterType.Sprite;//设置图片类型 /*TextureImporterPlatformSettings setting = new TextureImporterPlatformSettings(); setting.format = TextureImporterFormat.RGBA32; setting.maxTextureSize = 2048; setting.compressionQuality = 80;//[0,100] setting.textureCompression = TextureImporterCompression.Compressed; 这个是真的不知道怎么用,设置了难道就可以了? textureImporter.SetPlatformTextureSettings(setting);*/ textureImporter.SetPlatformTextureSettings("iPhone", 2048, TextureImporterFormat.RGBA32, true);//过时但是能用 textureImporter.SetPlatformTextureSettings("Android", 2048, TextureImporterFormat.RGBA32, true); } }
脚本可以放在工程Assets的任意地方,然后导入图片就会自动设置了。
默认设置为Sprite是因为在NGUI中使用texture打包出来的图集图片也是texture中,会在某些平台上产生模糊,所以默认设置成Sprite且为RGBA32不压缩格式,以免忘记
当导入的图片是在粒子等上使用时,也会因为是Sprite而使用不了从而去主动设置格式,避免了n多图集没有修改格式,而造成的模糊