自定義AssetBundle包副檔名
引用: https://www.cnblogs.com/huwenya/p/9246232.html
自定義AssetBundle包副檔名
在之前的教程中,我們已經多次提到過副檔名了,並且也已經說明了如何設定自定義的AssetBundle副檔名。至於為什麼還要把它單獨拿出來說一遍,自然是有它的道理的,因為這裡面有一個巨大的坑...
注意,前方有坑。。。
根據前面的劇情,我們有三方式可以設定自定義的AssetBundle包副檔名,下面就來一一講解:
一、在Inspector面板中設定副檔名
這種設定AssertBundle包副檔名的方式可能是最簡單的方式了,這裡我把圖片再放一遍↓↓
使用這種方式設定副檔名也有坑的地方,據我的嘗試,也不是任意的副檔名都可以的,假如通過這種方式設定了副檔名,但是打包以後卻沒有看到副檔名,那麼就換一個副檔名再試試。
二、通過AssetBundleName設定副檔名
意思是什麼呢?就是我們在給AssetBundle包設定名字的時候,同時加入副檔名。
假如說,我們給AssetBundle包取名字叫做“MyAssetBundle”,那麼這個時候,我們把名字換成“MyAssetBundle,assetbundle”,不用再設定副檔名,直接打包,我們會看到打包出來的AssetBundle包帶上了副檔名。
其實這是一種討巧的方式。用這種方式可以設定任何副檔名,都沒有問題,而且可以被正確載入。
三、通過AssetBundleBuild.assetBundleVariant設定副檔名
興許在我心裡這種方式設定副檔名才是正統,也不知道為什麼會有這種奇怪的念頭。
我們可以在上一教程的程式碼基礎上加上這樣一句話↓↓
buildMap.assetBundleVariant = "assetbundle";
然後點選選單,執行打包程式,雖然最後打包成功了,編輯器會報錯,錯誤資訊是這樣的↓↓
-
Error: Variant folder path cannot be empty
-
這是個死活找不出原因的錯,明明都打包成功了,哪裡報的錯??逗我來了吧??
簡直讓人崩潰,問度娘,度娘說:我不知道...
哎,無奈之下只好問谷哥了,幸好谷哥給力了一把↓↓
總算是找到原因了,按照上圖的方法新增這幾行程式碼,再次執行打包,就不會再報錯了,心好累...
但是你以為這樣就完了??那你就太年輕了...
在添加了上面的程式碼之後,每次執行後,你設定的資訊都會儲存到Inspector面板中的這裡↓↓還有這裡↓↓
(用畫圖打的馬賽克,將就著看吧)
也不能通過Remove Unused Names把它們刪除掉,如果是處女座的話...
總結來看,最方便最保險最安全最**的設定AssetBundle字尾名的方式還是第二種方式。
最後非常非常非常感謝這位叫王思元的筒子給出的正解,它的部落格裡還有很多很多關於AssetBundle包和打包的知識,以及各種報錯的解決方案,我只是截取了其中一段,歡迎大家去看看他的部落格→→部落格連結←←
下期見啦~