ARCore是谷歌推出的增强现实(AR)平台,完整名称为Google Play Services for AR。它与苹果的ARKit属性相似,主旨在于支持开发者开发AR应用。ARCore通过智能手机的摄像头融合虚拟内容与现实世界,从而理解和跟踪虚拟内容在现实世界中的位置。开发者借助ARCore和支持的移动设备,能够让用户通过智能手机体验三维动画。值得注意的是,ARCore是一个用于构建增强现实应用的Android SDK,其核心组件在桌面上是不可见的。
ARCore是谷歌提供的增强现实体验开发平台。它采用多种API,使得手机可以感知环境、理解现实世界并与信息进行互动。这些API不仅适用于Android,还可以在iOS上实现共享的AR体验。
ARCore依赖于三个关键功能将虚拟内容与通过手机摄像头观察到的现实环境相结合:
1. 通过动作跟踪,手机能识别和追踪其在世界中的位置。
2. 利用环境理解,手机可以感知多种表面的大小和位置,如地面、桌子和墙壁等。
3. 通过光照估算,手机能够评估环境的当前光照条件。
简而言之,ARCore负责两项主要活动:在移动过程中的位置追踪以及对现实环境的理解。
ARCore的运动追踪运用手机摄像头识别重要的特征点,并随时间变化追踪这些点的位置。结合特征点的移动和手机内的惯性传感器数据,ARCore能够在手机移动时确定其位置和方向。
除了识别特征点,ARCore还会检测平坦的表面,如桌子和地面,并估算周围环境的平均光照强度。这些功能的协同,使ARCore能对周围的世界形成自己的理解。
通过ARCore对现实世界的掌握,您能够无缝地在现实中放置对象、标签或其他信息。例如,您可以在桌子的一角放置一只打盹的小猫,或者在画作旁边添加艺术家的生平介绍。得益于运动追踪,您可以从不同角度观察这些对象,即使您离开房间再回来,小猫或标签也会保持在原来的位置。
要在Android上开始使用ARCore,您可以运行随ARCore SDK提供的hello_ar_kotlin或hello_ar_java示例应用。这些示例应用利用OpenGL,这是渲染2D和3D矢量图形的编程接口,能够展示检测到的所有平面,并允许用户在平面上放置3D模型。
1、配置您的开发环境
需要安装Android SDK Platform 7.0(API级别24)或更高版本的Android Studio 3.1或更高版本。
2、导入示例项目
(1)在Android Studio中,克隆ARCore SDK的GitHub代码库。
您可以按多种方式实现:
对已有的Android Studio安装:
从Git菜单中选择克隆选项。
在版本控制下拉菜单中,选择Git作为版本控制系统。
在URL字段输入ARCore GitHub代码库的链接:
https://github.com/google-ar/arcore-android-sdk.git
(2)按下面的步骤打开示例项目(您需要明确打开一个项目来编译和运行它)。
从文件菜单中选择打开。
在arcore-android-sdk/samples文件夹中选择hello_ar_kotlin或hello_ar_java文件夹,然后点击打开。
3、准备设备或模拟器
您可以在支持的设备或Android模拟器上运行AR应用。在模拟器上请先更新AR服务的Google Play服务,才能运行该应用。
4、运行示例应用
确保您的Android设备已与开发机器相连,然后在Android Studio中点击运行。
Android Studio会构建可调试的APK,将其安装到您的设备上并启动应用。
如果AR所需的Google Play服务缺失或过期,系统可能会提示您安装或更新。点击“继续”可以从Google Play商店安装,或根据说明手动更新AR版的Google Play服务。
使用hello_ar_java应用,您可在识别到的AR平面上放置三维ARCore对象。它通过Android GL SurfaceView实现,该视图用于渲染相机预览及基本AR对象,如平面和锚点。示例渲染框架可以在com/google/ar/core/examples/java/common/samplerender中找到。
请注意:hello_ar_java中的生命周期方法与常规OpenGL应用的生命周期方法有所不同。为确保您自己的应用能正确设置AR,请根据hello_ar_java中的生命周期管理逻辑进行操作。
5、使用即时位置放置
借助即时放置API,用户可以在屏幕上放置AR对象,而无需等待ARCore识别表面几何图形。用户在环境中移动时,系统会实时优化对象的位置。一旦ARCore能够在放置AR对象的区域内检测到正确的姿态,白色对象便会自动更新为正确的姿态并变为不透明。
在hello_ar_java中,自动启用即时放置功能。点击屏幕上的齿轮图标,然后从下拉菜单选项中选择即时放置。确保选择启用即时放置的复选框。
在屏幕上点击以放置对象。当您在屏幕上看到全息对象时,请务必来回移动设备,使ARCore能够获取足够的环境数据,从而精确锚定虚拟对象。
1、为什么打开应用后会出现黑屏或闪退?
由于AR需要相机权限,如果应用未检查这一权限可能会导致异常退出。如果相机权限已经开启,那就可能是应用自身存在问题。
2、虚拟物体为何容易漂浮或平面无法及时识别?
AR依赖于现实环境的纹理特征,当手机对着空白的墙壁或单一颜色的地面时,通常会导致问题,因此AR物体可能会表现出漂浮现象。
3、即便安装了ARCore,为何仍提示需要安装ARCore?
这通常是因为手机上安装的ARCore版本低于应用所需的版本。虽然ARCore没有显式的图形界面,您可以在系统设置的应用列表中找到ARCore,以检视版本号和卸载旧版本。
4、为何许多应用最初需扫描地面?
AR需要一个水平面以固定虚拟物体,地面和桌面是理想选择,因此必须先扫描地面。不过,将虚拟物体固定在其他图像上或在空间中也是可行的,用户还可以通过点击屏幕进行固定。
5、ARCore反复提示“已停止运行”无法正常工作该怎么办?
有些型号的手机在安装1.8版本后可能会反复弹出“已停止运行”的提示。如果遇到此问题,建议更换为稳定的1.7版本或更新版本的ARCore。
-我们运用了三项核心技术来整合虚拟内容与现实世界:
-运动跟踪技术使得手机能够理解并追踪其在环境中的相对位置;
-环境理解技术帮助手机检测到平坦的表面,例如地面或桌面;
-光照强度估算技术能够评估当前环境中的光照条件。
ARCore需与相应的应用配合使用,无法独立运作。
软件功能(新版本):4.1
软件易用性:4.5
应用内容:4.7
工具流畅度:4.8
v1.48.250340293版本
修复了一些小错误并进行了优化。安装或更新到最新版本即可获得更多体验!