编辑器扩展总结
工欲善其事必先利其器
引言: 在项目开发中,编辑器扩展为开发者提供了开发自定义工具的功能,让开发者更加便利地使用编辑器开发项目。如若博客中存在错误,还请不吝赐教。所有参考的博客或者视频来源将在文末展示。
开发版本: Unity 2019.4.9f1
相关博客传送门
一、编辑器开发入门
八、EditorPrefs、ScriptableObject、Undo
AssetPostprocessor资源导入管线
AssetPostprocessor基本使用
AssetPostprocessor用于在资源导入时自动做一些设置,比如当导入大量图片时,自动设置图片的类型,大小等。AssetPostprocessor作为资源导入的管理器,可以根据不同的资源类型,在导入前后导入后做一些处理。
一些常用的方法如下:
OnPreprocessTexture:在导入纹理贴图之前调用
OnPreprocessModel:在导入模型之前调用
OnPreprocessAudio:在导入音频之前调用
OnPostprocessTexture:在导入纹理贴图之后调用
OnPostprocessModel:在导入模型之后调用
OnPostprocessAudio:在导入音频之后调用
OnPostprocessAllAssets:所有资源的导入,删除,移动操作都会调用该方法
示例,对导入的纹理贴图资源进行一定的自动设置:
注意:对图片纹理的设置需要放在OnPreprocessTexture方法中执行
using UnityEngine;
using UnityEditor;
public class AssetsImport : AssetPostprocessor
{
private void OnPreprocessTexture()
{
Debug.Log("OnPreprocessTexture:" + this.assetPath);
TextureImporter importer = this.assetImporter as TextureImporter;
importer.textureType = TextureImporterType.Sprite;
importer.maxTextureSize = 512;
importer.mipmapEnabled = false;
}
public void OnPostprocessTexture(Texture2D tex)
{
Debug.Log("OnPostprocessTexture:" + this.assetPath);
}
}