All Blog Posts

The Pains & Pleasures of Using ARCore Pose

Having recently explored ARCore in developing an AR app prototype, I wanted to share everything I found great and awful while using the language.

3 SIDED CUBE
10 Min Read

Introducing ARCore

ARCore is Google’s platform for building augmented reality experiences. It’s functionality can be split into three main areas:

  1. Motion tracking, allows the phone to understand and track its position relative to the world, is visual information combined with inertial measurements from the device’s IMU to estimate the pose, imagine pose as geocodes

  2. Environmental understanding, allows the phone to detect the size and location of all the surfaces: horizontal, vertical and angled surfaces like the ground, a table or a wall. Is the plane, imagine this as the map

  3. Light estimation, allows the phone to estimate the environment’s current lighting conditions.

Source: developers.google.com

The Pains of using ARCore

Limited performance

One pain point, not just for ARCore, but for most AR frameworks and languages relates to surface detection and usability in different areas you’re viewing.

I found that the apps work much better at a far distance with a large floor.

Getting it to work on your desk is very hard. Any smooth surface or surface with a blank canvas are difficult to identify and project AR images onto.

Lack of animations

Most of the work is in the 3D models and animation, which needs to be done in specialist software.

The actual programming is a tiny part of it, all built in, and is not easy to create the model and animations in.

It would be simple to add move, spin, scale and other animations manually, which could respond to user interaction but this is not supported in ARCore Sceneform.

Source: developers.google.com

The Pleasures of using ARCore

It's easy to understand and use

Getting started with ARCore is fairly easy to understand and use, with an intuitive design which can be picked up by those with little experience or knowledge.

Most of the features of ARCore are built-in, this makes it much easier to use but it also means a lack of a lot of configuration.

There's loads of example projects

Almost an abundance, these example projects are a great way to see how things work or look like once you’ve developed them.

Giving developers a great foundation to explore different possibilities and functionality of apps we’re building in ARCore.

Most features are built in

A lot of the functionality and features you can use in ARCore are built in which means that you don’t have to create them as separate projects or through third-party systems.

This makes it a lot easier for first timers to pick up the language and run with it; allowing for less time spent researching and learning how do things and more actually doing them.

Source: developers.google.com

Should you use ARCore?

All in all ARCore is a pretty decent way to get started on AR apps, although there are better alternatives out there; for first time developers, I would absolutely recommend using the language.

My top tip would be to definitely check out the same projects so you can see the capabilities of ARCore, then let the ideas come to mind.

Published on 27 September 2019, last updated on 15 March 2023