这里是普通文章模块栏目内容页
研发实践:Mozilla谈WebAR应用开发的经验与教训

我们都希望能够带来下一个(乃至成为第一个带来)伟大的增强现实应用程序。但摆在我们面前的挑战很多,这是一个全新的领域,尚未得到充分的挖掘与定义,同时没有任何一款我们每天都会使用的AR程序来作为起始点或示例。你的新概念必须与已经非常高质量的传统2D应用程序进行竞争。开发新应用程序的成本可能非常高昂,尤其是对于本地应用程序环境而言。对于未知领域的AR而言,我们需要更多初始的时间,人才与资金投入。

但这同时带来了无尽的机遇,允许我们在前景光明的AR市场饱和之前成为真正的拓荒者。日前,为Mozilla探索AR/VR的Anselm Hook撰文介绍了他们对浏览器与增强现实的一次应用程序实验,以下是映维网的具体整理:

研发实践:Mozilla谈WebAR应用开发的经验与教训

Moziila眼中的问题是:对于美术,开发者,设计师,创业家和创意人士而言,能够帮助他们轻松开发增强现实体验的工具是什么呢?我们提供的工具可以帮助他们开发哪种应用程序呢?

例如:我今晚看了崔佛·诺亚的《每日秀》,然后明天是否可以发行一款还原前一晚戏剧节目的应用程序呢?衡量成功的标准是能够快速、轻松地呈现在丰富的媒介中,并及时地提供给全世界。

在Blair MacIntyre的帮助下,我编写了一个实验来测试探索所述问题的各个概念。在下面的文章中,我将回顾我们开发的应用程序,我们从中学习到的经验教训,以及未来的目标方向。

1. 寻找“优秀”用例

为了回答以上问题,我们开始调查AR和VR开发者,向其询问他们的想法和观察。我们制定了一定的原则。我们正在寻找人们重视,足够有意义,有用,拥有足够差异化优势,并有可能成为人们日常生活一部分的AR用例。

现有的AR应用程序同样提供了灵感。我喜欢AirMeasure这款简单的AR应用程序,它类似于Augmented Reality Measuring Tape等应用程序,而我每个月都会用上一次或两次。尽管频率不高,但非常方便。这是一个真正的实用性应用程序,而且App Store上有6500条评论,所以显然它已经积累了一定的用户量。

Mozilla的首席研发官Sean White对MVP(最小可行性产品)有一个非常具体的定义:每天有100人用什么?

当我听到的这个问题时,我同时听到:什么样的体验是完整的,引人入胜的,有用的,甚至在早期迭代中就具备了能够牢牢抓住100名用户,即便存在当前限制仍然愿意每天使用的核心品质?发行应用程序可能很难,而寻找第一批用户更是难上加难。

2. 基于浏览器的AR

全新的Pixel,iPhone,以及诸如Magic Leap等新兴设备都已经支持增强现实。它们能够报告地面位置,墙壁位置,以及其他对AR至关重要的环境感知问题。它们同时支持透视视觉,3D追踪与注册。新兴的范例,尤其是WebXR,将很快以标准方式向浏览器提供所述的功能,就像其他硬件功能嵌入浏览器的方式一样。

本地应用程序开发工具链非常出色,但存在摩擦。同时登陆几个不同的应用程序商店或平台存在挑战性。常规3A级内容所需的成本可能不适合小型项目。如果你希望明天就为客户开发出一款应用程序,或者为新闻报道或当前事件开发一款相应的体验,所需的时间可能会很长。

随着AR支持开始走进浏览器,现在我们可以选择专注于故事叙述,而非担心技术,成本与分发。一直以来,浏览器都提供了较低的进入门槛,即时可以部署至数百万的用户,允许你不受限制地进行分发和共享。只需点击链接即可,无需安装,从而降低激活成本并实现病毒式传播。这是对其他开发方法的补充,同时可以帮助你快速构思概念。

3. ARPersist:概念

我们在实验中探索了通过虚拟便利贴来装饰世界的感觉。这种便利贴可以通过应用程序发布,而且它们会会话之间保持不变。用户实际上可以看到对方,并且能够看到对方实时移动便利贴。这种便利贴能够固定于空间之中,并永远存在。

