代码如下:
需要将代码放置于:Editor文件夹下
这样被导入的资源就会被自动设置为想要的
using UnityEngine;
using System.Collections;
using UnityEditor;
public class MyEditor : AssetPostprocessor
{
//这些方法都由AssetPostprocessor,确切说是unity自己调用,不嗦底层,自行研究
//模型导入之前调用
public void OnPreprocessModel()
{
Debug.Log ("模型="+this.assetPath+"被导入");
}
// //纹理导入之前调用,针对导入的纹理进行设置
public void OnPreprocessTexture()//示例,其他的基本一致略
{
Debug.Log ("图片="+this.assetPath+"被导入");
TextureImporter impor = this.assetImporter as TextureImporter;
impor.textureType = TextureImporterType.Sprite;
impor.spriteImportMode = SpriteImportMode.Multiple;
}
public void OnPreprocessAudio()
{
AudioImporter audio = this.assetImporter as AudioImporter;
Debug.Log(audio.name+"被导入了");
}
// //所有的资源的导入,删除,移动,都会调用此方法,注意,这个方法是static的
public static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths)
{
//导入资产的路径数组路径
Debug.Log ("OnPostprocessAllAssets1");
foreach (string str in importedAssets) {
Debug.Log("importedAsset = "+str);//输出所有资产在unity中的路径
}
//已删除资产的路径数组路径
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);
}
}
}