自定義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包和打包的知識,以及各種報錯的解決方案,我只是截取了其中一段,歡迎大家去看看他的博客→→博客鏈接←←