高通分享:厘清AR开发基础,用骁龙Spaces XR平台构建先进AR体验
关于AR增强现实的基础
(映维网Nweon 2022年07月11日)据百科,AR增强现实是一种将虚拟信息与真实世界融合的技术。通过广泛采用多媒体、三维建模、实时跟踪及注册、智能交互、传感等多种技术手段,它能够将计算机生成的文字、图像、三维模型、音乐、视频等虚拟信息应用到真实世界中。虚拟和真实两种信息互为补充,从而实现虚拟数字对真实世界的“增强”。
日前,高通XR业务的战略和合作伙伴负责人布莱恩·福格尔桑(Brian Vogelsang)撰文介绍了关于AR增强现实的基础。下面是映维网的具体整理:
1. Anchor锚定和Scene场景
大多数AR应用的一个常见功能是允许用户移动和放置虚拟对象。这涉及到锚定,元数据存储虚拟对象的真实世界位置与方向,以及跨会话持久化。例如,即便从不同的位置或方向查看,在一个会话中放置的虚拟对应在后续会话中依然可见。
类似地,“Trackable可追踪”是指可以附着锚定的点或面。例如,与动态环境中的移动曲面相关联的“可追踪”会令所有定位对象相应地重定位/重定向。
场景理解(又名Enviroment环境)是AR的另一个基本模块。它涉及分析用户的物理环境,创建一个将虚拟世界映射到物理世界的数字孪生。它可以将对象定位在空间中,并允许用户可以在对象周围移动。它同时定义了设备(智能手机或头显)相对于环境的位置或方向。应用程序可以分析一次周围环境(例如在启动过程中定义有限区域时),或者在用户导航时随时间推移不断建立和保存场景信息。
行业有两种主要的场景理解方法:
- Marker-based:这种基于标记的方法识别摄像头可以捕获的视觉特征或标记。图像处理算法和计算机视觉技术通常用于检测对象的角点或边缘等特征。
- Markerless-based:无标记方法则利用诸如罗盘、加速计、陀螺仪或GPS等IMU,而所述传感器数据一般会通过higl-level API提供给应用开发者。
开发人员通常会混合使用这两种方法。它们一起可以提供更丰富的信息,或者提供缺失的信息。例如,当GPS不可用时,传感器和视觉数据可以从上次已知的GPS位置近似计算设备的位置。
与场景理解相关的是深度理解(又称深度估计)。这可以导出到场景中要素或对象的距离。有了所述信息,虚拟对象可以与环境交互,例如防止出现穿墙现象。它同时为遮挡计算提供了帮助,亦即物理对象可以遮挡虚拟对象。
2. 关键AR开发技能
AR涉及渲染知识、美术asset创建和UI/UX设计。
2.1 渲染知识
在渲染方面,AR需要的知识包括:
- 熟悉3D空间,包括诸如向量和矩阵之类的3D数学。
- 图形管道,用于将美术软件包中的asset转换为针对给定平台优化的格式。开发所述工具通常需要对目标平台的第一手知识,而这一般可以通过平台文档获取。
- 实现特殊效果的着色器。
- 场景管理,仅加载/渲染当前视口所需的内容(即用户的2D屏幕或沉浸式头戴设备提供的视场)。
你应该掌握实时的、基于帧的软件架构。例如,典型的游戏循环获取用户输入,根据输入更新游戏逻辑,然后相应地进行渲染。AR循环添加传感器输入集合,并在更新和渲染阶段考虑物理世界。
实时架构需要实时调试技术。远程调试允许AR视口在设备保持可见,将开发机器保留为代码、断点等。临时debug overlay同时可用于显示当前帧中从帧速率到对象名称的所有内容。
2.2 美术asset注意事项
美术asset提供AR中的视觉效果,所以请在团队中纳入经验丰富的2D和3D图形美术。他们可以包括角色建模师和动画师、对象建模师、UI设计师和纹理美术。
2D美术asset可以包括标牌、信息板、虚拟UI的图像和纹理,以及在屏幕保持固定的平视显示器(HUD)。纹理同时用于粒子系统等效果,例如烟雾。
3D美术asset包括对象、角色和增强环境的环境模型。可以创建模型rig,以按程序设置动画,或者使用动画数据流。
以下是创建美术asset的一般注意事项:
- 确定虚拟对象在AR中的效果。因为所述对象是在物理世界中渲染,所以它们的大小应该契合周围的环境。
- 使用LOD来平衡性能和真实感。如果需要额外的渲染负载来显示特写对象的详细信息,请使用复杂模型和详细纹理。当用户离开时,切换到不太详细的模型以减少渲染负载。
-考虑添加基于物理的渲染(PBR)。PBR模拟光如何从不同材质反射。这可以提高真实感,并帮助虚拟对象与物理世界融合。
2.3 UI和UX考量
当今2D移动应用中使用的诸多手势通常可以很好地转换至AR交互,例如轻触选择对象,滑动移动对象,抓捏调整对象大小等。所以,移动应用开发者对于这一点应该会感到非常熟悉。除了在触控屏实现所述手势之外,开发人员同时可以通过手部追踪进行实现,通过头戴式设备中的摄像头或传感器来捕捉手部和手指的运动。
永远记住,安全第一。AR体验比传统的移动应用更具沉浸感,所以不能让用户在交互过程中失去对周围环境的追踪,甚至体验到晕动症。为了防止这种情况的发生,请提醒用户注意周围环境,避免倒着走的情况。另外,限制AR会话时间,以便用户可以轻松回归现实世界。
3. 硬件
如今的智能手机、平板电脑和头戴式设备都配备了高分辨率摄像头和智能传感器,甚至包括5G mmWave等低延迟云连技术,从而允许开发者决定在何处最好地执行繁重的处理。
所述技术是骁龙移动平台的核心,并且正在赋能当今一系列的移动设备和AR体验。智能手机AR是一个简单的选择,可以帮助你马上开始AR开发之旅,比如说Motorola edge+。或者你可以尝试联想ThinkReality A3这样的头戴式显示器,以实现更具沉浸感的AR开发。
4. 你将积累什么样的经验?
AR应用程序可以跨越众多垂直领域,包括游戏、医疗和制造业等等。尽管AR头显很快将提供更具沉浸感的体验,但我们认为,目前理想的消费类移动AR应用是用于增强日常生活体验的应用。
对于这方面,你或许已经相当熟悉,例如在视场显示直观箭头指示的寻路导航;又如可以允许专家为你提供指引帮助的远程支持等等。
我们全新的骁龙Spaces平台提供了构建沉浸式AR体验所需的工具。骁龙Spaces HDK包括Motorola edge+智能手机和联想ThinkReality A3智能眼镜。你可以参阅我们的快速入门指南,然后下载骁龙Spaces SDK。然后,你可以开始在Unity或Unreal中使用SDK,并实现你的奇思妙想。
你同时可以利用其他多种工具和框架来构建AR体验,包括:
- 谷歌的ARCore是用于为Android设备开发AR应用的API。
- Unity的XR Interaction Toolkit和MARS是用于可视化AR开发的工具。
- OpenXR是一种开放的AR API标准,针对不同的设备有多种实现。骁龙Spaces提供符合OpenXR的运行时和各种OpenXR扩展
- 对于功能强大的手持式AR应用,你可以考虑Wikitude SDK。
- 我们的Qualcomm Computer Vision SDK可用于AR中的手势检测和计算机视觉功能。
随着移动AR的快速增长,进入AR开发领域的最佳时机前所未有。通过学习和掌握相关的技能,你将能随着行业的发展而开发出更复杂,更引人入胜的AR体验。
伴随骁龙Spaces XR开发者平台正式面向全球开发者开放,为了更好地服务中国AR/VR开发者生态,并为骁龙Spaces XR平台寻找优秀的潜在合作伙伴。“2022 Qualcomm XR创新应用挑战赛”发起了“骁龙Spaces XR平台开发者问卷调查(点击前往)”。
参与问卷调查的优秀开发者(点击参与)更有机会获得高通创投的骁龙元宇宙基金支持,以及与高通公司在骁龙Spaces XR生态平台上达成深度合作,赋能并支持整个生态系统的创新。另外,参与问卷调查的合格提交者均有机会获得高通官方提供的“骁龙Spaces XR”专属T恤等礼品。