Book Image

Learn ARCore - Fundamentals of Google ARCore

Book Image

Learn ARCore - Fundamentals of Google ARCore

Overview of this book

Are you a mobile developer or web developer who wants to create immersive and cool Augmented Reality apps with the latest Google ARCore platform? If so, this book will help you jump right into developing with ARCore and will help you create a step by step AR app easily. This book will teach you how to implement the core features of ARCore starting from the fundamentals of 3D rendering to more advanced concepts such as lighting, shaders, Machine Learning, and others. We’ll begin with the basics of building a project on three platforms: web, Android, and Unity. Next, we’ll go through the ARCore concepts of motion tracking, environmental understanding, and light estimation. For each core concept, you’ll work on a practical project to use and extend the ARCore feature, from learning the basics of 3D rendering and lighting to exploring more advanced concepts. You’ll write custom shaders to light virtual objects in AR, then build a neural network to recognize the environment and explore even grander applications by using ARCore in mixed reality. At the end of the book, you’ll see how to implement motion tracking and environment learning, create animations and sounds, generate virtual characters, and simulate them on your screen.
Table of Contents (17 chapters)
Title Page
Packt Upsell
Contributors
Preface
Index

3D and three.js


We live in a 3D world. Therefore, for us to convincingly fool our users into believing that their reality is being augmented or altered, we need to work with their world in three dimensions. Now, each of the platforms we are working with (web, Android, and Unity), all have 3D engines we will be using. In the case of Unity, it is the 3D engine and without a doubt the easiest to use with little or no programming or math knowledge required. Android and OpenGL ES is a distant second, as it will require some knowledge of 3D math. The third and last option is our 3D engine for web, which will be three.js library. The three.js will be the most difficult platform to work with when using 3D, which makes it our perfect candidate to start with.

Note

The Unreal platform, as we mentioned in Chapter 1Getting Started, is another ARCore platform option. Unreal is similar to Unity in the manner that it provides great tools to work in 3D, although those tools are more technical and will require...