SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Mobile AR SDK Tutorial
Augmented World Expo, June 3rd, 2013
Patrick
O’Shaughnessey
@patchedreality
patrick@patchedreality.com
http://patchedreality.com
Patched Reality, Inc
Custom Augmented Reality Software
Using the Best-in-breed SDK’s since 2009
http://patchedreality.com
Agenda
Mobile SDK Comparison & Tutorial
Patched Reality – Patrick O’Shaughnessey
SDK Vendor Tutorials
• 13th Lab - Oskar Linde
• metaio - Ben Blachnitzky
• Qualcomm - Roy Ashok
• Total Immersion - Benjamin Zysberg
• Wikitude - Martin Lechner
What’s the purpose of an AR SDK?
Simplifies one or more of:
• Recognition – What to track
• Tracking – Where it is (3D pose)
• Content rendering – Your Interesting Stuff
Tracking Types
• GPS + Compass + Gyro + Accelerometer
• Marker (Fiduciary, frame, etc)
• NFT (2D images)
• Pre-trained
• Cloud recognized
• User-defined
• 3D (Pre-trained point cloud)
• Live 3D (SLAM)
• Face, Fingers, Body
• Robot
Mobile AR SDKs Short List
SDK Purpose Tracking Platform Graphics Cloud GP
S
License
Qualcomm
Vuforia
2D Images,
Markers
NFT,
Marker,
Text
iOS, Android Unity3D&
Alt.
yes no Free
Metaio
SDK
2D Images,
GEO, 3D,
Anywhere
NFT, GPS,
3D, SLAM
iOS, Android Unity3D
&Alt.
yes yes 0-$10,000
TotalImm.
D’fusion
2D Images,
faces
NFT, Face iOS, Android
Dev: MS
only
Unity3D &
Alt.
no no 0-$10,000
WikitudeSD
K
2D Images,
GEO
GPS, NFT iOS, Android,
Blackberry
HTML,
Proprietary
yes yes 0-$2,300
Layar SDK 2D images NFT, QR iOS, Android Proprietary yes no $3,250/ap
p/yr +
$20/page
13th Lab
Point Cloud
2D Images,
3D,
Anywhere
NFT, 3D,
SLAM
iOS, Android Unity3D &
Alt.
no no 0-$5,000
Mobile AR SDKs Short List – Cont’d
SDK Purpose Tracking Platform Graphics Cloud GP
S
License
AR Toolkit 2D Markers
2D Images
NFT,
Marker
iOS,Android Unity3D &
Alt.
no no $0 (GPL) -
$2,495 +
royalty
HP
Aurasma
SDK
VFX, Videos
on 2D Images
NFT iOS, Android Proprie-
tary
yes yes Per click
Obvious
Engine
2D images,
Cylinders
NFT,
Cyl.
iOS, Android Unity3D &
Alt.
no no $8000/ap
p/plaform
String Framed 2D
images
Framed
Image
iOS Unity3D &
Alt.
no no $499
-
$8000/ap
p/year
Orbotix Robotic AR Sphero iOS, Android Unity3D no no Free
SDK Development On Ramp
1) Set up Dev Environment
• Xcode (iOS)
• Eclipse (Android)
• Android SDK
• Android NDK
• Unity 3D
2) Download SDK
3) Install and run samples
SDK Development with Unity
1) Create Project
2) Wire up SDK - camera setup, licensing, etc
3) Set up recognition and tracking configuration
4) Add scene content and interactions
5) Build, Run, Test
6) Repeat 3-5
7) Ship
NFT Setup – ARToolkit
1) Import ARToolKit4Unity.unitypackage
2) Add ARToolkit script to empty game object
3) Create “AR foreground/background” Layers
4) Set Layer of ARToolkit object to “AR background”
5) Create NFT dataset with command-line tools
6) Add NFT dataset to StreamingAssets
7) Add Marker script to ARTookit object
8) Add TrackedCamera script to Camera
9) Set marker tag in Marker and TrackedCamera
NFT Setup – ARToolkit
10)Set culling mask for TrackedCamera to AR
foreground
11)Create Common parent object for AR content
and TrackedCamera
12)Set Layer of All scene objects to “AR
foreground”
13)Build Xcode project
14)Add missing libraries to target
NFT Setup – ARToolkit
Missing Libraries:
Accelerate.framework (weak-linked)
AudioToolbox.framework
AVFoundation.framework
CoreGraphics.framework
CoreMedia.framework
CoreVideo.framework
OpenGLES.framework
QuartzCore.framework
libjpeg (libjpeg.a from ARToolKit for iOS)
libstdc++.6
NFT Setup - ARToolkit
NFT Setup - ARToolkit
NFT Setup - Vuforia
1) Import Unity package
2) Replace MainCamera with ARCamera prefab
3) Add ImageTarget prefab
4) Add content to ImageTarget
5) Create target using “Target Manager” at
developer.vuforia.com
6) Download and Import target package
7) Enable Data Set load on ARCamera
8) Select Data Set and Image Target on ImageTarget
9) Build and Run
10) Add QCARUnityPlayer.h to Libraries Group in XCode
NFT Setup - Vuforia
SLAM Differences
Pointcloud vs. metaio SLAM:
- Pointcloud creates a ground plane from points
- metaio aligns to gravity
SLAM Setup – Pointcloud
http://pointcloud.io
1) Import the PointCloudUnityPlugin package.
2) Add PointCloudBehavior script to camera
3) Add PointCloudSceneRoot script to scene root
4) Create script to initialize SLAM (e.g. button)
5) Set Application Key via PointCloud menu
6) Build and Run
SLAM Setup – Pointcloud
http://pointcloud.io
SLAM Setup - metaio
1) Import metaioSDK.unitypackage
2) Add metaioSDK prefab to scene
3) Delete Main Camera
4) Generate app signature (mobiledeveloperportal.ar-
live.de)
5) Add app signature to metaioSDK
6) Add metaioTracker prefab to scene
7) Add scene root to metaioTracker object
8) Add instantTracking script to metaioTracker
9) Edit instantTracking script and change
trackingConfiguration to “INSTANT_3D”
10) Build and run
11) Add missing libraries to Xcode project
SLAM Setup - metaio
Missing Libraries:
metaiosdk
CoreMedia
CoreVideo
libxml2.dylib
AVFoundation
SLAM Setup - metaio
https://mobiledeveloperportal.ar-live.de/index.php
SLAM Setup - metaio
Other Rendering Options
OpenGL
HTML &Javascript
- 13th Lab Pointcloud Browser
- metaio AREL
- Wikitude
Tools for Non-Programmers
www.metaio.com/products/creator/
Tools for Non-Programmers
www.layar.com/creator
Tools for Non-Programmers
studio.aurasma.com
Tools for Non-Programmers
www.ar-code.it
Cloud Campaign Editor
Tools for Non-Programmers
studio.wikitude.com
Thank You!
Patrick
O’Shaughnessey
@patchedreality
patrick@patchedreality.com
http://patchedreality.com

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (19)

