xzhuan原創(chuàng)稿件,轉(zhuǎn)載請注明出處!
功能:資源導(dǎo)入,自動設(shè)置屬性 工具
需求:處理unity資源的時候,每次導(dǎo)入資源 都要手動設(shè)置 資源屬性,重復(fù) 且 浪費(fèi)時間,需要實(shí)現(xiàn)個自動設(shè)置資源屬性功能
代碼如下
/**************************************
*Module:資源導(dǎo)入 屬性設(shè)置
*Author:aitin
*Time: 2018.05.18
**************************************/
using System.IO;
using UnityEditor;
using UnityEngine;
namespace CLB
{
public class ABImporter : AssetPostprocessor
{
/// <summary>
/// 模型導(dǎo)入之前調(diào)用
/// </summary>
public void OnPreprocessModel()
{
}
/// <summary>
/// 模型導(dǎo)入之前調(diào)用
/// </summary>
public void OnPostprocessModel(GameObject go)
{
}
/// <summary>
/// 紋理導(dǎo)入之前調(diào)用,針對入到的紋理進(jìn)行設(shè)置
/// </summary>
void OnPreprocessTexture()
{
}
/// <summary>
/// 紋理導(dǎo)入之前調(diào)用,針對入到的紋理進(jìn)行設(shè)置
/// </summary>
public void OnPostprocessTexture(Texture2D tex)
{
SetImageInspector();
}
/// <summary>
/// 聲音導(dǎo)入之前調(diào)用
/// </summary>
public void OnPreprocessAudio()
{
}
/// <summary>
/// 聲音導(dǎo)入之前調(diào)用
/// </summary>
public void OnPostprocessAudio(AudioClip clip)
{
}
/// <summary>
/// 所有的資源的導(dǎo)入,刪除,移動,都會調(diào)用此方法,注意,這個方法是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>
/// 設(shè)置圖片 屬性
/// </summary>
public void SetImageInspector()
{
}
/// 導(dǎo)入文件時添加AssetBundle名字
static void SetAssetBundleName(string abpath)
{
}
// 刪除文件
static void DeleteAsset(string file)
{
}
}
}
這樣就可以擺脫 資源設(shè)置煩惱啦~~~