Getting started with ARKit and SceneKit

Dan Wyszynski
S23NYC: Engineering
11 min readMar 30, 2018

--

While augmented reality has been a technology that has been around for many years, and increasing in accuracy for target-based experiences, the popularity of games such as Pokémon GO and the release of ARKit by Apple and AR Core by Google for Android have now brought AR to the hands of most consumers.

With the ability to have target-less AR that is cognizant of the world surrounding you, we have the opportunity to craft engaging new AR experiences. With new abilities, new challenges appear in how we work to create these experiences. In the next few posts, we’ll go through establishing a pipeline of sorts, taking 3D models, processing them, and using them in our own AR experiences.

The project for this post can be found at https://github.com/AbovegroundDan/ARTutorial_Part1

Basics

Our ARKit application will be using SceneKit for its rendering. SceneKit is the native 3D rendering engine for iOS, with direct hooks into ARKit.

3D model format

There are a few native formats available in SceneKit that we can use to load 3D models, but we will be concentrating on the Collada Digital Asset Exchange, or DAE, format. The DAE format allows us to have multiple objects in the scene file, including cameras and lights as well as any geometry.

SceneKit has routines for loading scene files, and we will be writing a couple of extensions to make loading simpler.

--

--

Dan Wyszynski
S23NYC: Engineering

iOS, Android & AR @ Nike, developer of Triller, Effects Wizard, Creepy Crawly Kingdom, DaVinci's Secret Machines, DrawPals, Punch! Culture Shelf & more.