We will take a very hands-on approach for the rest of this book. After all, there is no better way to learn than by doing. While the book is meant to be read in its entirety, not all readers have the time or a need to do this. Therefore, provided in the following table is a quick summary of the platforms, tools, techniques, and difficulty level of each chapter left in the book:
Chapter |
Focus |
Difficulty |
Platform |
Tools and techniques |
Chapter 2,
ARCore on Android |
Basics of Android |
Basic |
Android (Java) |
Installation of tools and environment for Android. |
Chapter 3,
ARCore on Unity |
Basics of Unity |
Basic |
Android/Unity (C#) |
Installation, setup, and deployment of the Unity sample. |
Chapter 4,
ARCore on the Web |
Building ARCore web apps |
Medium |
Web (JavaScript) |
Installation and setup of tools to support web development and hosting. |
Chapter 5, Real-World Motion Tracking |
3D spatial audio and Firebase |
Medium |
Web (JavaScript) |
Introduce motion tracking with a mobile device with audio, integrate with Google Firebase, and track multiple objects and/or users in AR. |
Chapter 6, Understanding the Environment |
Introduction to EU and meshing |
Medium |
Android (Java) |
Learning the ARCore API for Java as well as creating a new ARCore Android project, meshing an environment, and interacting with objects using OpenGL ES. |
Chapter 7,
Light Estimation |
Introduction to light estimation and lighting in Unity |
Advanced |
Unity (C#, Cg/HLSL) |
Understand the importance of lighting and how it can be used to make AR objects appear more realistic. |
Chapter 8,
Recognizing the Environment |
Introduction to Machine Learning (ML) for AR and how it can be used. |
Advanced |
Android (Java), Unity (C#) |
Look at various ML platforms in order to better understand how it can be used in AR applications. |
Chapter 9,
Blending Light for Architectural Design |
3D lighting and shaders |
Advanced |
Unity (C#) |
An advanced introduction to lighting and shaders in Unity, including writing HLSL/ Cg shader code. |
Chapter 10,
Mixing in Mixed Reality |
Combine all elements together. |
Advanced+ |
Unity (C#), Android (Java) |
We will extend the ARCore platform by introducing mixed reality and allowing the app to transition from AR to MR. |
Chapter 11,
Performance and Troubleshooting |
Performance and troubleshooting tips |
Basic |
All |
Provides some helpful tips on performance, with a section dedicated to addressing the possible issues you may have while working on the samples. |
Also, Chapter 10, Mixing in Mixed Reality, is intended to be used after the reader has reviewed all the previous chapters.
While some readers may prefer to only explore a single ARCore platform by sticking to those specific chapters, you are strongly encouraged to work through all the samples in this book. Given that the ARCore API is so similar across platforms, transferring the techniques you learn for one should translate well to another. Also, don't be intimidated by a different platform or programming language. If you have a good base of knowledge in one C language, learning any other language from the rest of the family takes only minimal effort. Developer, programmer, software engineer, or whatever you want to call yourself, you can always benefit from learning another programming language.