Creating a Virtual Reality in Unity - by Unity Evangelist Kelvin Lo
Creating a Virtual Reality in Unity - by Unity Evangelist Kelvin LoCreating a Virtual Reality in Unity - by Unity Evangelist Kelvin Lo
Creating a Virtual Reality in Unity - by Unity Evangelist Kelvin Lo
 
Getting started with Unity and AR/VR for the .NET developer - October 2020
Getting started with Unity and AR/VR for the .NET developer - October 2020Getting started with Unity and AR/VR for the .NET developer - October 2020
Getting started with Unity and AR/VR for the .NET developer - October 2020
 
Build an AR app v2.0
Build an AR app v2.0Build an AR app v2.0
Build an AR app v2.0
 
Getting started with Unity and AR/VR for the .NET developer
Getting started with Unity and AR/VR for the .NET developerGetting started with Unity and AR/VR for the .NET developer
Getting started with Unity and AR/VR for the .NET developer
 
Getting started with Unity and AR/VR for the .NET developer... Reloaded!
Getting started with Unity and AR/VR for the .NET developer... Reloaded!Getting started with Unity and AR/VR for the .NET developer... Reloaded!
Getting started with Unity and AR/VR for the .NET developer... Reloaded!
 
Mini workshop on ar vr using unity3 d
Mini workshop on ar vr using unity3 dMini workshop on ar vr using unity3 d
Mini workshop on ar vr using unity3 d
 
Introduction to Extended Reality - XR
Introduction to Extended Reality - XRIntroduction to Extended Reality - XR
Introduction to Extended Reality - XR
 
Storytelling using Immersive Technologies
Storytelling using Immersive TechnologiesStorytelling using Immersive Technologies
Storytelling using Immersive Technologies
 
