Google isn't going to let Apple steal its augmented reality thunder. The search giant this week announced ARCore, a new software development kit that will bestow augmented reality powers upon the majority of existing and future Android smartphones, with no special hardware required.
Google has been working on Project Tango, its current AR platform, for years. Tango uses multiple cameras and sensors in order to properly function, which boosts the cost, size, and weight of the device. Right now, just two Project Tango handsets have reached the market, the Lenovo Phab 2 Pro, and the (just released) Asus Zenfone AR. With Project Tango aboard, these two phones allow owners to apply AR content on top of the real-time view through their camera. The result is a fun blend of reality and augmented reality. If you have any regular old Android handset, however, you're spit out of luck when it comes to AR. ARCore is here to change that.
"We’ve been developing the fundamental technologies that power mobile AR over the last three years with Tango, and ARCore is built on that work," explained Google's Dave Burke, VP of Android Engineering. "But, it works without any additional hardware, which means it can scale across the Android ecosystem. ARCore will run on millions of devices."
ARCore works with Java/OpenGL and the Unity and Unreal engines. The APIs available will vary depending on which development platform you select. According to Google, ARCore focuses on three important things. First, motion tracking. With ARCore, the phone's camera can observe and gather data about the room in order to determine the position and orientation of the phone as it moves about. This ensures that virtual objects remain where they were placed.
Second, environmental understanding. Google explains that it is common for AR objects to be put upon a table, or placed on the floor. ARCore can detect horizontal surfaces thanks to the data it captured via motion tracking. This is an important differentiator between ARCore and Project Tango. Tango can scan horizontal and vertical surfaces, so it is much more robust when it comes to placing 3D objects.
Third, light estimation. As any photographer will tell you, lighting is everything. The same is true in AR. You don't want to place a brightly lit AR object in a dim room, as the result would look disjointed. That's why ARCore observes the ambient light and allows developers to light their virtual objects to match the surrounding environment.
With this set of basics, developers should be able to sink their teeth into some basic augmented reality thanks to ARCore.
Google says it has invested in other apps and services to improve developing AR content. For example, developers can already make use of Blocks and Tilt Brush to create 3D content for AR apps. As noted during I/O, Google is completing work on the Visual Positioning Service to bring AR to the tabletop. Let's not forget about the desktop. Google sees email and browsers as a way to get AR content to people en masse.
ARCore is to Android as ARKit is to iOS.
ARCore is available via GitHub to developers immediately and can run on the Google Pixel and Samsung Galaxy S8 smartphones. Google is testing ARCore on more phones and expects it to be running on 100 million handsets from Samsung, Huawei, LG, and Asus by the end of the preview period. Need some ideas? Check out Google's new AR Experiments showcase to jolt your imagination. There are tons of resources available here.