RecursiveFrog 发表于 2021-12-23 06:56

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

这段时间遇到一个PC版本发布WebGL的工程,遇到很多的问题,在这里做下记录。
1.发布报错:程序中出现DLL调用的情况,删除调用DLL相关代码。发布路径不要出现中文。
2.WebGL无法通过IO流读取本地json文件:改成TextAsset绑定json来读取。
3.原版解析json使用JsonDotNet但是无法在WebGL上使用:使用Unity自带的JsonUtility类进行解析。
4.使用JsonUtility解析时报错:用于解析json的类以及子类需要序列化。
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.发布的时候不要用中文路径
页: [1]
查看完整版本: Unity开发:一个PC项目转WebGL遇到的问题解决汇总