Keeping up with ARCore: Rudiments of AR

A brief insight on Augmented Reality and ARCore today

Rishabh Maurya
MindOrks
3 min readJul 18, 2019

--

AR scene in Avengers movie.

What is Augmented Reality?

Immersive experience is poised to be the next big thing in the mobile space. Augmented Reality(AR) and Virtual Reality(VR) are the two most promising aspects of it. Both lies at opposite end of mixed reality spectrum. AR enhances the user’s perception of real world by adding computer generated information and visuals whereas VR teleports user to a complete virtual environment. ARCore and ARKit SDKs are used to create AR experiences on Android and iOS platform respectively.

Mixed Reality Spectrum

Key jargons used in AR

  • Tracking: It is the process of scanning, recognizing, segmenting and analyzing environmental information. There are two types of tracking: Inside-out and Outside-in.
  • Occlusion: It refers to what happens when one object is blocked by another.
  • Lighting: The behavior of colors, shading and shadows created by virtual objects relating to the environment in which they exists.
  • Immersion: It is the perception that virtual objects belong in the real world.
  • SLAM: Stands for Simultaneous Localization and Mapping. It is a technology that understands the physical world through feature points.
  • COM: Concurrent Odometry and Mapping. It is a process to understand where your AR enabled device is relative to the world around it.
  • Placing: It refers to when the tracking of a virtual object is fixed or anchored to a fixed point in space.
  • Outside-in tracking uses external cameras or sensors to detect motion and track positioning while inside-out tracking uses cameras or sensors located on the device itself.
  • Feature points are visually distinct features in the environment.
  • Anchors holds the content at designated location after the user has placed them.

Intro to ARCore

With ARCore, build new augmented reality experiences that seamlessly blend the digital and physical worlds.

ARCore is an SDK provided by Google to create AR incorporated apps and its an evolution of Project Tango. To provide an optimal experience and blend virtual objects seamlessly, it uses three key capabilities of AR-ready phones:

  1. Motion tracking: Facilitates the phone to understand and track its position relative to the world. Uses phone’s sensors to estimate its pose in 3D space in real time.
  2. Environmental understanding: Via this ARCore recognizes objects in the environment and uses that info to properly place and orient virtual contents. It allows phone to detect size and location of all types of surfaces.
  3. Light Estimation: Helps in assessing the current environment lighting condition. It lets you blend virtual content with the same lighting as that of environment.
Location based AR sample

ARCore uses trackables for placing virtual contents. Trackables are something ARCore can track and attach an anchor to. There are primarily four types of trackables: Point, Plane, Augmented Face and Augmented Image. All aforementioned trackables requires different session configurations. e.g. Augmented Face requires front facing camera and config set to return 3D face mesh for the session. By default, ARCore is configured for plane finding on rear facing camera.

For setting up ARCore in your app, refer to enabling ARCore. Currently, it requires Android 7.0+ devices mentioned in this list. AR Experiments offer a glimpse of what type of apps can be developed using ARCore.

Challenges facing AR today

  • As of now, it lacks any standard UI metaphors (commonly understood methods to perform user interactions).
  • Majority of AR apps require plethora of 3D assets. There are limited resources for finding it.So, You will need 3D graphic designers for creating 3D assets to be used. Poly by Google provides considerable amount of 3D assets.
  • It requires a lot of processing power.

Keeping up with ARCore is a series of blogs on ARCore by me. This blog derives heavily from Introduction to Augmented Reality and ARCore on Coursera and Android developer reference. More blogs are about to come in time.

If you liked the article, feel free to applause 👏. Cheers!

--

--