Augmented World Expo 2013 Mobile AR SDK Comparison and Tutorial


Published on

Patrick O'Shaughnessey, Founder of Patched Reality Inc, gives an overview of AR SDK tutorial options, and tutorials using 4 of the most widely used SDK's in Unity 3D.

Published in: Technology, Art & Photos
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Augmented World Expo 2013 Mobile AR SDK Comparison and Tutorial

  1. 1. Mobile AR SDK TutorialAugmented World Expo, June 3rd, 2013PatrickO’Shaughnessey@patchedrealitypatrick@patchedreality.com
  2. 2. Patched Reality, IncCustom Augmented Reality SoftwareUsing the Best-in-breed SDK’s since 2009
  3. 3. AgendaMobile SDK Comparison & TutorialPatched Reality – Patrick O’ShaughnesseySDK Vendor Tutorials• 13th Lab - Oskar Linde• metaio - Ben Blachnitzky• Qualcomm - Roy Ashok• Total Immersion - Benjamin Zysberg• Wikitude - Martin Lechner
  4. 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. 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. 6. Mobile AR SDKs Short ListSDK Purpose Tracking Platform Graphics Cloud GPSLicenseQualcommVuforia2D Images,MarkersNFT,Marker,TextiOS, Android Unity3D&Alt.yes no FreeMetaioSDK2D Images,GEO, 3D,AnywhereNFT, GPS,3D, SLAMiOS, Android Unity3D&Alt.yes yes 0-$10,000TotalImm.D’fusion2D Images,facesNFT, Face iOS, AndroidDev: MSonlyUnity3D & no 0-$10,000WikitudeSDK2D Images,GEOGPS, NFT iOS, Android,BlackberryHTML,Proprietaryyes yes 0-$2,300Layar SDK 2D images NFT, QR iOS, Android Proprietary yes no $3,250/app/yr +$20/page13th LabPoint Cloud2D Images,3D,AnywhereNFT, 3D,SLAMiOS, Android Unity3D & no 0-$5,000
  7. 7. Mobile AR SDKs Short List – Cont’dSDK Purpose Tracking Platform Graphics Cloud GPSLicenseAR Toolkit 2D Markers2D ImagesNFT,MarkeriOS,Android Unity3D & no $0 (GPL) -$2,495 +royaltyHPAurasmaSDKVFX, Videoson 2D ImagesNFT iOS, Android Proprie-taryyes yes Per clickObviousEngine2D images,CylindersNFT,Cyl.iOS, Android Unity3D & no $8000/app/plaformString Framed 2DimagesFramedImageiOS Unity3D & no $499-$8000/app/yearOrbotix Robotic AR Sphero iOS, Android Unity3D no no Free
  8. 8. SDK Development On Ramp1) Set up Dev Environment• Xcode (iOS)• Eclipse (Android)• Android SDK• Android NDK• Unity 3D2) Download SDK3) Install and run samples
  9. 9. SDK Development with Unity1) Create Project2) Wire up SDK - camera setup, licensing, etc3) Set up recognition and tracking configuration4) Add scene content and interactions5) Build, Run, Test6) Repeat 3-57) Ship
  10. 10. NFT Setup – ARToolkit1) Import ARToolKit4Unity.unitypackage2) Add ARToolkit script to empty game object3) Create “AR foreground/background” Layers4) Set Layer of ARToolkit object to “AR background”5) Create NFT dataset with command-line tools6) Add NFT dataset to StreamingAssets7) Add Marker script to ARTookit object8) Add TrackedCamera script to Camera9) Set marker tag in Marker and TrackedCamera
  11. 11. NFT Setup – ARToolkit10)Set culling mask for TrackedCamera to ARforeground11)Create Common parent object for AR contentand TrackedCamera12)Set Layer of All scene objects to “ARforeground”13)Build Xcode project14)Add missing libraries to target
  12. 12. NFT Setup – ARToolkitMissing Libraries:Accelerate.framework (weak-linked)AudioToolbox.frameworkAVFoundation.frameworkCoreGraphics.frameworkCoreMedia.frameworkCoreVideo.frameworkOpenGLES.frameworkQuartzCore.frameworklibjpeg (libjpeg.a from ARToolKit for iOS)libstdc++.6
  13. 13. NFT Setup - ARToolkit
  14. 14. NFT Setup - ARToolkit
  15. 15. NFT Setup - Vuforia1) Import Unity package2) Replace MainCamera with ARCamera prefab3) Add ImageTarget prefab4) Add content to ImageTarget5) Create target using “Target Manager” atdeveloper.vuforia.com6) Download and Import target package7) Enable Data Set load on ARCamera8) Select Data Set and Image Target on ImageTarget9) Build and Run10) Add QCARUnityPlayer.h to Libraries Group in XCode
  16. 16. NFT Setup - Vuforia
  17. 17. SLAM DifferencesPointcloud vs. metaio SLAM:- Pointcloud creates a ground plane from points- metaio aligns to gravity
  18. 18. SLAM Setup – Pointcloudhttp://pointcloud.io1) Import the PointCloudUnityPlugin package.2) Add PointCloudBehavior script to camera3) Add PointCloudSceneRoot script to scene root4) Create script to initialize SLAM (e.g. button)5) Set Application Key via PointCloud menu6) Build and Run
  19. 19. SLAM Setup – Pointcloud
  20. 20. SLAM Setup - metaio1) Import metaioSDK.unitypackage2) Add metaioSDK prefab to scene3) Delete Main Camera4) Generate app signature ( Add app signature to metaioSDK6) Add metaioTracker prefab to scene7) Add scene root to metaioTracker object8) Add instantTracking script to metaioTracker9) Edit instantTracking script and changetrackingConfiguration to “INSTANT_3D”10) Build and run11) Add missing libraries to Xcode project
  21. 21. SLAM Setup - metaioMissing Libraries:metaiosdkCoreMediaCoreVideolibxml2.dylibAVFoundation
  22. 22. SLAM Setup - metaio
  23. 23. SLAM Setup - metaio
  24. 24. Other Rendering OptionsOpenGLHTML &Javascript- 13th Lab Pointcloud Browser- metaio AREL- Wikitude
  25. 25. Tools for
  26. 26. Tools for
  27. 27. Tools for
  28. 28. Tools for Campaign Editor
  29. 29. Tools for
  30. 30. Thank You!PatrickO’Shaughnessey@patchedrealitypatrick@patchedreality.com