AssetPostprocessor资源导入管线
AssetPostprocessor用于在资源导入时自动做一些设置,比如当导入大量图片时,自动设置图片的类型,大小等。AssetPostprocessor作为资源导入的管理器,可以根据不同的资源类型,在导入前、导入后做一些处理。
常用的方法:
OnPreprocessTexture:在导入纹理贴图之前调用
OnPreprocessModel:在导入模型之前调用
OnPreprocessAudio:在导入音频之前调用
OnPostprocessTexture:在导入纹理贴图之后调用
OnPostprocessModel:在导入模型之后调用
OnPostprocessAudio:在导入音频之后调用
OnPostprocessAllAssets:所有资源的导入,删除,移动操作都会调用该方法
示例,对导入的纹理贴图资源进行一定的自动设置:
注意:对图片纹理的设置需要放在OnPreprocessTexture方法中执行
using UnityEditor; /// <summary> /// 贴图导入自动设置正确的压缩格式 /// </summary> public class TextureImport : AssetPostprocessor { void OnpreprocessTexture() { //判断贴图导出的路径,设置正确的压缩格式 if (assetPath.Contains("Assets")) { TextureImporter textureImporter = AssetImporter.GetAtPath(assetPath) as TextureImporter; textureImporter.textureType = TextureImporterType.Sprite;//设置贴图的格式为精灵 textureImporter.mipmapEnabled = false;//mipmap关闭 //设置各平台的压缩格式 TextureImporterPlatformSettings settings = new TextureImporterPlatformSettings(); settings.overridden = true; settings.name = "iPhone"; settings.format = TextureImporterFormat.ASTC_RGBA_4x4; textureImporter.SetPlatformTextureSettings(settings); } } }