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 实现的,可用于渲染相机预览和基本 AR 对象(例如平面和锚点)。hello_ar_java 的示例渲染框架可在 com/google/ar/core/examples/java/common/samplerender 中找到。

使用即时展示位置

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

点按屏幕以放置对象。看到全息对象出现在屏幕上后,请务必继续移动设备,以便 ARCore 可以获取有关您周围环境的充足数据来准确锚定虚拟对象。

ARCore 检测到表面几何图形并在对象放置区域建立可跟踪对象后,会自动更新对象的姿态以确保准确性。

即时展示位置

在图 1 中,即时放置已停用,并且未定义表面几何图形。放置在台球桌右侧地板上的物体(四个小蓝点)看起来被翻了过来,它们的姿势未定义。

在图 2 中,“即时展示位置”从齿轮图标下的菜单中启用。

在图 3 中,启用 Instant Placement 后,将在场景中放置一个新对象。它显示为灰度模式而不是彩色,表示它尚未被校正以获得准确的姿势。

在图 4 中,当检测到表面几何图形(由可跟踪的网格线描述)时,新对象会变为彩色且位置方向准确。

使用深度

启用 Depth 后,ARCore 会考虑场景中对象的几何形状和位置,并计算场景中所放置对象相对于场景中其他对象的位置。它允许放置的对象被场景中的物体遮挡,并使应用具有真实感。

即时展示位置

在图 1 中,深度已停用。一个对象放在台球桌下方。

在图 2 中,当设备在台球桌上移动时,无论场景中的物体如何,它都会跟随设备移动。

在图 3 中,启用了深度。

在图 4 中,当设备在场景中移动时,该对象现在被台球桌遮挡。

后续步骤