利用我们的实验,企业可以用各种各样的便利贴来装饰办公室,如提供有关如何操作打印机的提示,或者通过创意路标来将新员工引导至会议室。或者,一对度假夫妇可以走进爱彼迎Airbnb民俗,打开应用程序,并看到说明额外毯子位置或如何使用洗衣机的便利贴。

我们在实验中定下了如下目标:

办公室导航:想象一下装饰有虚拟提示的办公室,而且同时提供有导航支持。通常来说,当访客或员工出现在不熟悉的地方时,他们总是希望能够快速导航到目标空间。会议室位于不同的楼层,而且带有与位置说明无关的奇特名称。你或许都曾在一个陌生的地方努力寻找浴室,自助餐厅或会议室。而且即便我们找到了目标位置或设备工具,它们的操作方式又是什么呢?谁会在里面呢?什么是重要的事项呢?以打印机为例。有多少人曾站在打印机前,并久久苦恼于应如何复印一份文件呢?为住店客人提供交互信息:作客可以是一段愉快的经历。爱彼迎Airbnb为促进陌生人信任方面做出了贡献。但有没有什么办法可以表达出新空间的所有细节呢?如何使用洗碗机呢?刮刀在哪里呢?额外的毯子在哪里呢?这时,你可以通过虚拟提示来装饰Airbnb的民俗。民俗所有者或运营者可以为里面的项目提供说明指导性的虚拟便利贴。你同时可以利用机器辅助方法,打开每个抽屉,令机器学习算法标记并记住所有的内容。或者实现某种实时信息,你的智能手机将告诉猫咪的位置或钥匙的位置。这里同时存在一个协作社交的可能,比如说共享式日志,其中客人可以互相留言。公共零售和场地导航:这种概念同时适用于购物场景,将你引导至摆放洗发水的货架区域,或者你希望在体育馆或音乐厅等视觉繁杂的场所中寻找朋友。

4. ARPersist:应用程序

#p#分页标题#e#

对于上述想法,我们为iPhone 6S及以上设备编写了一款应用程序,你可以通过这个网址进行体验,而且我们已经把源代码托管至github.com/anselm/arpersist”>GitHub。

下面是一个实操视频:

更多关于操作方式的视频演示:

下面是通过iPhone屏幕看到的画面:

研发实践:Mozilla谈WebAR应用开发的经验与教训

在下面这张图中,每位玩家都能在3D空间中看到对方的智能手机,以及一个红心。

研发实践:Mozilla谈WebAR应用开发的经验与教训

你需要适用于iOS的WebXR Viewer,而这可以在iTunes进行下载(WebXR标准正在开发之中,因此尚无法直接在大多数浏览器中运行)。

上面的视频已经很好地进行了说明:基本上,你打开ARPersist,转到URL(arpersist.glitch.me)。这时你将进入透视视觉显示。屏幕右侧提供了四个按钮。最下面的“贝壳”按钮将传到可以加载和保存映射的页面。你可以“创建一个锚点”并选择“保存你的映射”。这时,你可以点击最上方的图标并添加新功能。你放置的对象将叠加在最近的地板或墙壁上。如果你加入别人的映射,或者你正位于附近的地理位置,你将能实时看到其他玩家。

这款应用程序采用了Sketchfab的3D模型,下面是我使用的asset:

Flying Hornet by Ashley AslettLow Poly Crow by fernandogilmirandaLove Low Poly by Suwulo

5. 做得好的地方

对于初始阶段的开发,我有了一系列惊人的实现,甚至是恍然大悟的时刻。下面是做得好的地方,而我将其描述为AR体验的基本属性:

