Aitin原创稿件,转载请注明出处!
功能:资源导入,自动设置属性 工具
需求:处理unity资源的时候,每次导入资源 都要手动设置 资源属性,重复 且 浪费时间,需要实现个自动设置资源属性功能
代码如下
/**************************************
*Module:资源导入 属性设置
*Author:aitin
*Time: 2018.05.18
**************************************/
using System.IO;
using UnityEditor;
using UnityEngine;
namespace CLB
{
public class ABImporter : AssetPostprocessor
{
/// <summary>
/// 模型导入之前调用
/// </summary>
public void OnPreprocessModel()
{
}
/// <summary>
/// 模型导入之前调用
/// </summary>
public void OnPostprocessModel(GameObject go)
{
}
/// <summary>
/// 纹理导入之前调用,针对入到的纹理进行设置
/// </summary>
void OnPreprocessTexture()
{
}
/// <summary>
/// 纹理导入之前调用,针对入到的纹理进行设置
/// </summary>
public void OnPostprocessTexture(Texture2D tex)
{
SetImageInspector();
}
/// <summary>
/// 声音导入之前调用
/// </summary>
public void OnPreprocessAudio()
{
}
/// <summary>
/// 声音导入之前调用
/// </summary>
public void OnPostprocessAudio(AudioClip clip)
{
}
/// <summary>
/// 所有的资源的导入,删除,移动,都会调用此方法,注意,这个方法是static的
/// </summary>
public static void OnPostprocessAllAssets(string[] importedAsset, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths)
{
foreach (string file in importedAsset)
{
SetAssetBundleName(file);
}
foreach (string file in deletedAssets)
{
DeleteAsset(file);
}
foreach (string file in movedAssets)
{
AssetDatabase.ImportAsset(file);
SetAssetBundleName(file);
}
foreach (string file in movedFromAssetPaths)
{
DeleteAsset(file);
}
}
/// <summary>
/// 设置图片 属性
/// </summary>
public void SetImageInspector()
{
}
/// 导入文件时添加AssetBundle名字
static void SetAssetBundleName(string abpath)
{
}
// 删除文件
static void DeleteAsset(string file)
{
}
}
}
这样就可以摆脱 资源设置烦恼啦~~~
网友评论