Android 快速入门

如需开始在 Android 上使用 ARCore,您可以运行 ARCore SDK 附带的 hello_ar_kotlinhello_ar_java 示例应用。这些示例应用使用 OpenGL,这是一种用于渲染 2D 和 3D 矢量图形的编程接口。这些应用会显示检测到的所有平面,并允许用户点按平面来放置 3D 模型。

设置您的开发环境

打开示例项目

  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

    • 您也可以打开 Terminal 并发出 git clone 命令,如下所示:

      git clone https://github.com/google-ar/arcore-android-sdk.git
  2. 按如下方式打开一个示例项目(您必须明确打开一个项目才能构建并运行该项目)。

    • File 菜单中选择 Open
    • arcore-android-sdk/samples 文件夹中,选择 hello_ar_kotlinhello_ar_java 文件夹,然后点击 Open

准备设备或模拟器

您可以在受支持的设备或 Android 模拟器上运行 AR 应用。您必须先在模拟器上更新 AR 服务的 Google Play 服务,然后才能运行该应用。如需了解详情,请参阅在 Android 模拟器中运行 AR 应用

运行示例

确保您的 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 的示例渲染框架。

使用即时展示位置

借助 Instant Placement API,用户可以将 AR 对象置于屏幕上,而无需等待 ARCore 检测表面几何图形。随着用户继续在环境中移动,系统会实时优化对象放置。

点按屏幕以放置对象。在屏幕上显示全息对象后,请务必继续来回移动设备,以便 ARCore 可以获取关于周围环境的足够数据来准确锚定虚拟对象。

一旦 ARCore 检测到 Surface 几何结构并在放置对象的区域建立可追踪对象,对象的姿势就会自动更新。

即时展示位置

在图 1 中,Instant Placement 已停用,并且未定义表面几何图形。 位于台球桌右侧地面上的对象(四个小蓝点)看起来像被击倒了,其姿态也未定义。

在图 2 中,可以通过齿轮图标下方的菜单启用“即时展示位置”。

在图 3 中,启用“即时展示位置”后,场景中会放置一个新对象。它以灰度显示,而非彩色,表示尚未校正其正确的姿势。

在图 4 中,当检测到 Surface 几何图形(由可跟踪的网格线描述)时,新对象会变为有颜色且其姿态准确无误。

使用深度

启用深度后,ARCore 会考虑场景中对象的几何图形和位置,并计算场景中相对于场景中其他对象的放置位置。它允许放置的对象被场景中的对象遮挡,并向您的应用呈现现实世界。

即时展示位置

在图 1 中,景深已停用。系统会将一个对象放在池表下。

在图 2 中,当设备在池表中移动时,无论场景中的对象是什么,对象都显示为跟随设备。

在图 3 中,启用了深度。

在图 4 中,当设备在场景中四处移动时,该对象会显示为池表所遮盖。

后续步骤