Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
So you want to build an ARKit app - AppDevCon
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Namrata Bandekar
March 15, 2019
1.9k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
So you want to build an ARKit app - AppDevCon
Namrata Bandekar
March 15, 2019
More Decks by Namrata Bandekar
See All by Namrata Bandekar
So you want to build an ARKit app- Swiftfest 2019
namrata
0
87
DevFest Florida - Video Processing on Android
namrata
1
170
Video Processing on Android
namrata
2
2.9k
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
710
The Cost Of JavaScript in 2023
addyosmani
55
10k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
400
Paper Plane
katiecoart
PRO
2
53k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.1k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Unsuck your backbone
ammeep
672
58k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
260
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Embracing the Ebb and Flow
colly
88
5.1k
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