3

我知道以前有人问过这个问题,但这些问题现在已经很老了。我有一个前段时间用 WebGL 开发的“游戏”,我想用一个简单的 WebView 把它带到 Android 上。现在的问题是,它不会真正响应 WebView 中的用户输入(Chrome 工作得很好。Android 7.1.1)。我想那是因为 WebGL。

所以现在,由于人行横道项目刚刚结束,我正在寻找在我的应用程序中运行 WebGL 的替代方案。或者以某种方式在 Android 应用程序中运行我的“游戏”。

你知道我怎样才能让它发挥作用吗?

4

1 回答 1

7

从 5.0 开始,Android 带有正在更新的Android System WebViewNative WebView ,我们可以将其称为. 尽管某些WebGL 扩展和 WebGL 2 ( stats ) 可能无法使用,但 WebGL 应该可以在那里工作。

使您的游戏作为应用程序运行的关键如下。

首先,您必须确定您的游戏(以及您使用的游戏引擎)需要的 WebGL 版本、WebGL 扩展、WebGL 或着色器功能以及其他 HTML5 功能。

然后,您必须找到支持该功能的 WebView。您只需在 Android 设备上使用所需的 WebView打开网页https://html5test.com/http://webglreport.com/即可。重要的!例如,如果您使用已安装的 Chrome 浏览器打开网页,则不能保证使用的是 Native WebView!因此,最好编写一个小型自定义应用程序,以确保您正在测试要用于游戏的 WebView。

最后,您可能最终会使用自定义 WebView 在应用程序中编译您的游戏,这将为您的游戏增加额外的大小。

其他有用信息

  • Android 版本 < 5.0 的 Native WebView 不附带更新,因此它不支持 WebGL,这不会改变。但是 Chrome 浏览器(或其他已安装的浏览器)很可能在那里支持 WebGL,因为它带有自定义 WebView。
  • 三星真的搞砸了。我的意思是,他们正在大量定制 Android 操作系统,包括使用 WebViews => Native WebView 无法正常工作的一些黑魔法,因此必须在您的应用程序中自定义 WebView。
  • 我们 ( GAMEE ) 正在使用适用于三星和 Android < 5.0 的 Native WebView 和 XWalkView,WebGL 游戏现在运行良好。
于 2017-09-19T12:36:22.203 回答