AssetBundle打包學習(三)
本期主要整理一些在AssetBundle打包中碰到的一些細節上的問題。
可以發現AssetBundle和一些Unity提供的配置選項不相容導致碰到一些奇怪的問題。
Mesh配置
在FBX的Inspector介面有很多可配置項
發現 Read/Write Enabled的勾取消掉的時候,如果發生Mesh的訪問操作,會直接導致Crash。一般特效帶Mesh的會發生這種情況。
Optimize Mesh會導致多餘的Mesh被幹掉,造成表現出錯。
上面提到的這兩點,如果資源是在Resources目錄下被打包則不會出錯。
IOS相關
Managed code stripping & Engine code stripping,Engine code stripping 預設開啟,當把所有的資源都打成Asset Bundle以後Unity會認為這是一個空包,然後大部分Class都被strip,當載入AssetBundle訪問的時候直接Crash。
Shader相關
shader stripping 預設的Lightmap modes & Fog modes都是Automatic。這樣發現最後打完Asset Bundle發現表現上烘焙的光照表現不正確,霧效也丟失了。需要配置為Manual然後根據實際情況勾選相應的Shader,比如Baked Non-Directional。
載入相關
當發起一個AssetBundle的LoadAsync非同步請求的時候,呼叫Resources.UnloadUnusedAssets會導致這個AssetBundle載入的資源被釋放掉,5.3.6版本存在 5.3.7已經修復 5.3.7 What's News裡面有提到
AssetBundles: Fixed an issue where calling Resources.UnloadUnusedAssets while loading an AssetBundle with AssetBundleRequest.LoadAssetAsync caused an error &and stopped the asset from being loaded properly (803481, 807275)
總結
AssetBundle的使用需要主要注意很多細節,總體來看和優化有關,這樣類似的問題定位上會簡單很多。
相關文章
- Unity——AssetBundle打包工具Unity
- Unity C# 打包AssetBundle與場景UnityC#
- 熱更新基礎--AssetBundle學習筆記筆記
- Unity 熱更--AssetBundle學習筆記 0.7Unity筆記
- Unity 熱更--AssetBundle學習筆記 0.8Unity筆記
- RN學習(三)——CodePush打包及效果展示
- webpack打包學習Web
- 8、Ktor學習-部署之打包;
- webpack學習(二)初識打包配置Web
- 【java學習】jar、arr和程式打包JavaJAR
- 深入學習rollup來進行打包
- EJB學習(一)——EJB和WEB打包Web
- webpack v3 學習筆記(三) 打包css程式碼 和 Tree ShakingWeb筆記CSS
- 學習rollup.js模組檔案打包JS
- 學習Source Generators之打包成Nuget使用
- hdfs學習(三)
- redis學習(三)Redis
- goblg學習三Go
- TypeScript 學習(三)TypeScript
- django學習(三)Django
- 學習三境界
- Scala學習(三)練習
- 知物由學 | iOS AssetBundle資源保護iOS
- webpack 3.X學習之多頁面打包Web
- 函式學習三函式
- TypeScript學習(三)—— 類TypeScript
- HIVE學習之(三)Hive
- 視覺學習(三)視覺
- HTML學習 -- (三)CSSHTMLCSS
- EXP/IMP 學習(三)
- Unity AssetBundle 載入Unity
- AssetBundle上層框架框架
- webpack v3 學習筆記(一) 打包jsWeb筆記JS
- Unity 熱更--AssetBundle學習筆記 1.0【AB包資源載入工具類的實現】Unity筆記
- 字串函式學習三字串函式
- HTTP 學習瞭解(三)HTTP
- Vue 學習記錄三Vue
- java第三週學習Java