1. 程式人生 > >自定義AssetBundle包副檔名

自定義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";

然後點選選單,執行打包程式,雖然最後打包成功了,編輯器會報錯,錯誤資訊是這樣的↓↓

 

 

  1.  

    Error: Variant folder path cannot be empty

  2.  

     

這是個死活找不出原因的錯,明明都打包成功了,哪裡報的錯??逗我來了吧??

 

 

簡直讓人崩潰,問度娘,度娘說:我不知道...

哎,無奈之下只好問谷哥了,幸好谷哥給力了一把↓↓

 

 

總算是找到原因了,按照上圖的方法新增這幾行程式碼,再次執行打包,就不會再報錯了,心好累...

 

 

但是你以為這樣就完了??那你就太年輕了...

在添加了上面的程式碼之後,每次執行後,你設定的資訊都會儲存到Inspector面板中的這裡↓↓還有這裡↓↓

 

(用畫圖打的馬賽克,將就著看吧)

 

也不能通過Remove Unused Names把它們刪除掉,如果是處女座的話...

 

總結來看,最方便最保險最安全最**的設定AssetBundle字尾名的方式還是第二種方式。

最後非常非常非常感謝這位叫王思元的筒子給出的正解,它的部落格裡還有很多很多關於AssetBundle包和打包的知識,以及各種報錯的解決方案,我只是截取了其中一段,歡迎大家去看看他的部落格→→部落格連結←←

 

下期見啦~