Как удалить маленькое поле предварительного просмотра камеры в arttoolkit?

Я использую unity3d и ARToolkit для создания приложения дополненной реальности. Мой вопрос заключается в том, что при открытии приложения в левом верхнем углу экрана всегда отображается небольшое окно предварительного просмотра камеры. Есть ли способ удалить это, отредактировав UnityARPlayer.jar через Android Studio или сам пакет Unity?


person unice    schedule 13.09.2017    source источник
comment
Он уже удален при использовании ARToolKit6. Теоретически удалить его можно и в ARToolKit5. Это связано с загрузкой ядра ARToolKit и запросом видеокадра с Android. Вам нужно будет изменить пакет единства и UnityARPlayer.jar, чтобы сделать это. И создайте события, которые отправляются в .jar, чтобы Android открывал камеру после загрузки сцены, а не раньше.   -  person Thor_Bux    schedule 14.09.2017
comment
Привет, @Thor_Bux, не могли бы вы подсказать, какую именно функцию нужно изменить или обновить в UnityARPlayer.jar? Или мне следует следовать этому репозиторию? Или есть простой способ? спасибо   -  person unice    schedule 14.09.2017
comment
Да, это репо — хорошая отправная точка. Просто имейте в виду, что лично я никогда не заставлял его работать. С другой стороны, вы можете просто использовать ARToolKit6. Там это решается.   -  person Thor_Bux    schedule 14.09.2017


Ответы (1)


Чтобы решить эту проблему (просто скрыть маленькую камеру, а не удалить ее полностью!), вам необходимо повторно сгенерировать файл UnityARPlayer.jar после внесения небольшого исправления в файл UnityARPlayerActivity.java, доступный в Проект AndroidStudio ARToolkit 5.3.2, который доступен здесь.

В проекте в файле UnityARPlayer\src\main\java\org\artoolkit\ar\unity\UnityARPlayerActivity.java в методе onResume() изменить код

decorView.addView(previewView, new LayoutParams(128, 128));

to

decorView.addView(previewView, new LayoutParams(1, 1));

Здесь мы просто меняем размер предварительного просмотра камеры, чтобы сделать его почти невидимым.

person GuruJeya    schedule 02.02.2019