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 (Free, Google Play) →
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) andArCamera_getTrackingFailureReason()
(NDK) method that returns the reason for AR tracking failure when tracking state isPAUSED
. - New
Frame.transformCoordinates2d(…)
(Java) andArFrame_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) andArSession_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) andArCameraConfig_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 ofArAugmentedFace_*
(NDK) methods provide getters to request the center pose, region poses, vertices, normals, and triangle indices of the 3D face mesh.
- Apps can now enable Augmented Faces with the front-facing (selfie) camera by requesting the
- 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()
throwsIllegalStateException
when using a shared camera session. Instead, subscribe to the camera callback directly by usingSharedCamera.setCaptureCallback(…)
, and useFrame.getAndroidCameraTimestamp()
to correlate frame to metadata.
- Note:
- New method
Session.getSharedCamera()
gets the shared camera object for the session. - New method
Frame.getAndroidCameraTimestamp()
returns the Android camera timestamp of the image.
- Apps can now share camera control with ARCore by requesting the
- Additional Java-only changes:
- New method
Session.close()
allows for explicit release of resources held by ARCore session for better resource control. PointCloud
now implementsCloseable
, allowing it to be used with Java try-with-resources and Kotlinuse
blocks.
- New method
Deprecations
Frame.transformDisplayUvCoords
(Java) andArFrame_transformDisplayUvCoords
(NDK) is now deprecated. Please useframe.transformCoordinates2d(Coordinates2d.VIEW_NORMALIZED, …, Coordinates2d.TEXTURE_NORMALIZED, …)
(Java) andArFrame_transformCoordinates2d(…, AR_COORDINATES_2D_VIEW_NORMALIZED, …, AR_COORDINATES_2D_TEXTURE_NORMALIZED, …)
(NDK) instead.
Bug Fixes
- Issue #630:
- Java:
Session.createAnchor()
andTrackable.createAnchor()
will now correctly throwSessionPausedException
andNotTrackingException
when appropriate instead ofFatalException
. - C:
ArSession_acquireNewAnchor()
andArTrackable_acquireNewAnchor()
will now correctly returnAR_ERROR_SESSION_PAUSED
andAR_ERROR_NOT_TRACKING
when appropriate instead ofAR_ERROR_FATAL
.
- Java:
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 2019, Moto 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.
ARCore by Google (Free, Google Play) →
Just a Line - Draw Anywhere, with AR (Free, Google Play) →
Source 1: Google Developers blogSource 2: Google ARCore GitHub Releases PageSource 3: Google ARCore Supported Devices
Refference - xdadevelopers.com
0 Comments