лучше AR на Android - PullRequest
       17

лучше AR на Android

2 голосов
/ 04 февраля 2012

Я пытаюсь создать небольшое приложение для Android с достаточно простой функцией AR - загрузите несколько известных маркеров и визуализируйте известные 2D / 3D объекты поверх видеопотока при их обнаружении. Я был бы признателен за любые указания на библиотеку для этого, или, по крайней мере, достойный пример того, как сделать это правильно.

Вот некоторые выводы, которые я изучил:

AndAR - https://code.google.com/p/andar/ - Все начинается отлично, и приложение AndAR работает достаточно хорошо, чтобы визуализировать один куб на одном шаблоне в видеопотоке в реальном времени, но похоже, что проект фактически заброшен, и чтобы его расширить, мне придется в значительной степени погрузиться в землю OpenGL - не невозможно, но очень нежелательно. Последующий проект AndAR Model Viewer, который предположительно позволяет загружать пользовательские файлы .obj, похоже, вообще не распознает маркер. Еще раз, это выглядит очень заброшенным, и это могло быть намного больше.

Обработка - Ранее упомянутое NyARToolkit отлично подходит для Обработки с ПК - пример использования , который отлично работает для «вот шаблон, вот объект, просто визуализируйте его там» функциональность, но потом все это рушится для Android - GStreamer для Android находится на очень ранней хакерской стадии, и в целом функциональность видео кажется довольно низким приоритетом для проекта Android Processing - сейчас import processing.video.*; просто терпит неудачу.

layar, wikitude и т. Д., Кажется, что они все больше внимания уделяют интерактивности, местоположению и тому подобному, которые мне абсолютно не нужны, и каким-то образом упускают это основное использование.

Куда я иду не так? Я был бы рад закодировать некоторую часть захвата / обнаружения / рендеринга видео, мне не нужна библиотека перетаскивания, но пример кода из AndAR просто наполняет меня ужасом

1 Ответ

3 голосов
/ 05 февраля 2012

Предлагаю взглянуть на Vuforia SDK (ранее QCAR) от Qualcomm plus jPCT-AE в качестве 3D-движка. Они оба работают очень хорошо вместе, не нужно никакого чистого OpenGL. Однако вам нужны знания C / C ++, поскольку Vuforia в некоторой степени полагается на NDK.

По сути, это сводится к тому, чтобы получить позу маркера от Vuforia с помощью простой JNI-функции (SDK содержит полнофункциональный и обширный пример кода) и использовать ее для размещения 3D-объектов с помощью jPCT (самый простой способ - это установить выдавать себя за матрицу вращения объекта, что немного странно, но дает быстрые результаты).

jPCT-AE поддерживает загрузку 3D-модели для некоторых распространенных форматов. Документация по API хороша, но вам может понадобиться обратиться к форумам за примером кода.

...