Android NDK 快速入门

设置开发环境

  • 安装 Android Studio 3.1 版或更高版本以及 Android SDK 平台 7.0(API 级别 24)或更高版本。

  • 使用 SDK 管理器安装 Android 原生开发套件 (NDK) 和 CMake,让 Android Studio 做好原生开发准备。如需了解详情,请参阅 NDK 入门指南

  • 您需要获取 ARCore SDK for Android。您可以选择以下任一解决办法:

    • 下载 ARCore SDK for Android 并解压缩。

      也可以

    • 使用以下命令克隆代码库:

      git clone https://github.com/google-ar/arcore-android-sdk.git

准备设备或模拟器

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

打开示例项目

在 Android Studio 中,在 <ARCore SDK Folder>/samples/hello_ar_c 中打开 hello_ar_c 示例项目。

示例项目在某些版本的软件(例如 Gradle 和 Android SDK)上具有 build 依赖项。如果未安装所需的依赖项,Android Studio 会请您授予下载这些依赖项并将其安装到您的机器上的权限。

运行示例

确保您的 Android 设备已连接到开发机器,然后点击 Android Studio 中的 Run

Android Studio 会将您的项目构建成可调试的 APK,安装该 APK,然后在您的设备上运行该应用。如需了解详情,请参阅构建和运行应用

当您移动设备时,应用会自动检测平坦的表面并绘制菱形网格。点按网格可在表面上放置三维 ARCore 兵。

使用即时展示位置

借助 Instant Placement API,用户可将 AR 对象放置在屏幕上,而无需等待 ARCore 检测表面几何图形。随着用户在环境中的四处移动,对象放置位置会实时优化。一旦 ARCore 在放置 AR 对象的区域中检测到正确的姿势,该对象就会自动更新为准确的姿势。

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

即时展示位置

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

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

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

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

使用深度

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

即时展示位置

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

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

在图 3 中,启用了深度。

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

后续步骤