头一次用Unity开发
用Unity做一个全景漫游的场景,Unity内无异常,导出成WebGL时PC无异常,但是手机浏览器查看时黑屏(微信内置,小米手机自带的浏览器,X浏览器)。
Unity版本2020.3.24f1c1
因为之前做测试时增加全屏代码可正常访问,就在其他位置找原因。
后来逐步排查,一直没发现问题,索性直接建立空场景,添加几个简单物体后导出,发现依旧会黑屏。
之前成功全屏的完整工程已经找不到了,只剩下当时记录的代码段和一些配置截图
将canvas全屏化的方法
<script>
function reset(){
var c=document.getElementById("unity-canvas");
c.style.width="100vw";
c.style.height="100vh";
}
</script>
在onload和onresize中调用此方法
发布设置的PlayerSetting中改了这几项:
Lightmap Encoding设为Low
Strip Engine Code 选中与不选都试过,一样不行
Decompressiong Fallback 选中,此项不选中Webgl无法运行,提示gz的压缩包有误,根据网上的修改web.config也不行
发布时除了这些基本都没碰过,奈何发布后手机端就是不能全屏,直接黑屏
默认960600的分辨率,使用miniimal模板发布,不加入全屏代码时手机浏览器正常显示,加入后黑屏
改成600960的分辨率,模板不变,正常显示,加入全屏代码黑屏
改成1280720,同一模板,直接黑屏
改成7201280,同上
希望能得到帮助解决这个问题。
无意间找到了答案。
少了一个meta标签。。unity生成webgl生成的html没有这句,加上就好了
<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>