Google Play Services for AR 是谷歌面向安卓系统打造的一款服务框架。该软件具备极为强大的实用功能,用户只需开启软件,就能随心使用谷歌的各类软件,涵盖游戏、小说、音乐、影视等。而且软件的界面设计极为简约,所有功能清晰明了,给用户带来十分出色的使用体验。
另外,Google Play Services for AR涵盖用户身份验证、云存储、实时数据库、推送通知等功能,旨在简化应用程序的开发与管理,让用户操作使用更为便捷。
若要在Android设备上开启使用ARCore,你能够运行ARCore SDK所附带的hello_ar_kotlin或hello_ar_java示例应用程序。这些示例应用运用了OpenGL,它是一种用于渲染2D与3D矢量图形的编程接口。这些应用会展示出检测到的所有平面,并且允许用户点击平面以放置3D模型。
1. 配置您的开发环境
安装Android Studio 3.1版或更高版本,且需搭配Android SDK Platform 7.0(API级别24)或更高版本。
2、打开示例项目
(1)在Android Studio里,克隆ARCore SDK的GitHub代码库。
基于此,您能够运用多种途径:
针对已有的Android Studio安装情况:
在Git菜单里挑选Clone选项。
在版本控制(Version control)的下拉菜单里,挑选Git作为版本控制系统。
在URL字段里,输入ARCore GitHub代码库的下述网址:
这是一个链接:https://github.com/google-ar/arcore-android-sdk.git
(2) 以如下方式开启一个示例项目(您务必明确开启一个项目,方可构建并运行该项目)。
在File菜单里选取Open。
在arcore-android-sdk/samples文件夹里,挑选hello_ar_kotlin或者hello_ar_java文件夹,接着点击Open。
3、备好设备或模拟器
您能够在支持的设备或者 Android 模拟器上运行 AR 应用。不过,在模拟器上运行该应用之前,您务必先更新模拟器上 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来实现,Android GL SurfaceView主要用于渲染相机预览以及基本的AR对象,像平面和锚点等。在com/google/ar/core/examples/java/common/samplerender中能够找到hello_ar_java的示例渲染框架。
注意:hello_ar_java 里的生命周期方法和 OpenGL 应用一般所提供的生命周期方法存在差异。为保证您自身应用的 AR 设置准确无误,需遵循 hello_ar_java 中的生命周期管理逻辑。
5、采用即时展示的位置
通过Instant Placement API,用户可将AR对象放置在屏幕上,无需等待ARCore检测表面几何形状。在用户持续于环境中移动时,系统会实时优化对象的放置位置。一旦ARCore能够在放置AR对象的区域检测到正确的姿态,白色对象就会自动更新为姿态准确的状态,并且变为不透明。
在hello_ar_java中,Instant Placement会自动启用。点击屏幕上的齿轮图标,接着从下拉菜单里选择Instant Placement。此时,您应当已勾选“Enable Instant Placement”复选框。
轻点屏幕即可放置对象。当全息对象在屏幕上显示出来后,一定要持续来回移动设备,这样ARCore才能获取到足够的周围环境数据,从而精准地锚定虚拟对象。
在深入探究 ARCore 之前,先了解一些基本概念会大有裨益。这些概念共同阐释了 ARCore 是怎样让虚拟内容看起来如同呈现在真实表面,或者附着于现实世界的特定位置之上的。
1、运动追踪
当您的手机在现实世界里移动时,ARCore 会借助一个名为同时定位和映射(SLAM)的流程,来知晓手机相对于周边世界的位置。ARCore 会探测所捕获摄像头图像中视觉上有差异的特征(称作特征点),并利用这些点去计算自身位置的变化。这些视觉信息会与设备 IMU 的惯性测量结果相结合,共同用于估算摄像头在一定时间内相对于现实世界的姿态(位置与方向)。
开发者通过使渲染3D内容的虚拟摄像头姿势与ARCore提供的设备摄像头姿势保持一致,就能从正确角度渲染虚拟内容。渲染出的虚拟图像可叠加在设备相机获取的图像之上,让虚拟内容看起来如同现实世界的一部分。
2、环境理解
ARCore 通过检测特征点与平面,持续加深对现实世界环境的认知。
ARCore能够探寻那些看似分布在常见的水平或垂直表面(像桌子、墙壁这类)上的成簇特征点,并以几何平面的形式,把这些表面提供给您的应用程序。不仅如此,ARCore还能够判定每个几何平面的边界,同时将此信息传递给您的应用程序。借助这些信息,您就能够把虚拟对象放置在平坦的表面之上。
ARCore 依靠特征点来检测平面,所以对于类似白墙这种毫无纹理的平坦表面,可能无法实现准确检测。
3、深度理解
ARCore 能够借助受支持设备里的主 RGB 摄像头生成深度图,该深度图涵盖了关于表面与特定点之间距离的数据。利用深度图所提供的信息,您能够打造沉浸式且逼真的用户体验,比如让虚拟对象与观察到的表面精准碰撞,或者使虚拟对象出现在真实对象的前方或后方。
4、光估测
ARCore能够探测所处环境光线的相关信息,为你提供给定摄像头图像的平均光强度与色彩校正数据。借助这些信息,你可以在与周围环境一致的条件下照亮虚拟对象,进而增强其真实感。
5、用户互动
ARCore借助点击测试获取与手机屏幕对应的(x, y)坐标(可通过点按或应用所支持的其他互动方式提供),随后将光线投射到摄像头的世界视图中,进而返回该射线所相交的所有几何平面或特征点,以及交点在现实世界空间中的姿态。如此一来,用户便能选择环境中的对象,或者以其他方式与之交互。
6、定向点
通过定向的点,您能够把虚拟对象放置于倾斜的表面之上。当您进行会返回特征点的点击测试时,ARCore会对附近的特征点加以查看,并利用这些特征点尝试估算给定特征点处表面的角度。随后,ARCore会给出一个将该角度纳入考量的姿势。鉴于ARCore运用特征点聚类来检测Surface的角度,所以对于没有纹理的表面(比如白墙),有可能无法准确检测。
7、锚点以及可跟踪对象
随着 ARCore 对自身位置及环境理解的不断改进,姿态也会相应发生改变。若要放置虚拟对象,就需定义锚点,以此保证 ARCore 能够追踪对象随时间变化的位置。一般而言,可以依据点击测试返回的姿势来创建锚点,这在用户互动部分有相关阐述。
姿态会有所改变,这表明ARCore或许会对环境对象(比如几何平面与特征点)的位置进行更新。平面和点属于一种特殊类型的对象,被称作“可跟踪对象”。从名称就能理解,ARCore会随着时间的推进对这些对象加以跟踪。你能够把虚拟对象锚定到特定的可跟踪对象上,如此一来,即便设备四处移动,虚拟对象与可跟踪对象之间的关系依旧能保持稳定。也就是说,要是你把一个虚拟的Android小雕像放置在书桌上,即便ARCore随后调整了与书桌相关联的几何平面的姿态,Android小雕像看上去依然处于桌子上。
注意:为降低CPU费用,应尽量重复利用锚点,并将不再需要的锚点进行分离。
8、增强图像
利用增强图像功能,您能够打造出能对特定2D图像(像产品包装或者影片海报)做出响应的AR应用。当用户把手机相机对准特定图片,就能触发AR体验。举例来说,用户可以将手机相机对准电影海报,使角色跃然而出并出现在画面中。此外,ARCore还能追踪移动的图像,比如行驶中公交车侧面的广告牌。
您既能够通过离线编译图片来构建图片数据库,也能够从设备实时添加单张图片。完成注册后,ARCore 会对这些图像及其边界进行检测,并给出相应的姿态。
ARCore支持的机型,可在运行Android 7.0(Nougat)及更高版本系统的多种符合条件的安卓手机上使用。 在开发者预览版阶段,ARCore支持以下设备(如下图所示)。
后来增加了对其他设备的支持(如下图所示)
1、Google Play 服务能够优化您的应用使用感受。它提升了离线搜索的速度,打造出更具沉浸感的地图,同时也优化了游戏体验。
2、若您卸载此软件,应用或许无法运行。于未获谷歌公司认证的Android设备上,诸如谷歌地图之类的谷歌应用无法运行。即便用户可在手机上安装谷歌应用,运行时也会出现“闪退”,或者手机会提示“已停止运行”,从而无法继续使用。
3、若移动设备厂商打算在设备中搭载谷歌的某类应用,例如Google地图,就必须取得Google针对其设备的GMS认证。
ARCore 是谷歌推出的增强现实体验构建平台。它借助各类不同的 API,使手机能够感知所处环境、认知现实世界,并与相关信息进行互动。部分 API 可在 Android 和 iOS 系统中使用,以此达成共享 AR 体验。
ARCore 借助三个主要功能,把虚拟内容与通过手机摄像头所看到的现实世界进行整合:
1. 通过动作跟踪技术,手机能够知晓并追踪自身相对于外界的位置。
2、通过环境理解功能,手机能够探测各类表面(像地面、咖啡桌或者墙壁等水平、垂直以及倾斜表面)的尺寸与位置。
3、通过光估测功能,手机能够对当前环境的光照条件进行估测。
版本v1.47.243160293
修正了部分小错误并加以优化。安装或更新至最新版本便能查看!
需要网络放心下载免谷歌商店
当前版本:V1.48.250340293
应用大小:47.14M
应用语言: 简体中文