SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
The Glass Class:
AR on Glass
Feb 17th – 21st 2014
Mark Billinghurst, Gun Lee
HIT Lab NZ
University of Canterbury
http://www.arforglass.org
Demo
- NyARToolkit and Vuforia
- CityViewAR for Glass
Outdoor AR Framework
 Outdoor AR Visualization
 OpenGL ES based scene rendering
 GPS, inertial, compass
 Component based Framework
 Easily customizable UI
 Supports various styles of apps
 Android (+ Web Tools)
 Free download on our website
 http://www.hitlabnz.org/mobileAR
Outdoor AR Browsers
Wikitude Layar Junaio
SW Dev. Tools & Frameworks
 High-level content description
 AR Browsers
 Hard to customize app logic and UI
 Low-level functional modules
 Programming libraries
 Lack of higher-level abstraction of AR scene
and content (BYO)
Outdoor AR Framework
 High-level abstraction and low-level
programming support in a seamless way.
 Low-level functional modules
- Flexible and highly customizable
 Ready-to-use high level components
- Focus on building the interface, behavior and
content of the application rather than system
integration
 The high-level and low-level tools share the
common scene (or POI) data structure
- Both skilled and novice developers can work
together under the same framework.
Apps built with OAR Framework
[CityViewAR 2011] [CCDU 3D 2012]
[GeoBoids 3D 2012] [AntarcticAR 2012]
Outdoor AR Framework
 Covers full tier of ready-to-use
components, yet highly customizable
Mobile Device (Client)
Mobile OS
Mobile AR Application
Scene
data
Media
data
Mobile SW Library
Server
Server OS
Application Service
Scene
data
Media
data
Server SW Library
Data
Communication
(Optional)
Server Software and Tools
Web Client
(Browser)
ServerMobile Client
(App)
HTMLWeb-based
Authoring Tool
RESTful API
Scene
Database
AR View
Data
Manager
Local
cache
Javascript
Server Software and Tools
 Web-based Authoring Tool
Outdoor AR Library
Functional Component Layer
Service Component Layer
Map
Component
Scene Data Manager
AR
Component
List
Component
Tracking Data Manager
Scene Data
Structures
Tracking
Sensors
3D Graphics
Rendering
UI Views
Tools &
Utilities
3D
Sound
Map View AR View List ViewViews
Controllers
Models
Outdoor AR Library
 Customization by extending components
 Customized AR scenes
- Customize scene data structure
 Customized user interface
- Customize UI layout
- Customize UI behavior (e.g. onSceneSelected)
- Motion and touch gesture based interaction
Step-by-step Guide
 Setup the development environment
 Create an Android app
 Using the Outdoor AR Library in your app
 Adding outdoor AR scenes with 3D models
 Customizing UI
 Run on a Google Glass
Setup the dev environment
 Prerequisite
 Android Development Environment
- http://developer.android.com/sdk/index.html
- Eclipse, Android SDK
 Google Play Services Library (for maps)
 Download the Outdoor AR Library
 http://www.hitlabnz.org/mobileAR
- Download, Tutorials, Forum
Setup the dev environment
 Import the library and sample projects
 OutdoorARLibrary
 SampleOAComponent
 Dependency
 Google (not Android) API 4.1.2 (API Level 16)
 Google Play Services Library
- extras/google/google_play_services/libproject
 Android Support Library 4
- extras/android/compatibility/v4/
android-support-v4.jar
Create an Android app
 Create a new Android Application project
 Blank Activity
- “An activity is a single, focused thing that the user
can do.” – Android SDK API Reference
 Anatomy of an Android App project
 src
 res & gen
 assets
 AndroidManifest.xml
Using the OA Library in your app
 Add the Outdoor AR Library to your
project’s build path
 Add permissions in the manifest
 Add a new AR view (activity)
 Create a custom class inheriting
OAARComponentBase
 Add activity to the manifest
- Full screen landscape orientation
 Wire a button to start the AR view
Adding scenes with 3D models
 Preparing 3D model
 OBJ/MTL with JPEG or PNG textures
 OpenGL Coordinate frame
- X-right, Y-up, Z-out from screen
- North = -Z
 Placing the 3D model in the real world
 Latitude, Longitude
- http://itouchmap.com/latlong.html
 Optionally, elevation from the ground plane
 SketchUp – 3D model on Google Earth
Adding scenes with 3D models
 Adding 3D models to the project
 assets/OutdoorAR/3Dmodels/name/model.obj
 Adding scenes to the data manager
 Override onSetupScenes()
 Handling the scene selection event
 Override onSceneSelected()
 Using a mock location
 Override onCreate()
 Sensor manager’s enableMockLocation()
