Augmented reality has been a thing for many years, and Qualcomm released an Augmented Reality SDK working with Android as soon as 2011, but Google has only just released a preview of ARCore augmented reality SDK for Android in order to bring AR capabilities to existing and future Android phones.
ARCore works without any additional hardware (e.g. no 3D depth camera needed such as Tango), relies on Java/OpenGL, Unity or Unreal engines, and focuses on three things:
- Motion tracking – ARCore determines the position and orientation of the phone as it moves using both the phone’s camera to observe feature points in the room and IMU sensor data, in order to keep virtual objects accurately placed.
- Environmental understanding – This handles placement of AR objects on surface like a table or a floor, with the SDK detecting horizontal surfaces using the same feature points it uses for motion tracking.
- Light estimation – ARCore observes the ambient light in the environment, and applied the same/similar lighting to virtual object to make then more realistic.
While no extra hardware is needed, ARCore won’t not work for all Android smartphones, as the company is working with Samsung, Huawei, LG, ASUS and other manufacturers with the target of supporting 100 million devices – out of the 2 billion Android devices – at the end of the preview.
If you are interested in the project, you can have a look at ARCore SDK on Github. Note however, the company is not accepting pulled requests for now, so it’s a “read-only” project, albeit you can still submit issues. If you want to find more demos / ideas, you may want to check out their AR Experiments showcase.