Web属性:在Web应用程序中执行AR令人感到非常满意。这是个好消息,因为(在我看来)移动版Web应用程序更能反映出开发者未来将如何构建内容。当然,仍然存在诸如支付模型,以及加密或保护艺术asset难度等问题。例如,开发者可以从网上购买3D模型,并将其简单地整合至Web应用程序中,但目前尚不清楚如何在不违反重新分发的许可条款下执行这类操作,以及如何补偿原创者。提示:这是一个新的见解。事实证明,无论是智能地装饰虚拟空间,又或者过滤噪点,语义提示都十分关键。对于提示,我的意思是指通过显示在地板上,或者附着在墙上,又或者是悬浮在或冷却器上的虚拟便利贴来进行解释说明。对于简单地将其放置在空间之中和理解为何它属于那个位置,这两者是有区别的。而且,谁更快出现与优先级有关。有些虚拟对象并不如其他虚拟对象那么重要。这可以取决于用户的情景。有不同的过滤层,但最终你总是希望渲染特定的虚拟对象集合,并需要讨论谁应该存在于那个位置。对象本身需要提供丰富的元数据,从而支持其存在于任何的策略之中。我分类了有用的提示。在创建一个新对象时,你可以设置切换字段,从而帮助表达你对展示位置和优先级的决定。服务器/客户端型号:在向客户端提供AR对象时,出现了自然的客户端服务器模式。这个模型开始反映出传统的RSS模式,包含一系列的服务器和客户端。你有机会尝试避免现有社交网络中的挑战。这不是一个新问题,而是说一个更加紧迫的老问题。AR就位于你的面前,而防止过分集中化非常重要。登录/注册:传统的网络应用程序采用了集中式登录概念。他们为你管理你的身份,并要求你通过密码登录他们的服务。但在今天,你很容易将其交还给用户。这有点极客味道,但主要原则是,如果你通过现代公钥加密技术来自行签名自己的文档,则无需使用集中式服务来验证身份。对于实验的应用程序,我实现了类似于Metamask的公共/私人密钥对系统。具体是,用户提供一个长短语,然后我使用Ian Coleman的 Mnemonic Code Converter bip39来将其转换为公共/私人密钥对。(在这种情况下,我使用比特币密钥签名算法。)在我的示例实现中,给定的密钥对可以与给定的对象集合相关联,而它有助于从任何集中式社交网络中删除核心职责。用户可以自我签名他们所创建的一切。六自由度控制:很难为平移,旋转和缩放增强现实对象编写出优秀的控件。但在开发结束时,我意识到智能手机本身就是一个六自由度控制器。它可以允许你抓取,移动和旋转,同时极大地减少了构建用户界面的工作量。最终,我最终抛弃了一系列用于移动,缩放和旋转对象的复杂代码,并用智能手机进行替换:通过操作智能手机本身来拖动和旋转对象。拉伸根本无需担心,因为你原本就是用双指来操作屏幕的拉伸。多人。这款应用程序能够顺利支持同一个房间内的多名玩家。每位参与者都可以操作共享对象,并且作为浮动红心出现在空间之中。这非常令人满意。没有太多共享的组合编辑(因为应用程序非常简单),但如果应用程序更强大,这可能非常引人入胜。

6. 依然存在的挑战

我们同时发现了一系列的挑战,如:

#p#分页标题#e#

硬件:相当强烈的信号表明Magic Leap或Hololens将成为这种体验的更合适平台。智能手机只是在增强现实中操纵对象的一种非常令人满意的方式。这项实验的下一步是将其移植到Magic Leap或Hololens,又或者是其他类似的新兴硬件。重新定位:糟糕的重新定位能力是一个问题。在连续的运行期间,我无法重新定位智能手机的位置。对于重新定位,亦即设备能够准确地判断它在现实世界中的位置与方向,这是不可预测的事情。有时候当我运行应用程序时,它能够连续多次顺利完成任务。但有时候,我一整天都无法完成一次重新定位。看来最佳的重定位要求很高,同时需要非常明亮的光线,稳定的照明条件和锐边的几何形状。无源光学元件的重定位非常难以实现,它破坏了连续感,亦即能够退出应用并重新启动它,或者允许多名用户能够共享相同的体验。我尝试了一个用户手动重定位的解决方案,但我认为这仍需更多的探索。这最终是一个硬件问题。苹果和谷歌在纯软件方面做了令人难以置信的工作,但硬件并非专为这项实验而设计。或许最佳的短期答案是二维码,而长期答案则是一年后能出现更优秀的硬件。显然,下一代iPhone将搭载主动式深度传感器,而这或许可以一两年内完全解决。(现在的问题是,我们需要某种临时解决方案。)恶意破坏:尽管我的测试受众群太小,难以出现恶意破坏者。但显然,任何典型的现实层都有可能马上被令人方案或不安全的图形填充。我们必须寻找一种允许层管理的方法。垃圾邮件和恶意破坏的问题非常重要,但我们不想过分审查用户的自我表达。这里的答案是,不局限于单个虚拟空间,而是允许用户选择自己喜欢的空间。我可以预见未来将出现允许轻松管理和分发共享虚拟空间的管理角色,就跟维基百科类似。空白空间:当周围没有其他人时,AR是一个孤独的世界。如果附近没有其他人,用虚拟对象装饰空间并不是十分有趣。一个想法是,创建将多个AR空间连接在一起的门户网站。在某些方面,这听起来可能更像是VR,但它可能更像是AR和VR的混合体。你可以在自己家里,而朋友在他们自己家里,然后大家可以虚拟地加入你的房间,并在彼此的空间中看到彼此的便利贴或公共虚拟物品。安全/隐私:我可以仅针对这个主题再撰写一篇文章。关键问题是将映射共享到服务器,然后供其他人下载,这意味着将你自己家里的私人详细信息泄露给其他人。这仍然是一个悬而未决的问题,值得我们的思考。媒体代理:我们已经习惯于将链接剪切和粘贴到其他类型的论坛中,但相同的操作尚不存在于VR/AR。Mozilla的虚拟现实聊天系统与社交环境Hubs已经提供了媒体共享功能,而这是第一步。如果不仅可以粘贴3D模型,同时还能够粘贴PDF和视频等,这将变得十分方便。但显然,媒体内容供应商和希望支持内容分享的实体之间将出现一场争斗。以iframely为例,这个服务正是旨在简化和优化平台和设备之间的媒体共享。