Design and create AR experiences with no code
Design and create  AR experiences with no codeDesign and create  AR experiences with no code
Design and create AR experiences with no code
 
Augmented reality
Augmented realityAugmented reality
Augmented reality
 
Design for VR - workshop for IDF Bangalore
Design for VR - workshop for IDF BangaloreDesign for VR - workshop for IDF Bangalore
Design for VR - workshop for IDF Bangalore
 
Getting started with unity and AR/VR for the .net developer - DDD North 2020
Getting started with unity and AR/VR for the .net developer - DDD North 2020Getting started with unity and AR/VR for the .net developer - DDD North 2020
Getting started with unity and AR/VR for the .net developer - DDD North 2020
 
Building VR Applications For Google Cardboard
Building VR Applications For Google CardboardBuilding VR Applications For Google Cardboard
Building VR Applications For Google Cardboard
 
Prototyping in aframe
Prototyping in aframePrototyping in aframe
Prototyping in aframe
 
426 lecture2: AR Technology
426 lecture2: AR Technology426 lecture2: AR Technology
426 lecture2: AR Technology
 
Easy Virtual Reality
Easy Virtual RealityEasy Virtual Reality
Easy Virtual Reality
 
REALITY: We can be whoever we want - Avatar driven metaverse service and UX R...
REALITY: We can be whoever we want - Avatar driven metaverse service and UX R...REALITY: We can be whoever we want - Avatar driven metaverse service and UX R...
REALITY: We can be whoever we want - Avatar driven metaverse service and UX R...
 
Developing Virtual Reality Application using Google Cardboard
Developing Virtual Reality Application using Google CardboardDeveloping Virtual Reality Application using Google Cardboard
Developing Virtual Reality Application using Google Cardboard
 
Wearable Technologies - Devfest Oran 2015
Wearable Technologies - Devfest Oran 2015Wearable Technologies - Devfest Oran 2015
Wearable Technologies - Devfest Oran 2015
 

Andere mochten auch

Project Manager and Business Analyst - Allies or Ennemies
Project Manager and Business Analyst - Allies or EnnemiesProject Manager and Business Analyst - Allies or Ennemies
Project Manager and Business Analyst - Allies or Ennemies
Marc Bonnemains
 

Andere mochten auch (17)

Project Manager and Business Analyst - Allies or Ennemies
Project Manager and Business Analyst - Allies or EnnemiesProject Manager and Business Analyst - Allies or Ennemies
Project Manager and Business Analyst - Allies or Ennemies
 
Unity 3D VS your team
Unity 3D VS your teamUnity 3D VS your team
Unity 3D VS your team
 
VWBPE: Best Practices Showcase: 3D Virtual Worlds in (K-12/International) Sch...
VWBPE: Best Practices Showcase: 3D Virtual Worlds in (K-12/International) Sch...VWBPE: Best Practices Showcase: 3D Virtual Worlds in (K-12/International) Sch...
VWBPE: Best Practices Showcase: 3D Virtual Worlds in (K-12/International) Sch...
 
Game analytics - The challenges of mobile free-to-play games
Game analytics - The challenges of mobile free-to-play gamesGame analytics - The challenges of mobile free-to-play games
Game analytics - The challenges of mobile free-to-play games
 
Project Manager/Business Analyst friction and how to overcome it by Penny Pullan
Project Manager/Business Analyst friction and how to overcome it by Penny PullanProject Manager/Business Analyst friction and how to overcome it by Penny Pullan
Project Manager/Business Analyst friction and how to overcome it by Penny Pullan
 
Designing Mobile AR Applications
Designing Mobile AR ApplicationsDesigning Mobile AR Applications
Designing Mobile AR Applications
 
Peter Meier, CTO Metaio, @ AWE 2013 "Always On, Always Augmented"
Peter Meier, CTO Metaio, @ AWE 2013 "Always On, Always Augmented" Peter Meier, CTO Metaio, @ AWE 2013 "Always On, Always Augmented"
Peter Meier, CTO Metaio, @ AWE 2013 "Always On, Always Augmented"
 
Augmented Reality: Envisioning the Future of Tomorrow
Augmented Reality: Envisioning the Future of TomorrowAugmented Reality: Envisioning the Future of Tomorrow
Augmented Reality: Envisioning the Future of Tomorrow
 
