这段时间一直都在打包资源,然后每次导入都要改图片的属性。真是麻烦,所以一直在寻找一键改动而且打包的方法。
最终让我找到了,太坑人了。
依据自己的需求改代码哦,相信大家都能看明确。
核心部分:
TextureImporter ti = (TextureImporter)TextureImporter.GetAtPath(AssetDatabase.GetAssetPath(obj)); ti.textureType = TextureImporterType.GUI; ti.filterMode = FilterMode.Point; ti.textureFormat = TextureImporterFormat.RGBA32;
所有代码例如以下:
using UnityEngine; using System.Collections; using UnityEditor; public class AssetBundleTest : Editor { [MenuItem("Creat/CreateAssetBunldes")] public static void CreateAssetBunldes() { Object[] SelectedAsset = Selection.GetFiltered(typeof(Object), SelectionMode.DeepAssets); foreach (Object obj in SelectedAsset) { TextureImporter ti = (TextureImporter)TextureImporter.GetAtPath(AssetDatabase.GetAssetPath(obj)); ti.textureType = TextureImporterType.GUI; ti.filterMode = FilterMode.Point; ti.textureFormat = TextureImporterFormat.RGBA32; string targetPath = Application.dataPath + "/Asset/" + obj.name + ".assetbundle"; if (BuildPipeline.BuildAssetBundle(obj, null, targetPath, BuildAssetBundleOptions.CollectDependencies)) { Debug.Log(obj.name + "资源打包成功"); } else { Debug.Log(obj.name + "资源打包失败"); } } AssetDatabase.Refresh(); } }
希望大家喜欢。