unity导出webgl如何设置横屏
Posted 骑着双鱼去赶集
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity导出webgl如何设置横屏相关的知识,希望对你有一定的参考价值。
关于横屏,似乎体现不是太好。尝试过旋转CSS样式,但canvas画布严重变形,也不适合。
不过2023版导出webgl后,在手机浏览器中访问时,点击图标即可全屏化。
但在微信内置浏览器中若不开启横屏,则永远无法横屏显示。
此外,微信浏览器访问webgl后,如果变成横屏显示,上面的标题会占据许多内容,显示并不友好,因此仍是推荐引导用户在手机浏览器中访问较佳。
导出webgl后,打开html,在script中发现一行代码:
unityInstance.SetFullscreen(1);
点击上面图标后,执行此代码则全屏化,若Unity发布时设置的是横屏,则H5页面会转为横屏。
于是把这句话直接写在script里,发现并不能自动全屏化:
script.onload = () =>
createUnityInstance(canvas, config, (progress) =>
progressBarFull.style.width = 100 * progress + "%";
).then((unityInstance) =>
loadingBar.style.display = "none";
unityInstance.SetFullscreen(1); //此处在进度完成后直接全屏化并不生效
fullscreenButton.onclick = () =>
unityInstance.SetFullscreen(1);
;
).catch((message) =>
alert(message);
);
;
研究发现此时虽然表面上进度加载完成了,实际并没有完全加载,因此需要延迟执行,如:
script.onload = () =>
createUnityInstance(canvas, config, (progress) =>
progressBarFull.style.width = 100 * progress + "%";
).then((unityInstance) =>
loadingBar.style.display = "none";
fullscreenButton.onclick = () =>
unityInstance.SetFullscreen(1);
;
setTimeout(() =>
unityInstance.SetFullscreen(1); //延迟执行全屏化,即可自动转横屏
,3000)
).catch((message) =>
alert(message);
);
;
以上即可自动横屏,由于项目并不大,并未测试延迟多少秒为佳,但几百毫秒时也是无效。
此时仍有一个问题:加载时的LOGO,进度条等依然是竖屏显示,此时需要处理的是加载界面,即处理生成的html文件样式。
找到相关的div元素,或新建一个div元素覆盖在最上面,等资源加载完成后再显示画布即可。
关于CSS样式及DIV元素,查看index.html便知,此处不再阐述。
unitywebgl允许http没有响应
参考技术A 1.Unity发布出Webgl版本,Unity步骤就不说了 2.打开电脑控制面板-程序-启动或关闭Windows功能 检查下电脑的网页服务有其中前两个设置是强制开启webgl支持,最后一个security.fileuri.strict_origin_policy的设置是允许从本地载入资源,如果你不是webgl的开发者,不需要开发调 参考技术B 1.Unity发布出Webgl版本,Unity步骤就不说了
2.
打开电脑控制面板-程序-启动或关闭Windows功能 检查下电脑的网页服务有没有开启,需全部打开,加号底下的也是
3.
电脑右键“管理”,进入计算机管理,选择IIS管理器
4.
选择网站,右键添加网站 参考技术C 1.
Unity发布出Webgl版本,Unity步骤就不说了
2.
打开电脑控制面板-程序-启动或关闭Windows功能 检查下电脑的网页服务有没有开启,需全部打开,加号底下的也是
3.
电脑右键“管理”,进入计算机管理,选择IIS管理器
4.
选择网站,右键添加网站
以上是关于unity导出webgl如何设置横屏的主要内容,如果未能解决你的问题,请参考以下文章