Mobile Augmented Reality Using junaio
Mobile Augmented Reality Using junaioMobile Augmented Reality Using junaio
Mobile Augmented Reality Using junaio
 
Apple & Augmented Reality
Apple & Augmented RealityApple & Augmented Reality
Apple & Augmented Reality
 
Beyond Augmented Reality: Ubiquitous Media Experiences
Beyond Augmented Reality: Ubiquitous Media ExperiencesBeyond Augmented Reality: Ubiquitous Media Experiences
Beyond Augmented Reality: Ubiquitous Media Experiences
 
Unity 3d
Unity 3dUnity 3d
Unity 3d
 
InsideMobile Keynote
InsideMobile KeynoteInsideMobile Keynote
InsideMobile Keynote
 
Layar Augmented Reality Platform - information for brands and publishers
Layar Augmented Reality Platform - information for brands and publishersLayar Augmented Reality Platform - information for brands and publishers
Layar Augmented Reality Platform - information for brands and publishers
 
Layar introduction for developers
Layar introduction for developersLayar introduction for developers
Layar introduction for developers
 
Augmented Reality - the next big thing in mobile
Augmented Reality - the next big thing in mobileAugmented Reality - the next big thing in mobile
Augmented Reality - the next big thing in mobile
 
Metaio Mobile Augmented Reality
Metaio Mobile Augmented RealityMetaio Mobile Augmented Reality
Metaio Mobile Augmented Reality
 

Ähnlich wie Augmented World Expo 2013 Mobile AR SDK Comparison and Tutorial

Breizhcamp Rennes 2011
Breizhcamp Rennes 2011Breizhcamp Rennes 2011
Breizhcamp Rennes 2011
sekond0
 
Paug paris 2011
Paug paris 2011Paug paris 2011
Paug paris 2011
sekond0
 
Android Development w/ ArcGIS Server - Esri Dev Meetup - Charlotte, NC
Android Development w/ ArcGIS Server - Esri Dev Meetup - Charlotte, NCAndroid Development w/ ArcGIS Server - Esri Dev Meetup - Charlotte, NC
Android Development w/ ArcGIS Server - Esri Dev Meetup - Charlotte, NC
Jim Tochterman
 
Getting started with Verold and Three.js
Getting started with Verold and Three.jsGetting started with Verold and Three.js
Getting started with Verold and Three.js
Verold
 
Kinect kunkuk final_
Kinect kunkuk final_Kinect kunkuk final_
Kinect kunkuk final_
Yunkyu Choi
 

Ähnlich wie Augmented World Expo 2013 Mobile AR SDK Comparison and Tutorial (20)

FLAR Workflow
FLAR WorkflowFLAR Workflow
FLAR Workflow
 
Augmenting reality: Bring digital objects into the real world
Augmenting reality: Bring digital objects into the real worldAugmenting reality: Bring digital objects into the real world
Augmenting reality: Bring digital objects into the real world
 
Getting started with immersive technologies
Getting started with immersive technologiesGetting started with immersive technologies
Getting started with immersive technologies
 
Philipp Nagele (CTO, Wikitude) An Insider Deep-Dive into the Wikitude SDK
Philipp Nagele (CTO, Wikitude) An Insider Deep-Dive into the Wikitude SDK Philipp Nagele (CTO, Wikitude) An Insider Deep-Dive into the Wikitude SDK
Philipp Nagele (CTO, Wikitude) An Insider Deep-Dive into the Wikitude SDK
 
Augmented Reality Games
Augmented Reality GamesAugmented Reality Games
Augmented Reality Games
 
Breizhcamp Rennes 2011
Breizhcamp Rennes 2011Breizhcamp Rennes 2011
Breizhcamp Rennes 2011
 
Philipp Nagele (Wikitude): What's Next with Wikitude
Philipp Nagele (Wikitude): What's Next with WikitudePhilipp Nagele (Wikitude): What's Next with Wikitude
Philipp Nagele (Wikitude): What's Next with Wikitude
 
Paug paris 2011
Paug paris 2011Paug paris 2011
Paug paris 2011
 
426 lecture6a osgART Development
426 lecture6a osgART Development426 lecture6a osgART Development
426 lecture6a osgART Development
 
Cardboard VR: Building Low Cost VR Experiences
Cardboard VR: Building Low Cost VR ExperiencesCardboard VR: Building Low Cost VR Experiences
Cardboard VR: Building Low Cost VR Experiences
 