Loading and managing scenes
 Add scenes by code – difficult to manage
 Load from assets or local file storage
 OADataManagerAssets
 OADataManagerLocal
 SQLite or XML file
 SQLite Database Browser
 Default path
- (assets/)OutdoorAR/scenes.db
- (assets/)OutdoorAR/scenes.xml
Custom scene class
 OAScene
 Lat/Lon, 3D model, Name, Description,
Category
 Custom scene classes extend OAScene
 Override OADataManager’s loadScene()
to load in custom properties of your scene
 Cast OAScene to your custom class in
onSceneSelected() or onTouchedScene()
 Different scene classes can live together
- if(scene instanceof MyCustomScene)
Customizing UI
 Add layout resource
 Override setupUILayout()
 LayoutInflater - read in the layout res file
 addContentView() - overlay UI layout on top
of AR view
 findViewById() - get reference to the UI
elements
 onSceneSelected() vs. onTouchedScene()
Map and List views
 OAMapComponentBase, OAListComponentBase
 Similar class structure with OAARComponentBase
- Load scenes from a data manager
- setupXYZ() methods
- onSceneSelected() callback
 Map components needs API key
 Google Maps Android API v2
- OAGoogleMapsV2ComponentBase
 https://developers.google.com/maps/documentation/an
droid/start
Run your app on Google Glass
 Startup with AR
 Set AR view as a launcher activity in the app
manifest file
 Aim to select
 Use Timer to trigger touch events at the
center of the screen
 Override onResume() and onPause() to
start/stop the timer
Other tips for Google Glass
 Touch gestures
 onGenericMotionEvent()
 Swipe forward/backward/up
 Tap, double tap, tap and hold, etc.
 Head motion
 Add orientation listener to sensor manager
- getSensorManager().addSensorListener()
 Avoid conflicts with AR scene viewing motions
- Time-outs
Other tips for Google Glass
 GPS not on Glass
 Pair with Phone then use remote provider
 Stream location from a phone through
Bluetooth
 Mock location
 Turning off camera background
 Application dependent
 Override setupOptions()
 enableCameraBackground()
http://developer.android.com/guide/topics/connectivity/bluetooth.html
CityViewAR for Glass
Demo Revisited
More Information
 Website
 http://www.hitlabnz.org/mobileAR
 http://arforglass.org
 Gun Lee
 gun.lee@hitlabnz.org
 Mark Billinghurst
 mark.billinghurst@hitlabnz.org

Contenu connexe

Dernier

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 

Dernier (20)

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 

En vedette

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