7. 下一步

下面是我认为这项实验的前进方向:

#p#分页标题#e#

打包:尽管应用程序在“技术上”可行,但它对用户不是十分友好。存在很多UI假设。在捕捉空间时,必须让设备在保存映射之前采集足够的数据。缺乏删除旧映射的真正界面。提供有关系统状态提示的调试屏幕对于初学者来说是相当难以理解。基本上,整个获取和追踪阶段应该是“刚好堪用”,而现在它需要你具备相当的专业知识。采用更为内聚的“包”是正确的做法。Airbnb爱彼迎的装饰用例看起来十分合适。头显支持:Magic Leap或Hololens,甚至是北极星支持。这种体验的正确打开方式是AR眼镜。现在已经可行,同时值得我们去做。当然,每个开发者也会编写相同的应用程序,但这将从浏览器的角度出发,而基于浏览器的持久性解决方案十分有价值。装饰:有几个小功能可以快速赢得用户的欢心。例如,展示用户在空间中移动的轨迹;允许用户键入或输入文本到便利贴。如上所述,为其他媒体类型提供更丰富的代理支持会很好。在这种情况下,我想澄清一定的许可问题。另外,优化手动重定位(或使用二维码)也可以提供帮助。导航:我没有提供应用内路线寻找和导航功能。这个功能可以帮助叙述故事。过滤:对于社交网络我们用一定的想法,例如我们尚未测试的过滤功能,而这在将来会非常重要。

8. 几个架构观察

这起研究不仅只是专注于用户体验,但同时旨在探索内部架构。我认为MVP(最小可行性)背后的架构应该能反映出成熟应用程序提供的工作分区。在新生的形式中,MVP(最小可行性)必须在架构上反映出更大的代码库。这个应用程序的当前实现包括这些部分(我认为这反映出一个更成熟系统的重要部分):

云端内容服务器:必须有一个服务器,用于来托管来自任意参与者的任意数据。我们需要某种托管用户发布内容的方式。在一个更成熟的状态里,这可以有许多服务器。服务器可以是WordPress,而内容可以是GeoRSS。然而,现在我有了一个服务器,但服务器没有多少责任。它只是一个共享数据库。内容过滤器:过滤内容是一个关键的MVP(最小可行性)要求。我们必须能够证明用户可以控制他们所看到的内容。我认为这个过滤器是一个完美的代理,是一种自己的副本,允许你仔细检查每个数据对象,并思考是否值得与你分享。内容过滤器是你的代理人。现在它尚未达到完美的状态,但这是我的理想模型。过滤器可以存在于设备或云端。渲染器:客户端渲染层处理视场中的绘制内容。它它处理显示语义(某些对象希望在某些地方显示),以及处理用户如何与AR交互的基本UX范例想法。基本上它发明了一个AR桌面,一个基本的AR界面,其主要是用于调解人类交互。当然,我们不能做到这一切,但它同样是我的理想模型。身份管理:对于互联网来说,这在很大程度上尚未得到解决,并且正在破坏网络上的通信。可以说是它当今世界上最严重的问题之一。因为如果我们无法沟通,同时无法知道对方是否真实,那么网络规范就无从谈起。对于AR而言,这同样是一个关键问题,因为你无法容忍垃圾邮件和垃圾内容。我上面提到的方法是允许用户自我签名,而最重要的是建立人员跟踪列表这种常规服务,然后再进行仲裁,有点像加权情景网络图表。

