前言
AR框架的一个核心是含能够理解特征的场景和各种类型的锚点。锚点有很多种,可根据特定场景来摆放3D模型 ,甚至可以真人来做距离测量(ARBodyAnchor)。并且这些框架不容忽视的优势是具有进行场景重建和人形遮挡(occlusion)的32位尝试数据。事实上,AR框架的大部分新功能都增强了AR体验质量。硬件也是如此,苹果全新的U1和R1芯片就带来了AR体验质量的跃升。今年苹果带了全新的Vision Pro头显(微软HoloLens的一大竞争对手),让我们可以通过手势、眼部追踪和声音指令来与AR场景进行交互。
这我们进入了全新的空间计算时代。
有哪些玩家
Google ARCore可用于构建Android和iOS应用。Apple ARKit and RealityKit可用于构建visionOS和iOS应用。PTC Vuforia是设计用于创建Android、iOS和Windows通用平台应用。对于支持ARCore/ARKit的设备,Vuforia会使用ARCore/ARKit技术(也称为平台软硬一体支持)。对于不支持的设备,Vuforia会使用其自有的AR技术和引擎,也称为不依赖硬件的软件方案。实践中,使用Vuforia引擎创建的AR体验会尝试使用最高支持技术,然后依次降级直到设备的运行时提供支持。
在对Android OEM智能手机开发时,可能会遇到一些不愉快的问题:不同厂商的设备需要进行传感器校准才能获得相同的AR体验。所幸苹果的设备没有这一问题,因其所有的传感器都是以相同条件进行校准的。
下面逐一讲解


Google ARCore
ARCore发布于2018年3月。ARCore有三大主要基础概念:动作追踪、环境理解和光照估计。ARCore可在支持的设备上通过称为并发测距与映射(Concurrent Odometry and Mapping,简称COM)的技术在6自由度(6DoF)的世界中追踪位置和方向。COM有助于监测水平、垂直和夹角追踪平面的大小和位置。动作追踪的可行,要归功于RGB相机的60 fps光学数据以及陀螺仪和加速计的1000 fps惯性数据以及ToF传感器的60 fps深度数据。当然,ARKit、Vuforia和其它AR库的工作原理基本相同。
在真实场景中移动手机时,ARCore会捕捉周遭的空间理解手机相对世界坐标所处的位置。在捕捉阶段,ARCore会“播种”一些特征点。这些特征点在RGB相机中可见,ARCore使用它们计算手机的位置变化。然后视觉数据要结合IMU(惯性测量单元)的测量数据实时评估ArCamera的位置和方向。如果手机未配备ToF传感器,ARCore会查找横向、垂直或有角度的表面的特征点集,让这些表面对应用以平面呈现(我们称这种技术为平面检测)。在检测结束后我们可以使用这些平面在场景中旋转3D对象。带着色器的虚拟几何体会由ARCore伴侣Filament渲染-支持实时基于物理的渲染(也称PBR)的Sceneform。
尽管如此,当前Sceneform仓库已被存档,Google不再维护。最后发布的官方版本是Sceneform 1.17.1。这听起来很奇怪,但ARCore团队成员说“Sceneform库没有直接的替代品,ARCore开发者可在Android AR应用中自由使用任意3D游戏库。但有一个非官方的Sceneform + SceneView分支,因此它是Sceneform框架的一个持续版本(最新版本是Sceneform 1.30)。”
ARCore的环境理解让我们可以以正确的深度遮挡放置3D对象,真实地与现实世界结合。例如,可以使用深度命中测试(hit-testing)和ArAnchors在桌上摆放虚拟咖啡杯。
ARCore也可以定义真实环境的光照参数,提供给定相机图像的平均强度和颜色校正。这一数据可让我们以周围环境相同的条件点亮虚拟场景,大大地增强真实性。
当前ARCore版本有很多知名的API,如原始深度API 和全深度API、 地理空间API、光照估计、场景语义API、Vulkan渲染(OpenGL之外)、地形锚点API、电

最低0.47元/天 解锁文章
602

被折叠的 条评论
为什么被折叠?



