2012-02-04 5 views
2

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

Вот некоторые выводы я заглянула в:

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

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

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

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

ответ

3

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

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

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