Google ARCore 1.7 adds an Augmented Faces API and support for the Honor View 20, Moto G7, OPPO R17 Pro, and more

Google ARCore 1.7 adds an Augmented Faces API and support for the Honor View 20, Moto G7, OPPO R17 Pro, and more

Google’s augmented reality SDK, ARCore, is getting a big update to version 1.7. In a blog post, Google states that version 1.7 focuses on “creative elements” like augmented reality selfies, animating characters in Sceneform AR apps, integrating ARCore Elements, and adding Shared Camera access. Furthermore, the official list of supported devices has expanded to include devices like the Honor View 20, Moto G7 series, OPPO R17 Pro, and more devices.

ARCore 1.7 Overview

Augmented Faces API

The new Augmented Faces API lets developers overlay a user’s face with 3D effects. As an example, Google says developers can create effects like animated masks, glasses, virtual hats, or perform skin retouching. It uses the front-facing camera to create a 468-point 3D mesh which provides coordinates and region-specific anchors. Developers can use Unity or Sceneform to get started with the Augmented Faces API.

Animations in Sceneform

Objects created in Sceneform can now have animations added to them, like dancing, jumping, or spinning.

ARCore Elements Integration

The ARCore SDK for Unity has integrated ARCore Elements, common AR UI components designed to simplify your workflow. Plane Finding and Object Manipulation, which streamlines the process of detecting a surface and using gestures to manipulate virtual objects respectively, are two of the AR UI components that Google highlighted in their blog post.

ARCore Elements
ARCore Elements
Developer: Google LLC
Price: Free

Shared Camera Access

Switching in and out of AR mode will become more seamless for the user thanks to Shared Camera access in the SDK. This feature lets users pause the AR experience, jump to the camera to snap a picture (ideally, of something in your app), and then gracefully return back to the AR experience.

ARCore SDK for Android 1.7.0 Changelog

New APIs and Capabilities

  • New Camera.getTrackingFailureReason() (Java) and ArCamera_getTrackingFailureReason() (NDK) method that returns the reason for AR tracking failure when tracking state is PAUSED.
  • New Frame.transformCoordinates2d(…) (Java) and ArFrame_transformCoordinates2d(…) (NDK) method that transforms a list of 2D coordinates from one 2D coordinate system to another 2D coordinate system.
  • New Session constructors Session(Context, Set<Session.Feature>) (Java) and ArSession_createWithFeatures() (NDK) enable new capabilities, starting with:
  • Front-facing Camera & Augmented Faces
    • Apps can now enable Augmented Faces with the front-facing (selfie) camera by requesting the FRONT_CAMERA feature when creating a session.
    • New methods CameraConfig.getFacingDirection() (Java) and ArCameraConfig_getFacingDirection() (NDK) let an app check if it is using the front-facing camera.
    • Note: Motion tracking, all types of anchors, Augmented Images, and plane detection are not available when using the front-facing camera.
    • New method Config.setAugmentedFaceMode(…) lets an app enable Augmented Faces.
    • New Trackable AugmentedFace class to detect a face, determine region poses and generate a 3D face mesh.
    • AugmentedFace (Java) class and a set of ArAugmentedFace_* (NDK) methods provide getters to request the center pose, region poses, vertices, normals, and triangle indices of the 3D face mesh.
  • Shared Camera access (Java-only)
    • Apps can now share camera control with ARCore by requesting the SHARED_CAMERA feature when creating a session. This feature is primarily intended to allow fast switching between camera-only (non-AR) and ARCore modes.
    • New shared_camera_java example that demonstrates how to share camera access with ARCore.
    • New SharedCamera class to enable apps to share Camera2 API access with ARCore.
      • Note: Frame.getImageMetadata() throws IllegalStateException when using a shared camera session. Instead, subscribe to the camera callback directly by using SharedCamera.setCaptureCallback(…), and use Frame.getAndroidCameraTimestamp() to correlate frame to metadata.
    • New method Session.getSharedCamera() gets the shared camera object for the session.
    • New method Frame.getAndroidCameraTimestamp() returns the Android camera timestamp of the image.
  • Additional Java-only changes:
    • New method Session.close() allows for explicit release of resources held by ARCore session for better resource control.
    • PointCloud now implements Closeable, allowing it to be used with Java try-with-resources and Kotlin use blocks.

Deprecations

  • Frame.transformDisplayUvCoords (Java) and ArFrame_transformDisplayUvCoords(NDK) is now deprecated. Please use frame.transformCoordinates2d(Coordinates2d.VIEW_NORMALIZED, …, Coordinates2d.TEXTURE_NORMALIZED, …) (Java) and ArFrame_transformCoordinates2d(…, AR_COORDINATES_2D_VIEW_NORMALIZED, …, AR_COORDINATES_2D_TEXTURE_NORMALIZED, …) (NDK) instead.

Bug Fixes

  • Issue #630:
    • Java: Session.createAnchor() and Trackable.createAnchor() will now correctly throw SessionPausedException and NotTrackingException when appropriate instead of FatalException.
    • C: ArSession_acquireNewAnchor() and ArTrackable_acquireNewAnchor() will now correctly return AR_ERROR_SESSION_PAUSED and AR_ERROR_NOT_TRACKINGwhen appropriate instead of AR_ERROR_FATAL.

New Devices Supporting ARCore

Since we last brought you news on Google’s augmented reality platform, here are the devices that have been added to Google’s list of supported devices.

  • Honor View 20
  • Huawei Nova 4
  • Huawei Y9 2019
  • Motorola Moto G7
  • Motorola Moto G7 Plus
  • Motorola Moto G7 Power
  • Motorola Moto G7 Play
  • OPPO R17 Pro
  • Vivo NEX Dual Display Edition

Honor View 20 ForumsHuawei Nova 4 ForumsMoto G7 ForumsMoto G7 Play ForumsMoto G7 Plus ForumsMoto G7 Power Forums

The Honor View 20, Huawei Y9 2019Moto G7 Power, and OPPO R17 Pro have all recently launched in India. The Huawei Nova 4 and Vivo NEX Dual Display Edition have yet to launch outside of China.

If you manage to download Google ARCore 1.7 on a supported device, check out some of the augmented reality experiences available on the Google Play Store. I’ve linked one simple app below that I like to use to verify that ARCore works.

Google Play Services for AR
Google Play Services for AR
Developer: Google LLC
Price: Free

Source 1: Google Developers blogSource 2: Google ARCore GitHub Releases PageSource 3: Google ARCore Supported Devices

Discuss This Story

Want more posts like this delivered to your inbox? Enter your email to be subscribed to our newsletter.

READ THIS NEXT