Experimenting with AR at world scale

Since the release of ios11 beta most of my free dev time has been spent exploring ARkit. I’ve recently taken some assets from an earlier VR project for Dunkin and optimized those for mobile AR. I started out displaying the asset at dollhouse size. This was more of an experiment just to see where I might start to get some performance limitations, and I thought it might be a great way of displaying some of the heat map data from our VR gaze tracking tests.

Then I got thinking, why not see what this looks like at world scale? So I re-exported at 1:1 and dropped a full-size Dunkin in my back yard!

The video here looks a little choppy. On the device, a 6s+, the frame rate was actually decent, but the addition of screen recording really hurt performance. There are also some interesting observations for AR at world scale. I was pretty careful when recording this to prevent issues that would lead to poor tracking, but it’s definitely a consideration when dealing with larger scale AR objects. Often the camera is pointed up more towards the sky and without any nearby objects to create parallax, ARkit appears to have more difficulty tracking. In this situation, I believe is relying solely only on inertial data for tracking which can lead to some slippage in the anchored object. This is also compounded by the distances of world scale. A small error in tracking ends up as a larger error in positioning the further away an object is placed.

Still, this is pretty cool, and it turns out to be a useful way to explore a larger virtual environment without the need for strapping on a clunky VR headset.