前言
項目中,圖集圖片的壓縮格式可能需要統一處理,如果挨個挨個設置實在太麻煩了,可以使用代碼對圖片壓縮格式進行設置。
代碼示例
以設置NGUI的圖集的png大圖的壓縮格式在Android平臺設置爲ETC 4爲例
using UnityEditor;
using System.IO;
// 獲取目錄中的所有預設
var fs = Directory.GetFiles(Application.dataPath + "\\GameRes\\Atlas", "*.prefab", SearchOption.AllDirectories);
foreach(var f in fs)
{
var assetPath = f.Replace(Application.dataPath, "Assets");
var atlas = AssetDatabase.LoadAssetAtPath<UIAtlas>(assetPath);
if(null == atlas) continue;
// 獲取圖集的png大圖
var texture = atlas.spriteMaterial.mainTexture;
var textureAssetPath = AssetDatabase.GetAssetPath(texture);
// Android平臺設置
var imp = AssetImporter.GetAtPath(textureAssetPath) as TextureImporter;
var setting = imp.GetPlatformTextureSettings("Android");
// 設置成ETC 4
setting.format = TextureImporterFormat.ETC_RGB4;
imp.SetPlatformTextureSettings(setting);
// 保存設置
AssetDatabase.ImportAsset(textureAssetPath);
}