
Google Play Services for AR是谷歌面向安卓系统推出的服务框架,这款软件具备十分强大的实用功能,用户只需打开它就能便捷使用谷歌旗下的各类软件,涵盖游戏、小说、音乐、影视等内容;同时,软件界面设计简约大方,各项功能清晰明了,能为用户带来相当出色的使用体验。
该AR服务套件整合了身份验证、云端存储、即时数据同步、消息推送等功能模块,为开发者搭建应用提供了高效的技术支撑,同时也优化了终端用户的交互体验与使用流程。
若要在 Android 平台上开启 ARCore 的使用,你可以运行 ARCore SDK 自带的 hello_ar_kotlin 或者 hello_ar_java 示例应用。这类示例应用采用 OpenGL 技术,它是专门用于渲染二维和三维矢量图形的编程接口。这些应用能够呈现出所有被检测到的平面,还支持用户通过点按平面的方式来放置三维模型。
1、设置您的开发环境
请安装Android Studio 3.1或更高版本,并确保其中包含Android SDK Platform 7.0(即API级别24)或更高版本的组件。
2、打开示例项目
在安卓开发工具里,复制ARCore软件开发工具包的GitHub代码仓库。
为此,您可以采用多种方式:
对于现有的 Android Studio 安装:
从 Git 菜单中选择 Clone。
在版本控制相关的下拉选项列表里,挑选Git来作为项目的版本管理工具。
请在URL输入框内填写ARCore官方GitHub仓库对应的网络地址。
https://github.com/google-ar/arcore-android-sdk.git
您需要通过以下步骤打开一个示例项目(只有明确打开项目后,才能对其进行构建和运行操作)。
从 File 菜单中选择 Open。
在 arcore-android-sdk/samples 文件夹里,你可以挑选 hello_ar_kotlin 或者 hello_ar_java 文件夹,接着点击 Open 即可。
3、准备设备或模拟器
AR应用可在适配的实体设备或Android模拟器中启动。若使用模拟器运行这类应用,需先对其中AR服务对应的Google Play服务进行升级操作。
4、运行示例
请先确认您的Android设备已与开发机器连接,接着点击Android Studio里的Run按钮。
Android Studio 会把您的项目构建成可调试的 APK,接着安装这个 APK,之后在您的设备上启动该应用。
若AR版Google Play服务不存在或版本过期,系统或许会提示你进行安装或更新操作。你可以选择CONTINUE,从Google Play商店安装该服务;也能依据“更新AR版Google Play服务”里的指引,手动对这款应用进行更新。
通过hello_ar_java这款应用,用户能够在AR技术识别出的平面区域内,添加一个立体的ARCore模型。该应用采用Android GL SurfaceView技术来完成相机画面的实时展示,以及像平面标识、锚点这类基础AR元素的呈现工作。若想了解hello_ar_java的示例渲染框架,可前往com/google/ar/core/examples/java/common/samplerender路径进行查看。
在hello_ar_java示例里,其生命周期相关的方法和一般OpenGL应用所采用的生命周期方法存在差异。若要保证您开发的AR应用能正确完成初始化配置,建议参考该示例中关于生命周期的管理思路来进行操作。
5、使用即时展示位置
借助Instant Placement API,用户无需等待ARCore检测表面几何图形,即可直接在屏幕上放置AR对象。当用户在环境中持续移动时,系统会实时对对象的放置位置进行优化调整。一旦ARCore在AR对象的放置区域检测到准确的姿态,原本显示的白色对象就会自动更新为姿态精准的状态,同时从半透明变为不透明。
在hello_ar_java里,Instant Placement是会自动启用的。你可以点击屏幕上的齿轮图标,接着从弹出的下拉菜单里选择Instant Placement选项。此时你会看到Enable Instant Placement这个复选框应该已经处于勾选状态了。
点按屏幕来放置对象。当全息对象在屏幕上显示后,记得持续来回移动设备,这样ARCore才能收集到足够的周围环境数据,从而精准锚定虚拟对象。
在着手探索ARCore的深层机制前,先掌握几个核心基础概念能让后续理解更顺畅。正是这些概念的协同作用,才让ARCore得以让虚拟元素仿佛真实存在于现实场景的表面,或是精准锚定在现实空间的特定位置上。
1、运动追踪
当移动设备在真实环境中发生位移时,ARCore技术会借助同时定位与映射(SLAM)机制,持续感知设备自身与周边空间的相对位置关系。该技术会自动识别摄像头捕捉画面里具有明显视觉差异的特征标记(即特征点),并以此为依据推算设备的位置变动情况。同时,这些视觉层面的数据会与设备IMU传感器的惯性测量信息相互融合,共同用于精准估算摄像头在特定时段内,相对于现实场景的姿态参数,包括具体位置坐标与方向角度。
开发者可以把渲染3D内容的虚拟摄像头姿势,和ARCore所提供的设备摄像头姿势进行对齐,这样就能从准确的角度来渲染虚拟内容了。之后把渲染好的虚拟图像叠加到设备相机捕捉到的图像上,虚拟内容就会显得像是现实世界里真实存在的一部分。
2、环境理解
这款工具能够识别环境中的特征点与平面,以此持续深化对现实场景的认知和把握。
该AR开发工具能够识别出聚集在常见水平面或垂直面上(像桌面、墙面这类)的特征点群,并将这些表面以几何平面的形式呈现给应用程序。同时,它还能确定每个几何平面的边界范围,并把相关数据传递给应用。借助这些信息,开发者可以把虚拟物体放置在平整的表面之上。
因为ARCore是通过特征点来实现平面检测的,所以对于白墙这类缺乏纹理的平整表面,它可能无法准确识别。
3、深度理解
ARCore 能够借助受支持设备的主 RGB 摄像头生成深度图,该深度图包含了表面与特定点之间距离相关的数据。利用深度图所提供的信息,您可以打造出沉浸式且逼真的用户体验,比如让虚拟对象和观察到的表面精准碰撞,或是让虚拟对象呈现于真实对象的前方或后方。
4、光估测
该工具能够感知所处环境的光线情况,针对摄像头捕捉的画面,给出整体的亮度均值与色彩校准参数。借助这些数据,可让虚拟物体的光照效果与实际环境保持一致,进而增强其视觉上的真实感。
5、用户互动
ARCore借助点击测试功能,接收与手机屏幕对应的(x,y)坐标(这些坐标由点按或应用支持的其他互动方式提供),接着从摄像头的世界视图中投射出一条光线,然后返回这条射线所相交的所有几何平面或特征点,以及交点在现实世界空间里的姿态信息。通过这种方式,用户就能对环境中的对象进行选择,或者以其他形式与之互动。
6、定向点
借助定向点,您能够把虚拟对象放置在倾斜的表面上。当您进行会返回特征点的点击测试时,ARCore 会扫描附近的特征点,并利用这些特征点来尝试推算出给定特征点所在表面的角度。随后,ARCore 会返回一个包含该角度考量的姿势。因为 ARCore 是通过特征点聚类来检测 Surface 角度的,所以对于缺乏纹理的表面(比如白墙),可能无法做到准确检测。
7、锚点和可跟踪对象
随着ARCore对自身方位及周边环境的感知能力不断优化,相关呈现姿态也会相应调整。若要放置虚拟物体,需先设定锚点,这样ARCore才能持续追踪物体位置的变化。一般情况下,锚点可依据点击测试所获取的姿态来创建,具体操作可参考用户交互相关说明。
当空间姿态出现变动时,AR系统可能会对环境中的可跟踪元素(如几何平面、特征点等)进行位置更新。这类元素被称为“可跟踪对象”,系统会持续追踪它们的状态变化。若将虚拟内容锚定到特定的可跟踪对象上,即便设备发生移动,虚拟内容与该对象的相对位置也能保持稳定。例如,把虚拟模型放置在桌面后,即便后续系统调整了桌面平面的姿态参数,虚拟模型依然会稳固地呈现在桌面上。
注意:为了减少CPU开销,请尽量重复利用锚点,同时及时分离不再需要的锚点。
8、增强图像
借助增强图像功能,您能够开发出可对特定2D图像(像产品包装、电影海报这类)做出响应的AR应用。当用户用手机相机对准这类特定图片时,就能启动AR体验。举个例子,用户把手机相机对准电影海报,海报上的角色就会“跳”出来,呈现出立体效果。此外,ARCore还具备追踪动态图像的能力,比如移动中的公交车侧面的广告牌也能被它识别追踪。
你既能够在无网络环境下对图片进行编译操作来构建图片数据库,也可以直接从设备端即时补充单个图片。完成注册流程后,ARCore会自动识别这些图像及其边缘范围,并反馈出对应的空间姿态信息。
ARCore 适配于搭载 Android 7.0(Nougat)及更新系统版本的多款认证安卓手机。在开发者预览阶段,其支持的设备清单可参考下图所示。
后来扩大了其它设备的支持(如下图)
1、GooglePlay服务也能优化您的应用使用体验。它能够提升离线搜索的速度,带来更具沉浸感的地图服务,还能优化游戏体验。
2、若您卸载此软件,相关应用可能无法正常运行。未获得谷歌公司认证的Android设备,无法使用谷歌地图等谷歌应用。即便用户能在手机上安装谷歌应用,运行时也可能出现“闪退”情况,或手机提示“已停止运行”,导致无法继续使用。
3移动设备厂商若想在设备中预装谷歌旗下的特定应用(例如地图类应用),需先通过谷歌针对该设备的GMS认证流程。
ARCore是谷歌推出的增强现实体验开发平台,它借助各类API赋予手机感知周围环境、理解现实世界并与信息交互的能力,部分API同时适用于Android和iOS系统,可支持打造共享AR体验。
ARCore 借助三项核心功能,把虚拟内容和手机摄像头捕捉到的现实世界场景融合起来:
1通过动作跟踪技术,移动设备能够感知并定位自身在现实空间中的方位。
2、利用环境理解功能,手机能够识别地面、咖啡桌、墙壁等各类水平、垂直及倾斜表面的尺寸与方位。
3手机的光估测功能能够帮助用户了解当前环境的光照情况。
v1.47.243160293版本
我们已对产品进行了细微的优化调整,解决了部分潜在问题。建议您及时安装或升级至最新版本,体验这些改进后的效果。
AR服务框架
增强现实开发
谷歌应用支持
Google Play Services for AR
47.14MB
系统安全6.1
Google Play Services for AR
47.14MB
系统安全6.1
Google Play Services for AR
47.14MB
系统安全6.1
网友评论
网名(您的评论需要经过审核才能显示) 回复 [ ] 楼取消回复