Unity_发布webGL的问题专题笔记

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。

 

 

 

未完待续。。。

posted on 2020-06-23 15:14  嗜睡的熊大  阅读(989)  评论(0编辑  收藏  举报

导航