首页 > 解决方案 > 使用动态内容制作增强现实

问题描述

我试图创建一个具有非常简单但显然尚未开发的概念的应用程序:

我希望能够通过网站上传目标和与之相关的多媒体,并将它们存储在某种后端。

然后我希望能够在我的应用程序中(假设默认为 android,但多平台会很整洁),能够将我的设备同步到“目标多媒体”数据库,在检测到更改时更新我的​​本地存储.

这将允许我随时通过友好的管理网站客户端添加新的目标和关联,然后每个带有该应用程序的手机都会识别新目标并显示与之绑定的相关多媒体。

现在,我一直在研究可以让我实现这一目标的最新技术。目前的主要技术是 Vuforia 和 easyAR 以及我所发现的 wikiitude。
问题是我需要它是免费的。如果有必要,我可以在我的服务器上开发整个系统,但我找不到任何提供 AR 识别和其他东西的开源 SDK。
什么是解决方案?我可以使用自己的动态内容管理构建 AR 应用程序吗?

标签: content-management-systemaugmented-reality

解决方案


TLDR;是的,可以使用自定义后端 CMS 构建增强现实应用程序,但需要做出许多考虑和决策(详情如下)。

您所指的概念不是唯一的,也不是未经探索的。Blippar自 2011 年以来一直在这样做,Zappar / Vuforia / Wikitude都做了类似的事情,只是他们使用 QR 码进行标记查找。作为 Blippar 的前解决方案工程师,我可以为您提供一些关于您需要探索的高级概念的见解。

假设您已准备好构建用于存储所有标记的 CMS 后端系统,请记住您的增强现实 CMS 不应像上面提到的那样不断检查并尝试将标记同步到设备(它不可扩展) . 我建议您将图像发送到服务器并让服务器进行匹配。这里的缺点是您将通过网络发送的数据量,以及由于允许标记查找的服务器请求/匹配/响应过程而导致的识别滞后。您可以使用 QR 码加快查找速度,但随后您必须操作标记图像(权衡)。

您将面临的下一个主要障碍将是您想要支持的 3D 模型格式。为了让您的应用程序能够跨平台,您需要决定跨平台渲染引擎(openGLVulkan等)的自定义实现。您需要自定义渲染引擎的原因是因为 SceneKit ( iOS ) 和 SceneForm ( Android ) 不共享功能奇偶性,因此如果您使用本机引擎,您将受限于它们的共享功能。您也可以选择使用现有的游戏引擎(Unity、Unreal 等)来实现您的解决方案,但如果您走这条路,您还不如支付费用并在 Vuforia 上构建。

因此,假设您要实现自定义渲染引擎,这也是一项繁重的工作,需要权衡和考虑。

让我们从头开始,如果您从头开始实现 openGL 或 Vulkan 或任何其他渲染引擎,那么您必须实现自己的场景图、着色器等。实现您自己的场景图以及随之而来的所有细节是一个举重。另一种选择是使用现成的库(OpenSceneGraphVulkan Scene Graph)。如果选择现成的解决方案,您会受到该库实现的限制,但通常不是什么大问题,除非您想进行自定义。

还有第三种选择,您可以使用移动网络构建您的 AR CMS。诸如AR.js之类的库使用Aframe进行渲染(建立在Three.js 之上)和WebAssembly进行图像跟踪(使用 ARToolKit 生成标记文件)。您可以使用 QR 码作为标记的一部分。尽管在处理标记图像以包含 QR 码方面存在折衷,但您通过查找可以获得更多收益,因为每个 QR 码都可以加载与体验直接相关的网页,无需同步标记或任何东西。


推荐阅读