Unity打包WebGL所遇到的坑!!!

2021-05-02 13:28

阅读:608

标签:保存   关于   方式   img   data   自适应   web服务   res   总结   

WebGL打包过程可真是异常坎坷,开发过程中会有各种坑,大概总结了一下,记录下来。

网络请求问题:

1.Http请求使用C#中请求方式,是不支持的,必须使用Unity的Http请求UnityWebRequest/WWW方式。

 using (var webRequest = UnityWebRequest.Get("https://www.baidu.com/"))
     {
         yield return webRequest.SendWebRequest();
         if (!webRequest.isNetworkError && !webRequest.isHttpError)
             Debug.Log(webRequest.downloadHandler.text);
     }
 using (var webRequest = UnityWebRequest.Post("https://www.baidu.com/","参数"))
     {
         yield return webRequest.SendWebRequest();
         if (!webRequest.isNetworkError && !webRequest.isHttpError)
             Debug.Log(webRequest.downloadHandler.text);
     }

2.经常出现的问题就是跨域问题,开发过Web的人员都知道怎么解决,对应的返回头加上Access-Control-Allow-Origin

3.json的序列化和反序列化,使用JSON.NET库没毛病吧,但是下面这样方式就不可以;

string json = "json字符串";Dictionary dic = JsonConvert.DeserializeObject>(json);
这样没毛病,一切OK,但是要按照下面这样写,就会踩雷

public class Dic{
    public int code { get; set; }
    public Dictionary data { get; set; }

    public static Dic DeDic(string json)
    {
        return JsonConvert.DeserializeObject(json);
    }}

如果是按照上面这样写,恭喜你,打包出来的东西肯定报错,反序列化得到的全都是null。
最后发现问题的解释:

While many in the Unity Community have succeeded in getting JSON .NET to work for their games, it has never worked properly with iOS or IL2CPP. The iOS errors are due to incompatibilities with AOT (Ahead of Time Compilation) that is used by Mono/IL2CPP in iOS.

就一个意思,兼容问题不支持。

4.关于出现将打包出来的项目发布到本地Web服务,然后通过网页访问出现WebGL build error :Uncaught SyntaxError: Unexpected token 技术图片

解决办法:
①新建一个名为文本文件
②打开该文本文件,然后给该文件添加如下内容

 

③保存该文本文件内容
④将该文本文件修改为web.config文件保存,如下所示:
技术图片
⑤将该文本文件放置打包出来的根目录下面即可(也就是和index.html同级别),如下图所示:技术图片

打包过程中编译出现错误:

打包出现:
技术图片

这种问题有么有?有么有?最后发现打包的路径不能有中文,工程路径也不能有中文,太气人!!!

**打包结束,index.html改变自适应浏览器

添加:**


 



。。。。。。。

Unity打包WebGL所遇到的坑!!!

标签:保存   关于   方式   img   data   自适应   web服务   res   总结   

原文地址:https://blog.51cto.com/myselfdream/2507184

上一篇:AES算法

下一篇:jenkins+maven+git发布jar包


评论


亲,登录后才可以留言!