Unity用代碼設置圖片的壓縮格式(AssetImporter/TextureImporter)

前言

項目中,圖集圖片的壓縮格式可能需要統一處理,如果挨個挨個設置實在太麻煩了,可以使用代碼對圖片壓縮格式進行設置。

代碼示例

以設置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);
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章