Unity發(fā)布WebGL之無盡深淵(一)
? ?????相信大家在發(fā)布Unity到WebGL的時候會遇到很多奇奇怪怪的問題(可能大部分人并不會發(fā)布WebGL),今天來盤點一下最近把我折磨的生不如死的各種坑,希望可以用我的尸體給大家搭一道安全的橋梁。
????????首先,眾(gui)所(cai)周(zhi)知(dao)WebGL不支持很多東西,網(wǎng)上會搜到很多比如unity默認(rèn)的Arial字體、unity內(nèi)置的inputField類不支持輸入、不支持MovieTexture等等,常見問題我會在下面放幾個大佬之前排過的坑的鏈接,這里主要說一下我遇到的坑。
????? ? 我遇到的第一個問題是我的線程會卡死,于是在我百度之后得到了一個信息——WebGL不支持System.Threading。所以我只能改用協(xié)程來執(zhí)行了,勉勉強(qiáng)強(qiáng)能曲線救國,但是大佬們給出了使用線程的方法,有需要的hxd可以看一下。
????????https://blog.csdn.net/Witness_K/article/details/103166362
????????第二個問題是bundle包的讀取,我使用了Addressables這個package來管理我的bundle包(PC版)。當(dāng)切換到WebGL時他無法讀取到我打包到StreamingAssets文件夾下的bundle包,然后我又去請教度娘,發(fā)現(xiàn)很多大佬說WebGL不能讀取本地資源,要把資源部署到IIS服務(wù)器上,然后使用UnityWebRequest或者WWW的方式讀取。當(dāng)我正準(zhǔn)備學(xué)習(xí)一下大佬的讀取方式時,我突然發(fā)現(xiàn)Addressables導(dǎo)出的資源包和在PC模式下導(dǎo)出的資源包不一樣,我就有所懷疑是不是這個插件支持WebGL。在多方查找資料下我發(fā)現(xiàn)只要設(shè)置好Addressable是可以直接讀取到StreamingAssets下的資源的,讀取方式和PC版的一致,無需修改代碼。



????????通過以上設(shè)置就可以之接使用之前PC端的讀取方式來讀取資源包了。
????? ? 還有一個未解決的問題不過不是很重要,就是在網(wǎng)頁的F12控制臺中看不到Unity的報錯信息,我嘗試使用DevelopmentBuild模式打包卻一直失敗。試用了很多大佬的方法都沒有解決,如果有知道的大佬還請指教。
