Запуск экспортированного проекта Unity в UnityPlayer, инициализированного в Android Studio

Можно ли запустить проект Unity, использующий TangoSDK, в UnityPlayer, созданном в проекте Android Studio? Или сборка и запуск проекта Unity Tango непосредственно из Unity — единственный вариант создания проектов Unity для Android, использующих TangoSDK?

Вот что я делаю шаг за шагом:

  1. У меня есть базовая сцена Tango, созданная в Unity.
  2. Я экспортирую его как проект Google Android в настройках сборки.
  3. У меня есть простой проект Android Studio, в котором я инициализирую UnityPlayer в методе onCreate() основного действия.
  4. Я копирую папки /assets и /libs из экспортированного проекта Unity в проект Android Studio. Это копирует все необходимые библиотеки и активы. Я объединяю файлы AndroidManifest, чтобы они содержали все необходимые разрешения и указывали на соответствующую основную активность.
  5. Когда я создаю этот проект из Android Studio, Unity Player никогда не запускается (никогда не выходит за экран с логотипом Unity).

Я попробовал описанные выше шаги с простыми проектами Unity, которые не используют TangoSDK, и все сработало отлично. Я попытался отладить приложение, и оказалось, что проблема в методе TangoService_connect(), который вызывается из библиотеки library_tango_api.

Кто-нибудь уже пробовал этот метод создания приложения Unity Tango для Android? Мне нужно использовать множество методов Android API, поэтому я хотел бы использовать их на стороне Java Android, а затем общаться с Unity через UnityPlayer.UnitySendMessage(). Или использование AndroidJavaObjects в Unity — мой единственный вариант?


person Anton Bastov    schedule 12.01.2015    source источник
comment
Я еще немного поэкспериментировал, и проблема в том, что я пытаюсь получить доступ к камере на стороне Android с помощью Camera.open(2); поэтому Tango Service не может получить доступ к заблокированной камере. Вопрос, который у меня есть сейчас, заключается в том, что камера 2 — это задняя камера, которая, как я думал, не использовалась Tango Service. Кто-нибудь может это проверить? Хочет ли Tango Service использовать все три камеры (фронтальную, широкоугольную и заднюю)? Если да, то зачем ему задний?   -  person Anton Bastov    schedule 12.01.2015
comment
Какую версию SDK вы используете? Если вы используете только отслеживание движения или изучение области, у вас должен быть доступ к камере RGBIR. Если вы используете восприятие глубины, Tango API будет использовать камеру RGBIR, обращенную назад.   -  person Chase Cobb    schedule 13.01.2015
comment
@ChaseCobb У меня последняя сборка и самый последний SDK, и я не использую поставщика глубины (установите для параметра enableDepth значение false). Теперь я попытался получить доступ к задней камере из Unity. Я проецирую его на WebCamTexture после инициализации Tango. Передняя камера работает нормально, но задняя камера выдает ту же ошибку Произошла ошибка при подключении к камере: 2 E/Unity﹕ Невозможно инициализировать камеру: не удалось подключиться к службе камеры. Если я запускаю webcamtexture.Play() с доступом к камере 2 до инициализации Tango, то Tango не инициализируется и ломается.   -  person Anton Bastov    schedule 13.01.2015
comment
Кроме того, убедитесь, что TangoConfig не инициализируется по умолчанию для включения камеры или глубины.   -  person Chase Cobb    schedule 14.01.2015
comment
@ChaseCobb Я использую сцену «Отслеживание движения Unity» из примеров. Для TangoConfig установлено значение TANGO_CONFIG_DEFAULT (я также пытался установить для него значение TANGO_CONFIG_MOTION_TRACKING), для m_enableDepth установлено значение false, тот же результат...   -  person Anton Bastov    schedule 14.01.2015


Ответы (1)


Антон, камера Fisheye и фронтальная камера потребляют один и тот же канал на аппаратном уровне, поэтому вы не сможете использовать их обе. Тем не менее, вы сможете использовать камеру глубины/заднего обзора и фронтальную камеру вместе.

person xuguo    schedule 13.01.2015
comment
Я понимаю это, я только пытаюсь использовать переднюю и заднюю сторону вместе, а не рыбий глаз. - person Anton Bastov; 13.01.2015