Виртуальная кнопка в ARToolkit

Я хочу разработать приложение для Android, чтобы обнаружить какую-либо цель и показать значок воспроизведения над ней. Когда пользователь щелкает значок воспроизведения, дополненная реальность воспроизводится в другом действии.

Я использую ARToolkit в качестве SDK. Пример Interaction лучше всего соответствует моим требованиям. Но проблема в том, что я не могу сделать значок воспроизведения кликабельным, и в этом примере кликабельно все представление.

Вкратце, как я могу получить координаты маркера в представлении Android?


person Hossein    schedule 14.06.2016    source источник


Ответы (1)


Кнопка воспроизведения, которую вы хотите поместить, представляет собой 3D-объект внутри GLSurfaceView, с этим объектом не связан вид, поэтому вы не можете просто использовать OnClickListener.

ARToolkit дает вам координаты маркера в 3DSpace, но я не думаю, что координаты - это то, о чем вы просите.

Как я вижу, у вас есть 2 основных варианта:

  • Вы сделали кнопку воспроизведения, которая появляется на экране (не накладывается на маркер), а затем вы используете ее как обычный вид. Вы можете связать видимость объекта с событием обнаружения маркера или нет.
  • Вы обрабатываете событие касания в GLSurfaceView, выполняя raycasting и проверяя, попадает ли оно в объект, который является кнопкой воспроизведения.

Вариант 1 — самый простой, вариант 2 — то, что вы описываете.

person shalafi    schedule 15.06.2016
comment
Спасибо @shalafi за ваш ответ. У вас есть фрагмент или пример кода для варианта 2? - person Hossein; 15.06.2016
comment
если вы хотите пойти по этому пути, я предлагаю вам использовать какой-нибудь 3D-движок поверх ARToolkit, проверьте github. com/plattysoft/ArToolKitJpctBaseLib, и вы можете проверить, как выполнять raycasting с помощью jPCT-AE, это облегчит вам жизнь. - person shalafi; 16.06.2016