9. 关于对象地理定位的一个架构观察

有一个技术要点值得我们进一步阐述。在我们开始之前,我们必须回答一个问题:“我们应该如何表示或存储虚拟对象的位置呢?”。这也许不是你在周末晚上与朋友聊天的话题,但它仍非常重要。

在现实世界中,我们将许多事情视为理所当然,如标志,路灯和建筑物。即使你看向别处它们都能维持在原地。但编程就像是创造宇宙一样,你必须手工完成所有事情。

我们采取的方法似乎很明显:用GPS坐标定义对象位置。我们为每个物体提供纬度,经度和高度(以及方向)。

但问题是,今天的智能手机无法提供十分精确的地理位置。我们必须自行编写一个wrapper。当用户启动应用程序时,我们将构建(或加载)区域的增强现实映射。利用精确的地理位置,系统可以将映射保存至服务器。一旦有了房间的映射,映射中的所有内容都能实现非常精确的定位。这意味着你在应用程序中放置的对象或执行的所有操作都指定了全球坐标。

#p#分页标题#e#

Blair认为,尽管当前的智能手机(或其他的设备)尚无法提供非常精确的GPS,但情况很快就将发生变化。我们预计在明后两年GPS将变得超级精确,从而令我们的wrapper成为可行的选项。

10. 总结

我们的探索一直在谈话和代码中进行。就个人而言,我喜欢这种实践:花一些时间进行讨论,然后实现一个可行的概念证明。没有什么能够比示例更能说明白你的构思。

在希冀理想的状态时,很明显我们都会对最完美的AR持不同的看法。我渴望的AR未来是,不同用户都可以提供一系列不同的信息:个人提醒,城市交通覆盖,天气机器人,朋友位置通知等等。我感觉它应该是一种创造性媒介。我看到用户渴望创建对象,其中不同的对象具有不同的优先级,而且不同的对象都是“活生生的存在”,有着自己的意愿,移动性,以及与其他对象的交互。通过这种方式,AR视图能够回应默认世界的自然视图,各种虚拟和真实对象都在争夺我们的注意力。

再往后退一步思考,你会发现一些人类创造性地予以应用的基本通信模式。我们使用视觉媒介(标牌),我们使用音频(语音聊天)。我们拥有高分辨率的高保真表现能力,这包括我们的肢体语言,我们的手势,尤其是非常丰富的面部表情。我们还有基于文本的媒体,以及许多其他类型的媒体。感觉就像是,如果你能构建出一种允许人们导出其高带宽需求的通信媒介时,这种媒介就会变得非常流行。Skype,短信,维基百科,甚至是音乐,所有这些都符合基本的表达性人类动机,它们是输出和表现自我的渠道。

从那个角度来看,摆在我面前的一个问题是:“在空间中共享3D对象是一种基本的通信媒介吗?”。如果是这样,问题就将变成:“为什么不建立一种在空间中表达持久性3D对象放置的罪行可行性MVP呢?”。显然,作品需要赚钱,并且对于开发作品的人来说是可持续的过程。我们是否正在开发某种根本性的工具,而且即使在早期迭代中都能提供足够的价值,令用户愿意投入资金(或精力)呢?我认为如果我们能够帮助用户表达出基本的人类沟通模式,我们将能取得成功。

令人感到惊讶的是持久性的力量。当体验运作良好时,我会产生一种心理错觉,即我的房间里确实存在这一个个虚拟图像和虚拟对象。我们的大脑似乎深深地被持久性幻觉所迷惑。类似于Magic Leap,你会感受到一种“魔力”感,仿佛现实世界维度之上尚有另一个世界,而且即便放下设备后你仍然能感觉到它的存在。这时,虚拟将开始变得真实。

原文链接:https://yivian.com/news/56217.html

收藏
0
有帮助
0
没帮助
0