Philipp Nagele (Wikitude) Wikitude SDK Tutorial
Philipp Nagele (Wikitude) Wikitude SDK Tutorial Philipp Nagele (Wikitude) Wikitude SDK Tutorial
Philipp Nagele (Wikitude) Wikitude SDK Tutorial
 
RICOH THETA x IoT Developers Contest : Cloud API Seminar
 RICOH THETA x IoT Developers Contest : Cloud API Seminar RICOH THETA x IoT Developers Contest : Cloud API Seminar
RICOH THETA x IoT Developers Contest : Cloud API Seminar
 
Getting Started With Android
Getting Started With AndroidGetting Started With Android
Getting Started With Android
 
Android Development w/ ArcGIS Server - Esri Dev Meetup - Charlotte, NC
Android Development w/ ArcGIS Server - Esri Dev Meetup - Charlotte, NCAndroid Development w/ ArcGIS Server - Esri Dev Meetup - Charlotte, NC
Android Development w/ ArcGIS Server - Esri Dev Meetup - Charlotte, NC
 
Getting started with Verold and Three.js
Getting started with Verold and Three.jsGetting started with Verold and Three.js
Getting started with Verold and Three.js
 
Kinect kunkuk final_
Kinect kunkuk final_Kinect kunkuk final_
Kinect kunkuk final_
 
Byte Conf React Native 2018
Byte Conf React Native 2018Byte Conf React Native 2018
Byte Conf React Native 2018
 
Developing AR and VR Experiences with Unity
Developing AR and VR Experiences with UnityDeveloping AR and VR Experiences with Unity
Developing AR and VR Experiences with Unity
 
Building AR and VR Experiences for Web Apps with JavaScript
Building AR and VR Experiences for Web Apps with JavaScriptBuilding AR and VR Experiences for Web Apps with JavaScript
Building AR and VR Experiences for Web Apps with JavaScript
 
Mobile AR Tutorial
Mobile AR TutorialMobile AR Tutorial
Mobile AR Tutorial
 

Kürzlich hochgeladen

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Kürzlich hochgeladen (20)

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

