WebGL в Android WebView

Я знаю, что это было задано раньше, но эти вопросы уже довольно старые. У меня есть «игра», которую я разработал некоторое время назад с помощью WebGL, и я хочу перенести ее на Android с помощью простого WebView. Теперь проблема в том, что он не будет реагировать на пользовательский ввод в WebView (Chrome работает отлично. Android 7.1.1). Я думаю, это из-за WebGL.

Итак, теперь, когда проект crosswalk закончился некоторое время назад, я ищу альтернативу для запуска WebGL в своем приложении. Или просто запустите мою «игру» в приложении для Android.

У вас есть идеи, как я могу заставить его работать?


person Bostrot    schedule 18.09.2017    source источник
comment
Кроме того, вам не нужно использовать webGL с родными Opengles, это тот же API для Android, ios, Blackberry, веб-браузеров. Ссылка: khronos.org/registry/OpenGL-Refpages/es2.0   -  person Nikola Lukic    schedule 20.09.2017


Ответы (1)


Начиная с версии 5.0 Android поставляется с Android System WebView, который обновляется, и мы могли бы назвать его Native WebView. WebGL должен там работать, хотя некоторые из расширений WebGL и WebGL 2 (статистика) может и не быть.

Ключ к тому, чтобы ваша игра работала как приложение, заключается в следующем.

Сначала вы должны определить, какая версия WebGL, расширения WebGL, возможности WebGL или Shader и другие функции HTML5 требуются вашей игре (и используемому вами игровому движку).

Затем вы должны найти WebView, который поддерживает эту функциональность. Вы можете просто сделать это, открыв веб-страницы https://html5test.com/ и http://webglreport.com/ с нужным WebView на вашем устройстве Android. ВАЖНО! Если вы, например, открываете веб-страницу в установленном браузере Chrome, это не гарантирует, что будет использоваться Native WebView! Поэтому лучше написать небольшое пользовательское приложение, чтобы убедиться, что вы тестируете WebView, который хотите использовать в игре.

В конце концов вы, вероятно, скомпилируете свою игру в приложении с пользовательским WebView, который добавит вашей игре дополнительный размер.

Другая полезная информация

  • Версии Android ‹ 5.0 имеют собственный WebView, который не поставляется с обновлениями, поэтому он не поддерживает WebGL, и это не изменится. Но браузер Chrome (или другие установленные браузеры), скорее всего, будет поддерживать там WebGL, потому что он поставляется с настраиваемым WebView.
  • Самсунг действительно облажался. Я имею в виду, они много настраивают ОС Android, включая черную магию с WebViews => Native WebView не работает там должным образом, поэтому пользовательский WebView в вашем приложении просто необходим.
  • Мы (GAMEE) используем Native WebView и XWalkView для Samsung и Android ‹ 5.0 и игры WebGL сейчас работают нормально.
person Entity Black    schedule 19.09.2017
comment
Привет, Entity Black, ты имеешь в виду, что собственный веб-просмотр до сих пор не поддерживает webgl? - person M.SH; 12.06.2020