功能實作:
① Unity外部資源匯入,拖拽資源,移動資源,reImport檔案夾或者檔案,自動生成Ab Name

② 生成AssetBundle組態檔,配置該檔案夾下的忽略關鍵詞和整體是否打包,添加整體忽略檔案的后綴(.controller/.anim/.fbx),
資源匯入設計:
Unity檔案資源匯入,移動,洗掉,都會走Unity封裝的API,繼承于AssetPostprocessor,且
OnPostprocessAllAssets是靜態的
/// <summary>
/// 匯入資源設定
/// </summary>
internal class AssetPostProcessor : AssetPostprocessor
{
private static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets,
string[] movedFromAssetPaths)
{
var list = AssetUtility.LoadAssetProcessors(EAssetProcessStep.Import);
AssetUtility.ImportAssets(importedAssets,list);
AssetUtility.ImportAssets(movedAssets,list);
}
}
使用工廠模式設計資源對匯入,移動,洗掉的不同的加工,這里我就實作了資源的匯入和移動在Ab資源加工類中的實作,
每個檔案夾對需要打包的內容可能有所不同,或者這次這些資源不計入打包資源中,或者對需要打包的資源需要忽略一些關鍵詞的檔案,所以需要打包的每個檔案夾都會有配套的Ab 的資源配置,

這幾類檔案不需要有AssetBundle名字
1.影片控制器
2.animation
3.根據需求需要忽略的檔案
4.檔案夾和檔案組態檔
5.fbx檔案(如果需要打包,需要先將fbx變成預制)
加工流程:
當每次有新的資源需要更新時(可以手動右鍵檔案或者檔案夾,點擊reimport,也會呼叫那個api),API傳入更改的檔案路徑,然后進入加工類對資源進行加工,找到資源對應的檔案夾下的組態檔資訊,判斷是否對該檔案自動生成assetbundle name,或者對已有的資源的ab name 設成空,

這里的ab 名字是除去Asset/和后綴,然后進行小寫變換得到的結果,
需要加載的話,傳入專案檔案路徑, 對其路徑進行變換 ,就可以生成資源,
該功能實作原始碼轉至
unity匯入資源自動設定assetBundle名字-Unity3D檔案類資源-CSDN下載
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/390488.html
標籤:其他
