AR Core 性能、学习曲线以及与其他框架的比较

AR Core performance, learning curve and comparison with other frameworks

我希望学习并投入大量时间来构建 3D 增强现实应用程序,因为它们正在缓慢但肯定会成为人机交互的未来。

我想学习 ARCore,但它只能在数量有限的全新手机上使用 运行,由于它们的价格,我目前无法进行测试。我对 ARCore

有几个问题
  1. 与其他流行框架相比,ARCore 的性能如何?它是否使用大量资源来进行简单的操作,例如运动检测、跟踪和平面检测?
  2. 它是否需要 OpenGL 的知识和使用here?它只是绘制网格、顶点和简单对象,还是您应该了解更多有关简单 3D 建模的信息?到目前为止,我所看到的 ARKit 使用它自己的框架来管理事物,这是一件好事。
  3. 稳定吗?它是否经常崩溃或大多数时候导致 ANR?我找不到该应用程序 link,但用户抱怨它有多糟糕。
  4. 难道除了使用these device就没有办法测试和调试代码了吗?我们可以 运行 在模拟器上使用一些 hack 或其他东西吗?
  5. 您可以使用手动相机功能,例如 ISO、测光等吗,是像 camera.getParameters() 一样简单还是需要一些广泛的工作 and/or NDK 知识?您可以选择使用哪个相机 api 还是仅使用 Camera2 api?我还想知道是否有任何 AR 框架可以让您通过简单的获取或设置方法更改相机参数,如 Camera1 或 Camera2 api?

我搜索了 ARToolKit,但我的印象是它很难学,也很难实现,Vuforia 和 Wikitude 不是免费的,这让他们暂时没有问题。我搜索了每个框架的论坛,这个过时的 thread 和其他几个。

我正在尝试根据经验数据了解框架的更多技术和软件开发方面。如果您觉得这个问题离题,请编辑问题或指导我避免出现这种情况,因为 Android 上没有关于增强现实的集体数据,至少我没能找到。其中大部分已被贬低,基于单个用户的选项,但开发人员无法根据经验获得集体数据。我敢肯定有很多开发人员想知道如何做以及哪种框架适合他们。

ARCore 与其他 AR 框架一样需要大量资源:场景识别和跟踪不是简单的事情,所以让我们将所有 AR 引擎视为资源使用中的重要部分。

了解 OpenGL 是一个加分项,因为您需要了解 3D 渲染循环的工作原理才能使用 AR。无需成为 OpenGL 大师,但需要基础知识才能理解示例并能够创建自己的 3D/AR 项目。除非你正在使用 ARKit & Metal,或者 AR with Unity。

我测试过的所有 AR 库都是稳定的,API 都经过测试并且绝不会崩溃。让 AR 跟踪稳定更复杂,有些比其他更好,并且都有局限性(让我们在统一的白色石头地板上尝试 ARCore 和 ARKit ...)但是无标记的 AR 引擎在跟踪方面非常令人印象深刻,但需要最新的设备,仍处于测试阶段。

关于ARCore,只有部分设备是兼容的,据我所知没有它们无法测试。 模拟器需要摄像头来测试,不知道有没有

在大多数 AR 框架中,相机不可用:我的意思是,框架配置和 运行 相机,大多数时候你甚至无法获得 Camera2 的实例,有时甚至很难获取相机当前设置 (ARCore)。 AR引擎或多或少是一个黑盒子,以跟踪作为输出。

我练习了所有这些引擎,我成功地使用了一些引擎,但有些仍然无法正常工作(需要时间来深入实施并使其按我想要的方式工作,而不是像示例那样工作)。我的观点是 ARKit 和 ARCore 将使 Vuforia 和 Wikitude 被弃用,因为跟踪更好,无标记(更重要的一点)并且......免费!

祝你好运!