Unity导入处理:AssetPostprocessor

Unity导入处理:AssetPostprocessor

using System.Collections;    using UnityEditor;    public class MyEditor : AssetPostprocessor {      //模型导入之前调用    public void OnPreprocessModel()    {    Debug.Log ("OnPreprocessModel="+this.assetPath);    }    //模型导入之后调用    public void OnPostprocessModel(GameObject go)    {    Debug.Log ("OnPostprocessModel="+go.name);    }    //纹理导入之前调用,针对入到的纹理进行设置    public void OnPreprocessTexture()    {    Debug.Log ("OnPreProcessTexture="+this.assetPath);    TextureImporter impor = this.assetImporter as TextureImporter;    impor.textureFormat = TextureImporterFormat.ARGB32;    impor.maxTextureSize = 512;    impor.textureType = TextureImporterType.Advanced;    impor.mipmapEnabled = false;      }    public void OnPostprocessTexture(Texture2D tex)    {    Debug.Log ("OnPostProcessTexture="+this.assetPath);    }        public void OnPostprocessAudio(AudioClip clip)    {      }    public void OnPreprocessAudio()    {    AudioImporter audio = this.assetImporter as AudioImporter;    audio.format = AudioImporterFormat.Compressed;    }    //所有的资源的导入,删除,移动,都会调用此方法,注意,这个方法是static的    public static void OnPostprocessAllAssets(string[]importedAsset,string[] deletedAssets,string[] movedAssets,string[]movedFromAssetPaths)    {    Debug.Log ("OnPostprocessAllAssets");    foreach (string str in importedAsset) {    Debug.Log("importedAsset = "+str);    }    foreach (string str in deletedAssets) {    Debug.Log("deletedAssets = "+str);    }    foreach (string str in movedAssets) {    Debug.Log("movedAssets = "+str);    }    foreach (string str in movedFromAssetPaths) {    Debug.Log("movedFromAssetPaths = "+str);    }    }