Augmented World Expo 2013 Mobile AR SDK Comparison and Tutorial

  • 1. Mobile AR SDK Tutorial Augmented World Expo, June 3rd, 2013 Patrick O’Shaughnessey @patchedreality patrick@patchedreality.com http://patchedreality.com
  • 2. Patched Reality, Inc Custom Augmented Reality Software Using the Best-in-breed SDK’s since 2009 http://patchedreality.com
  • 3. Agenda Mobile SDK Comparison & Tutorial Patched Reality – Patrick O’Shaughnessey SDK Vendor Tutorials • 13th Lab - Oskar Linde • metaio - Ben Blachnitzky • Qualcomm - Roy Ashok • Total Immersion - Benjamin Zysberg • Wikitude - Martin Lechner
  • 4. What’s the purpose of an AR SDK? Simplifies one or more of: • Recognition – What to track • Tracking – Where it is (3D pose) • Content rendering – Your Interesting Stuff
  • 5. Tracking Types • GPS + Compass + Gyro + Accelerometer • Marker (Fiduciary, frame, etc) • NFT (2D images) • Pre-trained • Cloud recognized • User-defined • 3D (Pre-trained point cloud) • Live 3D (SLAM) • Face, Fingers, Body • Robot
  • 6. Mobile AR SDKs Short List SDK Purpose Tracking Platform Graphics Cloud GP S License Qualcomm Vuforia 2D Images, Markers NFT, Marker, Text iOS, Android Unity3D& Alt. yes no Free Metaio SDK 2D Images, GEO, 3D, Anywhere NFT, GPS, 3D, SLAM iOS, Android Unity3D &Alt. yes yes 0-$10,000 TotalImm. D’fusion 2D Images, faces NFT, Face iOS, Android Dev: MS only Unity3D & Alt. no no 0-$10,000 WikitudeSD K 2D Images, GEO GPS, NFT iOS, Android, Blackberry HTML, Proprietary yes yes 0-$2,300 Layar SDK 2D images NFT, QR iOS, Android Proprietary yes no $3,250/ap p/yr + $20/page 13th Lab Point Cloud 2D Images, 3D, Anywhere NFT, 3D, SLAM iOS, Android Unity3D & Alt. no no 0-$5,000
  • 7. Mobile AR SDKs Short List – Cont’d SDK Purpose Tracking Platform Graphics Cloud GP S License AR Toolkit 2D Markers 2D Images NFT, Marker iOS,Android Unity3D & Alt. no no $0 (GPL) - $2,495 + royalty HP Aurasma SDK VFX, Videos on 2D Images NFT iOS, Android Proprie- tary yes yes Per click Obvious Engine 2D images, Cylinders NFT, Cyl. iOS, Android Unity3D & Alt. no no $8000/ap p/plaform String Framed 2D images Framed Image iOS Unity3D & Alt. no no $499 - $8000/ap p/year Orbotix Robotic AR Sphero iOS, Android Unity3D no no Free
  • 8. SDK Development On Ramp 1) Set up Dev Environment • Xcode (iOS) • Eclipse (Android) • Android SDK • Android NDK • Unity 3D 2) Download SDK 3) Install and run samples
  • 9. SDK Development with Unity 1) Create Project 2) Wire up SDK - camera setup, licensing, etc 3) Set up recognition and tracking configuration 4) Add scene content and interactions 5) Build, Run, Test 6) Repeat 3-5 7) Ship
  • 10. NFT Setup – ARToolkit 1) Import ARToolKit4Unity.unitypackage 2) Add ARToolkit script to empty game object 3) Create “AR foreground/background” Layers 4) Set Layer of ARToolkit object to “AR background” 5) Create NFT dataset with command-line tools 6) Add NFT dataset to StreamingAssets 7) Add Marker script to ARTookit object 8) Add TrackedCamera script to Camera 9) Set marker tag in Marker and TrackedCamera
  • 11. NFT Setup – ARToolkit 10)Set culling mask for TrackedCamera to AR foreground 11)Create Common parent object for AR content and TrackedCamera 12)Set Layer of All scene objects to “AR foreground” 13)Build Xcode project 14)Add missing libraries to target
  • 12. NFT Setup – ARToolkit Missing Libraries: Accelerate.framework (weak-linked) AudioToolbox.framework AVFoundation.framework CoreGraphics.framework CoreMedia.framework CoreVideo.framework OpenGLES.framework QuartzCore.framework libjpeg (libjpeg.a from ARToolKit for iOS) libstdc++.6
  • 13. NFT Setup - ARToolkit
  • 14. NFT Setup - ARToolkit
  • 15. NFT Setup - Vuforia 1) Import Unity package 2) Replace MainCamera with ARCamera prefab 3) Add ImageTarget prefab 4) Add content to ImageTarget 5) Create target using “Target Manager” at developer.vuforia.com 6) Download and Import target package 7) Enable Data Set load on ARCamera 8) Select Data Set and Image Target on ImageTarget 9) Build and Run 10) Add QCARUnityPlayer.h to Libraries Group in XCode
  • 16. NFT Setup - Vuforia
  • 17. SLAM Differences Pointcloud vs. metaio SLAM: - Pointcloud creates a ground plane from points - metaio aligns to gravity
  • 18. SLAM Setup – Pointcloud http://pointcloud.io 1) Import the PointCloudUnityPlugin package. 2) Add PointCloudBehavior script to camera 3) Add PointCloudSceneRoot script to scene root 4) Create script to initialize SLAM (e.g. button) 5) Set Application Key via PointCloud menu 6) Build and Run
  • 19. SLAM Setup – Pointcloud http://pointcloud.io
  • 20. SLAM Setup - metaio 1) Import metaioSDK.unitypackage 2) Add metaioSDK prefab to scene 3) Delete Main Camera 4) Generate app signature (mobiledeveloperportal.ar- live.de) 5) Add app signature to metaioSDK 6) Add metaioTracker prefab to scene 7) Add scene root to metaioTracker object 8) Add instantTracking script to metaioTracker 9) Edit instantTracking script and change trackingConfiguration to “INSTANT_3D” 10) Build and run 11) Add missing libraries to Xcode project
  • 21. SLAM Setup - metaio Missing Libraries: metaiosdk CoreMedia CoreVideo libxml2.dylib AVFoundation
  • 22. SLAM Setup - metaio https://mobiledeveloperportal.ar-live.de/index.php
  • 23. SLAM Setup - metaio
  • 24. Other Rendering Options OpenGL HTML &Javascript - 13th Lab Pointcloud Browser - metaio AREL - Wikitude