Unity资源导入自动生成AssetBundle Name
功能實現:
① 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變成預制)
加工流程:
對于需要build得文件夾,需要右鍵文件夾創建文件夾的配置信息。Bubble=>創建ABSetting.
配置好文件夾信息后,當每次有新的資源需要更新時(可以手動右鍵文件或者文件夾,點擊reimport,也會調用那個api),API傳入更改的文件路徑,然后進入加工類對資源進行加工。找到資源對應的文件夾下的配置文件信息,判斷是否對該文件自動生成assetbundle name,或者對已有的資源的ab name 設成空。
這里的ab 名字是除去Asset/和后綴,然后進行小寫變換得到的結果。
需要加載的話,傳入項目文件路徑,?對其路徑進行變換 ,就可以生成資源。
該功能實現源碼轉至
unity導入資源自動設置assetBundle名字-Unity3D文檔類資源-CSDN下載
總結
以上是生活随笔為你收集整理的Unity资源导入自动生成AssetBundle Name的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 高等数学(第七版)同济大学 习题8-6
- 下一篇: Android人脸识别绘制人脸框自定义V