2

我正在尝试创建一个具有相当简单的 AR 功能的小型 Android 应用程序 - 加载一些已知标记并在检测到这些标记时在视频流顶部呈现已知的 2D/3D 对象。我会很感激任何指向图书馆这样做的指针,或者至少是一个正确的例子。

以下是我调查过的一些线索:

AndAR - https://code.google.com/p/andar/ - 这开始很棒,AndAR 应用程序运行良好,可以在实时视频流上以单一模式渲染一个立方体,但它看起来像项目实际上被放弃了,为了扩展它,我将不得不大力投入 OpenGL 领域——并非不可能,但非常不可取。后续的 AndAR 模型查看器项目,据说可以让您加载自定义 .obj 文件,但似乎根本无法识别标记。再一次,这看起来非常废弃软件,而且可能更多。

处理 - 之前提到的NyARToolkit非常适合从 PC 处理 -示例用法,它非常适用于“这是一个模式,这是一个对象,只是在那里渲染它”功能,但是对于 Android 来说,这一切都崩溃了 - 适用于 Android 的 GStreamer 是在非常早期的 hacky 阶段,一般来说,视频功能对于 Android 处理项目来说似乎是一个相当低的优先级 - 现在import processing.video.*;只是失败了。

layerar、wikiitude 等,它们似乎都更关注交互性、位置和诸如此类的东西,我绝对不需要,并且不知何故缺少这种基本用法。

我哪里错了?我很乐意编写视频捕获/检测/渲染的某些部分,我不需要拖放库,但来自 AndAR 的示例代码让我感到恐惧

4

1 回答 1

3

我建议看一下 Qualcomm 的Vuforia SDK(以前称为 QCAR)加上jPCT-AE作为 3D-Engine。它们一起工作得很好,不需要纯 OpenGL。但是,您需要一些 C/C++ 知识,因为 Vuforia 在某种程度上依赖于 NDK。

它基本上归结为通过一个简单的 JNI 函数(SDK 包含功能齐全且广泛的示例代码)从 Vuforia 获取标记姿势,并使用它来使用 jPCT 放置 3D 对象(最简单的方法是将姿势设置为对象的旋转矩阵,这有点hacky,但会产生快速的结果)。

jPCT-AE 支持一些常见格式的 3D 模型加载。API 文档很好,但您可能需要咨询论坛以获取示例代码。

于 2012-02-05T15:57:39.730 回答