En vedette (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

The Glass Class - Tutorial 5 - Augmented Reality on Glass

  • 1. The Glass Class: AR on Glass Feb 17th – 21st 2014 Mark Billinghurst, Gun Lee HIT Lab NZ University of Canterbury
  • 3. Demo - NyARToolkit and Vuforia - CityViewAR for Glass
  • 4. Outdoor AR Framework  Outdoor AR Visualization  OpenGL ES based scene rendering  GPS, inertial, compass  Component based Framework  Easily customizable UI  Supports various styles of apps  Android (+ Web Tools)  Free download on our website  http://www.hitlabnz.org/mobileAR
  • 6. SW Dev. Tools & Frameworks  High-level content description  AR Browsers  Hard to customize app logic and UI  Low-level functional modules  Programming libraries  Lack of higher-level abstraction of AR scene and content (BYO)
  • 7. Outdoor AR Framework  High-level abstraction and low-level programming support in a seamless way.  Low-level functional modules - Flexible and highly customizable  Ready-to-use high level components - Focus on building the interface, behavior and content of the application rather than system integration  The high-level and low-level tools share the common scene (or POI) data structure - Both skilled and novice developers can work together under the same framework.
  • 8. Apps built with OAR Framework [CityViewAR 2011] [CCDU 3D 2012] [GeoBoids 3D 2012] [AntarcticAR 2012]
  • 9. Outdoor AR Framework  Covers full tier of ready-to-use components, yet highly customizable Mobile Device (Client) Mobile OS Mobile AR Application Scene data Media data Mobile SW Library Server Server OS Application Service Scene data Media data Server SW Library Data Communication (Optional)
  • 10. Server Software and Tools Web Client (Browser) ServerMobile Client (App) HTMLWeb-based Authoring Tool RESTful API Scene Database AR View Data Manager Local cache Javascript
  • 11. Server Software and Tools  Web-based Authoring Tool
  • 12. Outdoor AR Library Functional Component Layer Service Component Layer Map Component Scene Data Manager AR Component List Component Tracking Data Manager Scene Data Structures Tracking Sensors 3D Graphics Rendering UI Views Tools & Utilities 3D Sound Map View AR View List ViewViews Controllers Models
  • 13. Outdoor AR Library  Customization by extending components  Customized AR scenes - Customize scene data structure  Customized user interface - Customize UI layout - Customize UI behavior (e.g. onSceneSelected) - Motion and touch gesture based interaction
  • 14. Step-by-step Guide  Setup the development environment  Create an Android app  Using the Outdoor AR Library in your app  Adding outdoor AR scenes with 3D models  Customizing UI  Run on a Google Glass
  • 15. Setup the dev environment  Prerequisite  Android Development Environment - http://developer.android.com/sdk/index.html - Eclipse, Android SDK  Google Play Services Library (for maps)  Download the Outdoor AR Library  http://www.hitlabnz.org/mobileAR - Download, Tutorials, Forum
  • 16. Setup the dev environment  Import the library and sample projects  OutdoorARLibrary  SampleOAComponent  Dependency  Google (not Android) API 4.1.2 (API Level 16)  Google Play Services Library - extras/google/google_play_services/libproject  Android Support Library 4 - extras/android/compatibility/v4/ android-support-v4.jar
  • 17. Create an Android app  Create a new Android Application project  Blank Activity - “An activity is a single, focused thing that the user can do.” – Android SDK API Reference  Anatomy of an Android App project  src  res & gen  assets  AndroidManifest.xml
  • 18. Using the OA Library in your app  Add the Outdoor AR Library to your project’s build path  Add permissions in the manifest  Add a new AR view (activity)  Create a custom class inheriting OAARComponentBase  Add activity to the manifest - Full screen landscape orientation  Wire a button to start the AR view
  • 19. Adding scenes with 3D models  Preparing 3D model  OBJ/MTL with JPEG or PNG textures  OpenGL Coordinate frame - X-right, Y-up, Z-out from screen - North = -Z  Placing the 3D model in the real world  Latitude, Longitude - http://itouchmap.com/latlong.html  Optionally, elevation from the ground plane  SketchUp – 3D model on Google Earth
  • 20. Adding scenes with 3D models  Adding 3D models to the project  assets/OutdoorAR/3Dmodels/name/model.obj  Adding scenes to the data manager  Override onSetupScenes()  Handling the scene selection event  Override onSceneSelected()  Using a mock location  Override onCreate()  Sensor manager’s enableMockLocation()
  • 21. Loading and managing scenes  Add scenes by code – difficult to manage  Load from assets or local file storage  OADataManagerAssets  OADataManagerLocal  SQLite or XML file  SQLite Database Browser  Default path - (assets/)OutdoorAR/scenes.db - (assets/)OutdoorAR/scenes.xml
  • 22. Custom scene class  OAScene  Lat/Lon, 3D model, Name, Description, Category  Custom scene classes extend OAScene  Override OADataManager’s loadScene() to load in custom properties of your scene  Cast OAScene to your custom class in onSceneSelected() or onTouchedScene()  Different scene classes can live together - if(scene instanceof MyCustomScene)
  • 23. Customizing UI  Add layout resource  Override setupUILayout()  LayoutInflater - read in the layout res file  addContentView() - overlay UI layout on top of AR view  findViewById() - get reference to the UI elements  onSceneSelected() vs. onTouchedScene()
  • 24. Map and List views  OAMapComponentBase, OAListComponentBase  Similar class structure with OAARComponentBase - Load scenes from a data manager - setupXYZ() methods - onSceneSelected() callback  Map components needs API key  Google Maps Android API v2 - OAGoogleMapsV2ComponentBase  https://developers.google.com/maps/documentation/an droid/start
  • 25. Run your app on Google Glass  Startup with AR  Set AR view as a launcher activity in the app manifest file  Aim to select  Use Timer to trigger touch events at the center of the screen  Override onResume() and onPause() to start/stop the timer
  • 26. Other tips for Google Glass  Touch gestures  onGenericMotionEvent()  Swipe forward/backward/up  Tap, double tap, tap and hold, etc.  Head motion  Add orientation listener to sensor manager - getSensorManager().addSensorListener()  Avoid conflicts with AR scene viewing motions - Time-outs
  • 27. Other tips for Google Glass  GPS not on Glass  Pair with Phone then use remote provider  Stream location from a phone through Bluetooth  Mock location  Turning off camera background  Application dependent  Override setupOptions()  enableCameraBackground() http://developer.android.com/guide/topics/connectivity/bluetooth.html
  • 29. More Information  Website  http://www.hitlabnz.org/mobileAR  http://arforglass.org  Gun Lee  gun.lee@hitlabnz.org  Mark Billinghurst  mark.billinghurst@hitlabnz.org