unity發布成webGL會有很多坑,資源加載,命名,瀏覽器是否支持等問題。希望大家有什么好的解決辦法或問題能互相交流。
如何將Unity的WebGl項目打包發布 :https://blog.csdn.net/qq_25542475/article/details/89370682
Unity 基礎開發-WebGL發布無法運行問題:https://blog.csdn.net/liang_704959721/article/details/102546394
一個PC項目轉WebGL遇到的問題解決匯總:(轉)
1.發布報錯:程序中出現DLL調用的情況,刪除調用DLL相關代碼。發布路徑不要出現中文。
2.WebGL無法通過IO流讀取本地json文件:改成TextAsset綁定json來讀取。
3.原版解析json使用JsonDotNet但是無法在WebGL上使用:使用Unity自帶的JsonUtility類進行解析。
4.使用JsonUtility解析時報錯:用於解析json的類以及子類需要[Serializable]序列化。
5.解析json時有個別json文件報錯:對應的json文件有格式錯誤,多了逗號,就刪除多余的逗號。但是JsonDotNet並沒有報錯。
6.方向鍵無法執行相關的步驟:原因是JsonUtility解析的數據與原本JsonDotNet解析的數據有不同的地方,比如JsonUtility解析空數據時List會有實例,但是Count為0,而JsonDotNet解析的時候回沒有實例為Null,這樣源碼有判斷是否為Null的時候就出現問題了,解決辦法是將JsonUtility解析不同的數據改成原版一樣的。
7.點擊保存按鈕出錯:保存使用了IO流,注釋掉相關代碼,改為臨時保存。
8.無法解析二維數組的json文件:JsonUtility無法解析帶二維數組的json文件,改成一維數組去解析,解析后一維數組轉回二維數組。JsonUtility無法用字典去解析,創建一個解析的數據類,解析完后把數據轉換回需要的數據。
9.由於之前刪除了繪圖插件的DLL,導致無法繪圖:使用新的繪圖方式替換。
10.目前谷歌,火狐支持webgl比較好,其他瀏覽器開啟極速模式(谷歌內核)。
11.本地瀏覽webgl可部署IIS服務器,或者其他服務器,也有小型服務器如hfs.exe.
12.修改完一些樣式在網頁上沒效果:瀏覽器需要清空緩存。
13.發布的時候不要用中文路徑
如何開啟瀏覽器支持webGL
1、哪些瀏覽器支持webgl
要運行webgl,你必須有一個支持它的瀏覽器,比如:
google chrome 9+
mozilla firefox 4+
safari 5.1+(僅限於mac os x操作系統,不包括windows操作系統;那么這種情況下必須強制開啟webgl支持,請參考下文)
opera next 即 opera 12 alpha及以上版本ie9+但是ie並不支持webgl,不過你可以通過下載並安裝iewebgl這個插件,或者google chrome framework來運行一些webgl應用。
同時,你還需要一塊好的顯卡,並安裝了最新的顯卡驅動;這只是使你能夠運行webgl的基本要求,如果想要在一些復雜的應用中保證顯示效果,那你需要一塊更好的顯卡。
如果你的顯卡非常老舊,或者是板載的集成顯卡,那么你需要在瀏覽器中強制開啟webgl支持;另外因為其他的一些原因(比如你的操作系統是windows xp),在正常安裝以上瀏覽器之后還是不能運行webgl,那你最好也強制開啟webgl支持。開啟方法如下:
2、google chrome開啟方法
我們需要為chrome加入一些啟動參數,以下具體操作步驟以windows操作系統為例,請linux用戶自行設置。
chrome瀏覽器的用戶請找到chrome瀏覽器的快捷方式,如果沒有就創建一個快捷方式(右鍵點擊chrome.exe,選擇“創建快捷方式”或者“發送到”→“桌面快捷方式”),右鍵點擊快捷方式,選擇屬性。
在目標框內,雙引號的后邊,加入以下內容:
--enable-webgl --ignore-gpu-blacklist --allow-file-access-from-files
關閉目前開啟的所有chrome窗口,然后用此快捷方式啟動chrome瀏覽器,其中:
表示開啟webgl支持:
--enable-webgl
表示忽略gpu黑名單,也
此文來自: 馬開東博客 轉載請注明出處 網址:
就是說有一些顯卡gpu因為過於陳舊等原因,不建議運行webgl,這個參數可以讓瀏覽器忽略這個黑名單,強制運行webgl:
--ignore-gpu-blacklist
表示允許從本地載入資源,如果你不是webgl的開發者,不需要開發調試webgl,只是想要看一下webgl的demo,那你可以不添加這個參數:
--allow-file-access-from-files
3、mozilla firefox開啟方法
firefox的用戶請在瀏覽器的地址欄輸入“about:config”,回車后:
1、在過濾器(filter)中搜索“webgl”
將webgl.force-enabled設置為true
將webgl.disabled設置為false
2、在過濾器(filter)中搜索“security.fileuri.strict_origin_policy”
將security.fileuri.strict_origin_policy設置為false
關閉目前開啟的所有firefox窗口,然后重新啟動firefox。
其中前兩個設置是強制開啟webgl支持,最后一個security.fileuri.strict_origin_policy的設置是允許從本地載入資源,如果你不是webgl的開發者,不需要開發調試webgl,只是想要看一下webgl的demo,那你可以不設置此項。
4、safari瀏覽器開啟方法
菜單中找到“屬性”或“偏好設置”→“高級”,選中“顯示開發菜單”,然后到“開發”菜單,選中“開啟webgl”。
5、那么如何判斷我的瀏覽器是否支持webgl呢?
請訪問:如何判斷我目前的瀏覽器是否支持webgl ,如果顯示y ay,說明你的瀏覽器已經支持webgl了,否則顯示nay。
未完待續。。。