Unity开发:一个PC项目转WebGL遇到的问题解决汇总

       这段时间遇到一个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.发布的时候不要用中文路径

 

你可能感兴趣的:(Unity3D)