Unity移动端WebGL兼容性

6
当我在网站上运行我的项目的WebGL版本时,会显示:请注意,Unity WebGL目前不支持移动设备 当我单击确定后,我的游戏仍像往常一样运行,那么为什么它声明不支持移动设备?我可以禁用警报吗?

1
使用常见的搜索引擎,我找到了以下网址:http://answers.unity3d.com/questions/1339261/unity-webgl-disable-mobile-warning.html - Morrison Chang
谢谢,我没有注意到。 - weijia_yu
2个回答

5

它可以运行在您的手机和浏览器上,但是仍然远未得到普遍支持,这就是为什么Unity不鼓励使用它的原因

至于禁用警告,它是在UnityLoader.js的开头实现的,您可以轻松地将其删除。

var UnityLoader=UnityLoader||{compatibilityCheck:function(e,t,r){UnityLoader.SystemInfo.hasWebGL?UnityLoader.SystemInfo.mobile?e.popup("请注意,当前移动设备不支持Unity WebGL。如果您希望继续,请按“确定”",[{text:"确定",callback:t}]) (...)


谢谢您的回复,那么就我移动应用程序仅使用简单功能,并且我在多个手机上成功测试了我的Web应用程序,因此我可以放心地将其用作客户端Web应用程序吗? - weijia_yu
我不会说“安全”。根据我的经验,即使是简单的Unity WebGL游戏也几乎无法使用(低帧率,非常高的触摸输入延迟,浏览器减速和崩溃),但如果你以某种方式成功地让它们半可靠地工作,那么也不会有人阻止你。 - apk
我已经做了这个更改,但它仍然显示警告消息。我也清除了浏览器缓存,但没有效果。你有什么想法为什么会发生这种情况吗?@apk - metamonkey

1
前往Build目录,打开UnityLoader.js文件,替换以下代码。
compatibilityCheck: function(e, t, r) { UnityLoader.SystemInfo.hasWebGL ? UnityLoader.SystemInfo.mobile ? e.popup("Please note that Unity WebGL is not currently supported on mobiles. Press OK if you wish to continue anyway.", [{ text: "OK", callback: t }]) : ["Edge", "Firefox", "Chrome", "Safari"].indexOf(UnityLoader.SystemInfo.browser) == -1 ? e.popup("Please note that your browser is not currently supported for this Unity WebGL content. Press OK if you wish to continue anyway.", [{ text: "OK", callback: t }]) : t() : e.popup("Your browser does not support WebGL", [{ text: "OK", callback: r }]) },

compatibilityCheck: function(e, t, r) { t(); },

因此,将此 compatibilityCheck 函数更改以消除此警告。参考资料


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接