Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
So you want to build an ARKit app - AppDevCon
Search
Namrata Bandekar
March 15, 2019
1
1.8k
So you want to build an ARKit app - AppDevCon
Namrata Bandekar
March 15, 2019
Tweet
Share
More Decks by Namrata Bandekar
See All by Namrata Bandekar
So you want to build an ARKit app- Swiftfest 2019
namrata
0
56
DevFest Florida - Video Processing on Android
namrata
1
130
Video Processing on Android
namrata
2
2.7k
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
Designing Powerful Visuals for Engaging Learning
tmiket
0
180
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.3k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1k
Test your architecture with Archunit
thirion
1
2.1k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
68
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
580
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
160
Transcript
SO YOU WANT TO BUILD AN ARKIT APP NAMRATA BANDEKAR
ARKIT BY TUTORIALS
PORTAL ARSKETCH
AUGMENTED REALITY EXPERIENCE ▸ Detect and understand environment geometry ▸
Render virtual 3D content ▸ User guidance
ARKIT ▸ Tracking ▸ Scene Understanding ▸ Light Estimation
TRACKING ▸ World Tracking ▸ Visual Inertial Odometry CORE MOTION
AVFOUNDATION
ARKIT ▸ Tracking ▸ Scene Understanding ▸ Light Estimation
SCENE UNDERSTANDING ▸ Plane detection ▸ Hit testing
ARKIT ▸ Tracking ▸ Scene Understanding ▸ Light Estimation
LIGHT ESTIMATION ▸ Estimate scene lighting information ▸ Render graphics
that looks more realistic Video by Mark Dawson on Youtube
ARKIT ▸ Tracking ▸ Scene Understanding ▸ Light Estimation
SCENEKIT ▸ Rendering Engine ▸ 3D Content ▸ Provides basic
AR view
GETTING STARTED ▸ Device Compatibility ▸ A9 processor or later
▸ iOS 11 and up ▸ Handle unsupported devices and iOS versions AR Optional AR Required
GETTING STARTED ▸ Device permissions
GETTING STARTED ▸ Privacy and data handling
ARKIT BASICS ▸ AR session configuration ▸ AR session management
▸ Session error handling
ARKIT BASICS ▸ AR session configuration ▸ AR session management
▸ Session error handling
AR CONFIGURATION
ARKIT BASICS ▸ AR session configuration ▸ AR session management
▸ Session error handling
ARKIT BASICS ▸ AR session configuration ▸ AR session management
▸ Session error handling
RUN OPTIONS
AR SESSION MANAGEMENT
ARKIT BASICS ▸ AR session configuration ▸ AR session management
▸ Session error handling
ARKIT BASICS ▸ AR session configuration ▸ AR session management
▸ Session error handling
SESSION ERROR HANDLING
ARKIT BASICS ▸ AR session configuration ▸ AR session management
▸ Session error handling
SCENEKIT FOR AR ▸ Provides ARSCNView ▸ Owns AR session
object
SCENEKIT FOR AR ▸ Hit testing functionality
SCENEKIT FOR AR ⚠ Private Queue
BEST PRACTICES AND TIPS
USER GUIDANCE ▸ Guide the user ▸ Show feature points
▸ Display detected plane IKEA Place Portal
TRACKING ▸ ARWorldTrackingConfiguration ▸ ARAnchors fix position in real world
⚓ ▸ Don’t use feature points to place content ▸ ARAnchors adjust for drift
TRACKING QUALITY ▸ Ambient light ▸ Static environments ▸ Surface
texture ▸ Sensor data quality
TRACKING QUALITY
TRACKING FEEDBACK
CAPTURING THE ARWORLDMAP ▸ Dense feature points ▸ Multiple points
of view ▸ No motion - static environment ▸ Use WorldMappingStatus ▸ Don’t display UI until ready
MAPPING QUALITY
TESTING IN THE REAL WORLD ▸ Low lighting ▸ Smooth
surfaces ▸ Moving device fast while mapping ▸ Motion in environment
PERFORMANCE CONSIDERATIONS ▸ Initialization takes some time ▸ Battery drain
▸ Limit the number of anchors ⚓ ▸ Delegate callbacks on background threads ▸ Mapping from a distance doesn’t work ▸ Occlusion - no depth sensing
THANK YOU! @NAMRATACODES