Unity3D WebGL开发踩坑

1.打包报错问题

转换个WebGL平台直接打包出错,最后发现是项目的存储路径存在中文,换成全英文的路径问题解决

2.使用UnityWebRequest方法问题

本地打包本地打开调用UnityWebRequest的Get和Post方法都出现Unknown Error报错。

最后发布到服务器上后问题解决。一定要发布到服务器测试,不然仅仅是打开打包出的Html文件,很多问题测不出来,也会误导自己。

3.新开窗口跳转对应url问题

unity的API仅仅支持 Application.OpenURL("http://www.baidu.com");这个方法,这个方法会直接再当前的页面跳转。

想另开一个页面跳转需要在Assets/Plugins文件夹下创建一个.jslib文件,文件内容为:

mergeInto(LibraryManager.library,
    {
        OpenPage: function (str) {
            window.open(Pointer_stringify(str));
        },
    });

文件的名字随意,如:aaa.jslib

在C#脚本中调用即可

    //加入以下声明
    [DllImport("__Internal")]
    private static extern void OpenPage(string str);

    /// <summary>
    /// 跳转到web
    /// </summary>
    public void ToWeb()
    {
        OpenPage("http://www.baidu.com");
    }

4.网页屏幕自适应

unity 打包好WebGL后,用文本编辑器编辑打包生成的 index.html 文件

在生成的html里面修改代码
    <script type="text/javascript">
      function Reset() {
       var canvas = document.getElementById("#canvas"); 
       canvas.height= document.documentElement.clientHeight;
       canvas.width = document.documentElement.clientWidth; 
       console.log(canvas.width );
     } 
    </script>
  </head>
  <body οnlοad="Reset()" οnresize="Reset()">
      <div class="webgl-content"style="width: 100%; height: 100%" >
      <div id="gameContainer" style="width: 100%; height: 100%"></div>
      </div>
  </body>
</html>
来实现网页版随浏览器自适应
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值