SlideShare una empresa de Scribd logo
1 de 96
Descargar para leer sin conexión
Mobile Augmented Reality
       Using Junaio
          Mark Billinghurst
    mark.billinghurst@hitlabnz.org

            HIT Lab NZ
      University of Canterbury
www.junaio.com




  AR browser developed by Metaio for iOS/Android
  Popular with many advanced features
Key Features
  Content provided in information channels
     Over 2,000 channels available
  Two types of AR channels
     GLUE channels – visual tracking
     Location based channels – GPS, compass tracking
  Simple to use interface with multiple views
     List, map, AR (live) view
  Point of Interest (POI) based
     POIs are geo-located content
Try it Yourself
  Download Junaio (app store, android market)
     Search for Junaio
  Run Junaio
  To try Glue channels
     Download the Junaio Demo Book from www.junaio.com
     Hit scan button, point at QR codes
  To try Location channels
     Hit search icon in Junaio
     Click popular tab, pick channel (eg “Flickr”)
Junaio Interface (Location Based)
                                       Scan
                       View            Mode
         Current       Mode
Search   Channel                   Radar
Icon                               Display




AR Tag
Selecting an AR Tag




  Selecting a POI shows more information
Multiple Views




List View                             Map View

                AR (Live) View



   Select View Mode to see different views
QR Code Launch




  Hit scan button on interface, point at QR code
Glue Tracking - Markerless




  Search for “instant tracker”
How Junaio Works
Back-end Servers
Data Flow
Creating Your First POI
You will Need
  A Junaio developer account
     Create at dev.junaio.com
  A web server where content can be uploaded
     Eg free server from http://www.000webhost.com/
  GPS Location of POI
  POI content
     Text, 2D image, etc
Free Webserver




  Other options also available
Finding the POI location




  Use Google maps, right click the POI location
  Copy Lat/Long information
Server Content
  Download “Hello World” template content
     Available from http://www.junaio.com/develop/quickstart/
  Edit on local machine
     Edit index.php to add POI information
     Use own POI icon
  Upload to web server
Edit index.php
                                         POI icon




                                        POI location




                                      POI pop-up info


  Edit index.php to add your own POI information
Create a New Channel




  Click ‘My channels’ then ‘Create a New Channel’
Fill Out the New Channel Form
Channel Creation
  Use any name and channel description
  Channel Type: Location Based Channel
  Callback URL is most important
     Path to the index.php file on your server
     Eg: http://www.junaiotest.comze.com/JunaioTest/1HelloWorld/?path=
  Note ?path= at end of URL, you may not need this
  Once channel is saved then it is added to My Channels list
  Next Validate the Channel
Channel Validation




  Runs a number of tests to see if server path is
   correct, if content is there, returned code correct
Validation Tests
Expand Results – shows XML feedback
Loading the Channel
  If the Channel is validated you can run it
  Either login into Junaio and enter developer mode
     Channel appears under ‘My Favourites’
  Or use QR code from My Channel page
AR Outcome
XML Parameters




  Many XML Parameters can be set
     See http://www.junaio.com/develop/docs/arel-xml-schemaxml-parameters/
Adding More POI – edit index.php
<results>
      <object id="1”>
                          //Define POI One
                          <location>
                                      <lat>-43.536743</lat>
                                      <lon>172.587705</lon>   POI One Location
                                      <alt>0</alt>
                          </location>
             </object>
             <object id="2">
                         //Define POI Two
                         <location>
                                     <lat>-43.536743</lat>
                                     <lon>172.587000</lon>    POI Two Location
                                     <alt>0</alt>
                         </location>
             </object>
     </results>";
Junaio Results
Limitations of Plain XML
  No interactivity
     Only simple pop-ups
  No user interface Customizations
     Can only use Junaio GUI elements
  No local interactivity
     Always needs remote server connection
Junaio AREL
AREL
  Augmented Reality Environment Language
    Overcomes limitations of XML by itself
    Based on web technologies; XML, HTML5, JavaScript
  Core Components
  1.  AREL XML: Static file, specifies scene content
  2.  AREL JavaScript: Handles all interactions and animation. Any
      user interaction send an event to AREL JS
  3.  AREL HTML5: GUI Elements. Buttons, icons, etc
  Advantages
      Scripting on device, more functionality, GUI customization
Example 2: Customizing your POI
  Using AREL HTML5 to develop custom interface
  Download Tutorial 2
     http://www.junaio.com/develop/quickstart/customizing-your-
      pois-images-sounds-videos-and-more/
  In Example 1 edited index.php, now use search.php
index.php




  Just loads search.php
search.php
  Loads the AREL helper classes
     php code providing valid information to Junaio
  Contains Channel Definition
  1.  Start it
          startArelXMLHelper::start(NULL, WWW_ROOT . "/arel/index.php");
  2.  Return objects
          ArelXMLHelper::outputObject($oObject);
  3.  End it
          ArelXMLHelper::end();
Defining a POI
//1. Sound POI
$oObject = ArelXMLHelper::createLocationBasedPOI(
       "1", //id
       "Hello Sound POI", //title
       array(48.12310, 11.218648, 0), //location
       WWW_ROOT . "/resources/thumb_sound.png", //thumb
       WWW_ROOT . "/resources/icon_sound.png", //icon
       "This is our Sound POI", //description
       array(array("Start Audio", "soundButton", "http://www.junaio.com/publisherDownload/
      tutorial/test.mp3")) //buttons
   );

//output the object
ArelXMLHelper::outputObject($oObject);
Location Based POI
AR Application Running
Loading a 3D model
Example 3: Loading a 3D Model
  Position a model relative to the user position
  if(!empty($_GET['l']))
         $position = explode(",", $_GET['l']);

  //calculate the position of T-Rex based on the position of the request. An offset is added to
          the latitude value.
  $tRexLocation = $position;
  $tRexLocation[0] += 0.00004;


Use createLocationBasedModel3D to load 3D model
createLocationBasedModel3D
Loading T-Rex
//T-Rex as static obj
$oObject = ArelXMLHelper::createLocationBasedModel3D(
      "trex", //ID
      "The T-Rex", //name
      "http://dev.junaio.com/publisherDownload/junaio_model_obj.zip", //model
      NULL, //texture
      $tRexLocation, //position
      array(5,5,5), //scale
      new ArelRotation(ArelRotation::ROTATION_EULERDEG, array(0,-90,0)) //rotation
);
Result
3D Models
  Junaio supports two model formats:
     MD2: Animated models, simple textures
     OBJ: Static models, high quality textures
  Use OBJ for high quality static models, MD2 for animated
  Making Models
     Make Models using Blender or similar tools
     May need file conversion tools
     Limit size to 500 – 1000 polygons/model
  See http://www.junaio.com/develop/docs/3d-models/
Adding Interactivity
Basic Interactivity
  Add a button on screen to move virtual character
  Use the following
     HTML: button specification
     Javascript: Interaction
     PHP/XML: 3D model
  Junaio Tutorial 5
     http://www.junaio.com/develop/quickstart/advanced-
      interactions-and-location-based-model-3ds/
Server File Structure

                HTML – GUI




                    JavaScript - interactivity


               Main Index




                 PHP - content
search.php – specify Lego Man
if(!empty($_GET['l']))
    $position = explode(",", $_GET['l']);                        Use local position
…
//return the lego man
$oLegoMan = ArelXMLHelper::createLocationBasedModel3D(
     "1", // id                                             Lego model and texture
     "lego man", //title
     WWW_ROOT . "/resources/walking_model3_7fps.md2", // mainresource
     WWW_ROOT . "/resources/walking_model.png", // resource
     $position, // location
     array(0.2, 0.2, 0.2), // scale
     new ArelRotation(ArelRotation::ROTATION_EULERRAD, array(1.57,0,1.57)) // rotation
);
…
styles.css – HTML GUI
#buttons {
     position: absolute;
     bottom: 44px;                             Button location
     right: 44px;
}

.ipad div {
      width: 104px;
      height: 106px;
}

                                                           Button style
#buttons div {
     background-image: url("../images/button.png");
     background-repeat: no-repeat;
     background-size: 100%;
   float:       left;
}
Logic_LBS5.js - JavaScript
  Create an event listener
     setEventListener();
  Add functionality to model object
     Load model from scene
     Adding model behaviours
  Add functionality to GUI objects
     Define the event listener
     Bind model behaviours to GUI objects
Result
Creating A Glue Channel
Glue Channels
  “Gluing” virtual content to normal printed material
  Key steps
     Creating tracking pattern dataset
     Specify relationship of content to pattern (AREL)
  Junaio “Hello Glue” example
     http://www.junaio.com/develop/quickstart/hello-glue/
Create a Tracking Data Set




  Generate the tracking XML file
     http://dev.junaio.com/tools/trackingxmlcreator
index.php – XML code
  Specify tracking pattern
   <results trackingurl="http://dev.junaio.com/publisherDownload/tutorial/tracking_tutorial.zip">

  Specify Model
  <assets3d>
     <model><![CDATA[http://dev.junaio.com/publisherDownload/tutorial/ metaioman.md2]]></
  model>
     <texture><![CDATA[http://dev.junaio.com/publisherDownload/tutorial/ metaioman.png]]></
  texture>
     <transform>
            [Put transform information here]
     </transform>
  </assets3d>

  Attach model to tracking pattern
  <properties>                  
     <coordinatesystemid>1</coordinatesystemid>               
  </properties>  
Using AREL
  require_once dirname(dirname(dirname((dirname(__FILE__))))) . "/libArel/arel_xmlhelper.class.php";

ArelXMLHelper::start(NULL, NULL, "http://dev.junaio.com/publisherDownload/tutorial/
    tracking_tutorial.zip");
                                                                            Tracking Pattern
$oObject = ArelXMLHelper::createGLUEModel3D(
      "1", //ID
   "http://dev.junaio.com/publisherDownload/tutorial/metaioman.md2", //model Path
   "http://dev.junaio.com/publisherDownload/tutorial/metaioman.png", //texture Path
                                                                                           Model
   array(0,-100,0), //translation
   array(3,3,3), //scale                                                                 Position
   new ArelRotation(ArelRotation::ROTATION_EULERDEG, array(-90,0,0)), //rotation
   1 //CoordinateSystemID
);

ArelXMLHelper::outputObject($oObject);
ArelXMLHelper::end();
Result
Good Tracking Patterns
    pattern that is highly structured
    lot of visual hints with different colors
    high contrasts and sharp edges
    pattern in a "common" format,
       square format or rectangle format in 3:2 or 4:3 or similar
  not too dark and no reflection points
  shortest side of the image 150 – 200 pixels
Good Examples
Bad Tracking Patterns
  Reference Image not flat and blurry
  Shadows create false contrasts 
  Angled reference images create false reference
   orientation
  Pattern too bright or dark
  Angled with surrounding information
Bad Examples
Authoring Tools
BirdsView - http://www.birdsview.de/




  Location Based CMS
    Add content, publish to Layar or Junaio
BirdsView on Junaio
BirdsView on Junaio
Limitations
  BirdsView Branding
     Their logo, not yours
  Limited POI Content
     Images, Text, URL
  Public Channel
     Your content + everyone else's
Hoppala Augmentation




  http://www.hoppala-agency.com/
  Rich media overlay
Hoppala in Junaio
Metaio Creator




  Drag and drop Junaio authoring
BuildAR – buildar.com
Resources
Book Demos
Resources




•  Developer documentation
  –  http://www.junaio.com/develop/docs/
•  Google Group
  –  https://groups.google.com/forum/?fromgroups#!forum/junaio-
     developer
Conclusions
Conclusions
•  Mobile AR
  –  Ideal for location based experiences
      – Tourism, cultural information
  –  Commercially available software
      – Junaio, Wikitude, Layar, etc
  –  Important research problems need to be solved
     – tracking
     – interaction
     – information management
More Information

•  Mark Billinghurst	

   –  mark.billinghurst@hitlabnz.org	

•  Website	

   –  www.hitlabnz.org

Más contenido relacionado

Destacado

Mobile AR Lecture 5 - Location Based AR
Mobile AR Lecture 5 - Location Based ARMobile AR Lecture 5 - Location Based AR
Mobile AR Lecture 5 - Location Based ARMark Billinghurst
 
Mobile AR SDK Tutorial - Augmented World Expo New York 2014
Mobile AR SDK Tutorial - Augmented World Expo New York 2014Mobile AR SDK Tutorial - Augmented World Expo New York 2014
Mobile AR SDK Tutorial - Augmented World Expo New York 2014Patrick O'Shaughnessey
 
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 TomorrowAnna Harris
 
Augmented World Expo 2013 Mobile AR SDK Comparison and Tutorial
Augmented World Expo 2013 Mobile AR SDK Comparison and TutorialAugmented World Expo 2013 Mobile AR SDK Comparison and Tutorial
Augmented World Expo 2013 Mobile AR SDK Comparison and TutorialPatrick O'Shaughnessey
 
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 publishersLayar
 
Mobile AR Lecture 7 - Introduction to Vuforia
Mobile AR Lecture 7 - Introduction to VuforiaMobile AR Lecture 7 - Introduction to Vuforia
Mobile AR Lecture 7 - Introduction to VuforiaMark Billinghurst
 
Layar introduction for developers
Layar introduction for developersLayar introduction for developers
Layar introduction for developersLayar
 
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 mobileHari Gottipati
 

Destacado (9)

Mobile AR Lecture 5 - Location Based AR
Mobile AR Lecture 5 - Location Based ARMobile AR Lecture 5 - Location Based AR
Mobile AR Lecture 5 - Location Based AR
 
Mobile AR SDK Tutorial - Augmented World Expo New York 2014
Mobile AR SDK Tutorial - Augmented World Expo New York 2014Mobile AR SDK Tutorial - Augmented World Expo New York 2014
Mobile AR SDK Tutorial - Augmented World Expo New York 2014
 
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
 
Augmented World Expo 2013 Mobile AR SDK Comparison and Tutorial
Augmented World Expo 2013 Mobile AR SDK Comparison and TutorialAugmented World Expo 2013 Mobile AR SDK Comparison and Tutorial
Augmented World Expo 2013 Mobile AR SDK Comparison and Tutorial
 
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
 
Mobile AR Lecture 7 - Introduction to Vuforia
Mobile AR Lecture 7 - Introduction to VuforiaMobile AR Lecture 7 - Introduction to Vuforia
Mobile AR Lecture 7 - Introduction to Vuforia
 
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
 

Similar a Mobile Augmented Reality Using Junaio

HTML5 on Mobile
HTML5 on MobileHTML5 on Mobile
HTML5 on MobileAdam Lu
 
Programming For Google Wave
Programming For Google WaveProgramming For Google Wave
Programming For Google WaveRodrigo Borges
 
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)Igor Bronovskyy
 
Web APIs & Apps - Mozilla
Web APIs & Apps - MozillaWeb APIs & Apps - Mozilla
Web APIs & Apps - MozillaRobert Nyman
 
Apache Cordova In Action
Apache Cordova In ActionApache Cordova In Action
Apache Cordova In ActionHazem Saleh
 
Bringing the open web and APIs to mobile devices with Firefox OS - Whisky W...
 	Bringing the open web and APIs to mobile devices with Firefox OS - Whisky W... 	Bringing the open web and APIs to mobile devices with Firefox OS - Whisky W...
Bringing the open web and APIs to mobile devices with Firefox OS - Whisky W...Robert Nyman
 
Introduction to Android using PhoneGap
Introduction to Android using PhoneGapIntroduction to Android using PhoneGap
Introduction to Android using PhoneGapOrisysIndia
 
Lecture 12 - Maps, AR_VR_aaaaHardware.pptx
Lecture 12 - Maps, AR_VR_aaaaHardware.pptxLecture 12 - Maps, AR_VR_aaaaHardware.pptx
Lecture 12 - Maps, AR_VR_aaaaHardware.pptxNgLQun
 
[JavaLand 2015] Developing JavaScript Mobile Apps Using Apache Cordova
[JavaLand 2015] Developing JavaScript Mobile Apps Using Apache Cordova[JavaLand 2015] Developing JavaScript Mobile Apps Using Apache Cordova
[JavaLand 2015] Developing JavaScript Mobile Apps Using Apache CordovaHazem Saleh
 
Firefox OS workshop, Colombia
Firefox OS workshop, ColombiaFirefox OS workshop, Colombia
Firefox OS workshop, ColombiaRobert Nyman
 
Introduction to Apache Cordova (Phonegap)
Introduction to Apache Cordova (Phonegap)Introduction to Apache Cordova (Phonegap)
Introduction to Apache Cordova (Phonegap)ejlp12
 
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, NCJim Tochterman
 
Relevance trilogy may dream be with you! (dec17)
Relevance trilogy  may dream be with you! (dec17)Relevance trilogy  may dream be with you! (dec17)
Relevance trilogy may dream be with you! (dec17)Woonsan Ko
 
HTML5 for Rich User Experience
HTML5 for Rich User ExperienceHTML5 for Rich User Experience
HTML5 for Rich User ExperienceMahbubur Rahman
 
Making your site mobile-friendly - DevCSI Reading 21.07.2010
Making your site mobile-friendly - DevCSI Reading 21.07.2010Making your site mobile-friendly - DevCSI Reading 21.07.2010
Making your site mobile-friendly - DevCSI Reading 21.07.2010Patrick Lauke
 
Apps development for Recon HUDs
Apps development for Recon HUDsApps development for Recon HUDs
Apps development for Recon HUDsXavier Hallade
 
[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache Cordova
[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache Cordova[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache Cordova
[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache CordovaHazem Saleh
 

Similar a Mobile Augmented Reality Using Junaio (20)

HTML5 on Mobile
HTML5 on MobileHTML5 on Mobile
HTML5 on Mobile
 
Programming For Google Wave
Programming For Google WaveProgramming For Google Wave
Programming For Google Wave
 
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
 
Web APIs & Apps - Mozilla
Web APIs & Apps - MozillaWeb APIs & Apps - Mozilla
Web APIs & Apps - Mozilla
 
Apache Cordova In Action
Apache Cordova In ActionApache Cordova In Action
Apache Cordova In Action
 
Bringing the open web and APIs to mobile devices with Firefox OS - Whisky W...
 	Bringing the open web and APIs to mobile devices with Firefox OS - Whisky W... 	Bringing the open web and APIs to mobile devices with Firefox OS - Whisky W...
Bringing the open web and APIs to mobile devices with Firefox OS - Whisky W...
 
Introduction to Android using PhoneGap
Introduction to Android using PhoneGapIntroduction to Android using PhoneGap
Introduction to Android using PhoneGap
 
Lecture 12 - Maps, AR_VR_aaaaHardware.pptx
Lecture 12 - Maps, AR_VR_aaaaHardware.pptxLecture 12 - Maps, AR_VR_aaaaHardware.pptx
Lecture 12 - Maps, AR_VR_aaaaHardware.pptx
 
04 objective-c session 4
04  objective-c session 404  objective-c session 4
04 objective-c session 4
 
Html5 Overview
Html5 OverviewHtml5 Overview
Html5 Overview
 
[JavaLand 2015] Developing JavaScript Mobile Apps Using Apache Cordova
[JavaLand 2015] Developing JavaScript Mobile Apps Using Apache Cordova[JavaLand 2015] Developing JavaScript Mobile Apps Using Apache Cordova
[JavaLand 2015] Developing JavaScript Mobile Apps Using Apache Cordova
 
Firefox OS workshop, Colombia
Firefox OS workshop, ColombiaFirefox OS workshop, Colombia
Firefox OS workshop, Colombia
 
Introduction to Apache Cordova (Phonegap)
Introduction to Apache Cordova (Phonegap)Introduction to Apache Cordova (Phonegap)
Introduction to Apache Cordova (Phonegap)
 
Create a Layar with Drupal
Create a Layar with DrupalCreate a Layar with Drupal
Create a Layar with Drupal
 
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
 
Relevance trilogy may dream be with you! (dec17)
Relevance trilogy  may dream be with you! (dec17)Relevance trilogy  may dream be with you! (dec17)
Relevance trilogy may dream be with you! (dec17)
 
HTML5 for Rich User Experience
HTML5 for Rich User ExperienceHTML5 for Rich User Experience
HTML5 for Rich User Experience
 
Making your site mobile-friendly - DevCSI Reading 21.07.2010
Making your site mobile-friendly - DevCSI Reading 21.07.2010Making your site mobile-friendly - DevCSI Reading 21.07.2010
Making your site mobile-friendly - DevCSI Reading 21.07.2010
 
Apps development for Recon HUDs
Apps development for Recon HUDsApps development for Recon HUDs
Apps development for Recon HUDs
 
[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache Cordova
[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache Cordova[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache Cordova
[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache Cordova
 

Más de Mark Billinghurst

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Future Research Directions for Augmented Reality
Future Research Directions for Augmented RealityFuture Research Directions for Augmented Reality
Future Research Directions for Augmented RealityMark Billinghurst
 
Evaluation Methods for Social XR Experiences
Evaluation Methods for Social XR ExperiencesEvaluation Methods for Social XR Experiences
Evaluation Methods for Social XR ExperiencesMark Billinghurst
 
Empathic Computing: Delivering the Potential of the Metaverse
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the MetaverseMark Billinghurst
 
Empathic Computing: Capturing the Potential of the Metaverse
Empathic Computing: Capturing the Potential of the MetaverseEmpathic Computing: Capturing the Potential of the Metaverse
Empathic Computing: Capturing the Potential of the MetaverseMark Billinghurst
 
Talk to Me: Using Virtual Avatars to Improve Remote Collaboration
Talk to Me: Using Virtual Avatars to Improve Remote CollaborationTalk to Me: Using Virtual Avatars to Improve Remote Collaboration
Talk to Me: Using Virtual Avatars to Improve Remote CollaborationMark Billinghurst
 
Empathic Computing: Designing for the Broader Metaverse
Empathic Computing: Designing for the Broader MetaverseEmpathic Computing: Designing for the Broader Metaverse
Empathic Computing: Designing for the Broader MetaverseMark Billinghurst
 
2022 COMP 4010 Lecture 7: Introduction to VR
2022 COMP 4010 Lecture 7: Introduction to VR2022 COMP 4010 Lecture 7: Introduction to VR
2022 COMP 4010 Lecture 7: Introduction to VRMark Billinghurst
 
2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR Systems2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR SystemsMark Billinghurst
 
Novel Interfaces for AR Systems
Novel Interfaces for AR SystemsNovel Interfaces for AR Systems
Novel Interfaces for AR SystemsMark Billinghurst
 
2022 COMP4010 Lecture5: AR Prototyping
2022 COMP4010 Lecture5: AR Prototyping2022 COMP4010 Lecture5: AR Prototyping
2022 COMP4010 Lecture5: AR PrototypingMark Billinghurst
 
2022 COMP4010 Lecture4: AR Interaction
2022 COMP4010 Lecture4: AR Interaction2022 COMP4010 Lecture4: AR Interaction
2022 COMP4010 Lecture4: AR InteractionMark Billinghurst
 
2022 COMP4010 Lecture3: AR Technology
2022 COMP4010 Lecture3: AR Technology2022 COMP4010 Lecture3: AR Technology
2022 COMP4010 Lecture3: AR TechnologyMark Billinghurst
 
2022 COMP4010 Lecture2: Perception
2022 COMP4010 Lecture2: Perception2022 COMP4010 Lecture2: Perception
2022 COMP4010 Lecture2: PerceptionMark Billinghurst
 
2022 COMP4010 Lecture1: Introduction to XR
2022 COMP4010 Lecture1: Introduction to XR2022 COMP4010 Lecture1: Introduction to XR
2022 COMP4010 Lecture1: Introduction to XRMark Billinghurst
 
Empathic Computing and Collaborative Immersive Analytics
Empathic Computing and Collaborative Immersive AnalyticsEmpathic Computing and Collaborative Immersive Analytics
Empathic Computing and Collaborative Immersive AnalyticsMark Billinghurst
 
Empathic Computing: Developing for the Whole Metaverse
Empathic Computing: Developing for the Whole MetaverseEmpathic Computing: Developing for the Whole Metaverse
Empathic Computing: Developing for the Whole MetaverseMark Billinghurst
 

Más de Mark Billinghurst (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Future Research Directions for Augmented Reality
Future Research Directions for Augmented RealityFuture Research Directions for Augmented Reality
Future Research Directions for Augmented Reality
 
Evaluation Methods for Social XR Experiences
Evaluation Methods for Social XR ExperiencesEvaluation Methods for Social XR Experiences
Evaluation Methods for Social XR Experiences
 
Empathic Computing: Delivering the Potential of the Metaverse
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the Metaverse
 
Empathic Computing: Capturing the Potential of the Metaverse
Empathic Computing: Capturing the Potential of the MetaverseEmpathic Computing: Capturing the Potential of the Metaverse
Empathic Computing: Capturing the Potential of the Metaverse
 
Talk to Me: Using Virtual Avatars to Improve Remote Collaboration
Talk to Me: Using Virtual Avatars to Improve Remote CollaborationTalk to Me: Using Virtual Avatars to Improve Remote Collaboration
Talk to Me: Using Virtual Avatars to Improve Remote Collaboration
 
Empathic Computing: Designing for the Broader Metaverse
Empathic Computing: Designing for the Broader MetaverseEmpathic Computing: Designing for the Broader Metaverse
Empathic Computing: Designing for the Broader Metaverse
 
2022 COMP 4010 Lecture 7: Introduction to VR
2022 COMP 4010 Lecture 7: Introduction to VR2022 COMP 4010 Lecture 7: Introduction to VR
2022 COMP 4010 Lecture 7: Introduction to VR
 
2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR Systems2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR Systems
 
ISS2022 Keynote
ISS2022 KeynoteISS2022 Keynote
ISS2022 Keynote
 
Novel Interfaces for AR Systems
Novel Interfaces for AR SystemsNovel Interfaces for AR Systems
Novel Interfaces for AR Systems
 
2022 COMP4010 Lecture5: AR Prototyping
2022 COMP4010 Lecture5: AR Prototyping2022 COMP4010 Lecture5: AR Prototyping
2022 COMP4010 Lecture5: AR Prototyping
 
2022 COMP4010 Lecture4: AR Interaction
2022 COMP4010 Lecture4: AR Interaction2022 COMP4010 Lecture4: AR Interaction
2022 COMP4010 Lecture4: AR Interaction
 
2022 COMP4010 Lecture3: AR Technology
2022 COMP4010 Lecture3: AR Technology2022 COMP4010 Lecture3: AR Technology
2022 COMP4010 Lecture3: AR Technology
 
2022 COMP4010 Lecture2: Perception
2022 COMP4010 Lecture2: Perception2022 COMP4010 Lecture2: Perception
2022 COMP4010 Lecture2: Perception
 
2022 COMP4010 Lecture1: Introduction to XR
2022 COMP4010 Lecture1: Introduction to XR2022 COMP4010 Lecture1: Introduction to XR
2022 COMP4010 Lecture1: Introduction to XR
 
Empathic Computing and Collaborative Immersive Analytics
Empathic Computing and Collaborative Immersive AnalyticsEmpathic Computing and Collaborative Immersive Analytics
Empathic Computing and Collaborative Immersive Analytics
 
Metaverse Learning
Metaverse LearningMetaverse Learning
Metaverse Learning
 
Empathic Computing: Developing for the Whole Metaverse
Empathic Computing: Developing for the Whole MetaverseEmpathic Computing: Developing for the Whole Metaverse
Empathic Computing: Developing for the Whole Metaverse
 

Último

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
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
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
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
 
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
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
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
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
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
 
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
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 

Último (20)

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
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
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
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
 
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
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
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
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
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
 
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
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 

Mobile Augmented Reality Using Junaio

  • 1. Mobile Augmented Reality Using Junaio Mark Billinghurst mark.billinghurst@hitlabnz.org HIT Lab NZ University of Canterbury
  • 2.
  • 3. www.junaio.com   AR browser developed by Metaio for iOS/Android   Popular with many advanced features
  • 4.
  • 5.
  • 6.
  • 7.
  • 8. Key Features   Content provided in information channels   Over 2,000 channels available   Two types of AR channels   GLUE channels – visual tracking   Location based channels – GPS, compass tracking   Simple to use interface with multiple views   List, map, AR (live) view   Point of Interest (POI) based   POIs are geo-located content
  • 9. Try it Yourself   Download Junaio (app store, android market)   Search for Junaio   Run Junaio   To try Glue channels   Download the Junaio Demo Book from www.junaio.com   Hit scan button, point at QR codes   To try Location channels   Hit search icon in Junaio   Click popular tab, pick channel (eg “Flickr”)
  • 10. Junaio Interface (Location Based) Scan View Mode Current Mode Search Channel Radar Icon Display AR Tag
  • 11. Selecting an AR Tag   Selecting a POI shows more information
  • 12. Multiple Views List View Map View AR (Live) View   Select View Mode to see different views
  • 13. QR Code Launch   Hit scan button on interface, point at QR code
  • 14. Glue Tracking - Markerless   Search for “instant tracker”
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 30.
  • 31. You will Need   A Junaio developer account   Create at dev.junaio.com   A web server where content can be uploaded   Eg free server from http://www.000webhost.com/   GPS Location of POI   POI content   Text, 2D image, etc
  • 32. Free Webserver   Other options also available
  • 33. Finding the POI location   Use Google maps, right click the POI location   Copy Lat/Long information
  • 34. Server Content   Download “Hello World” template content   Available from http://www.junaio.com/develop/quickstart/   Edit on local machine   Edit index.php to add POI information   Use own POI icon   Upload to web server
  • 35. Edit index.php POI icon POI location POI pop-up info   Edit index.php to add your own POI information
  • 36. Create a New Channel   Click ‘My channels’ then ‘Create a New Channel’
  • 37. Fill Out the New Channel Form
  • 38. Channel Creation   Use any name and channel description   Channel Type: Location Based Channel   Callback URL is most important   Path to the index.php file on your server   Eg: http://www.junaiotest.comze.com/JunaioTest/1HelloWorld/?path=   Note ?path= at end of URL, you may not need this   Once channel is saved then it is added to My Channels list   Next Validate the Channel
  • 39. Channel Validation   Runs a number of tests to see if server path is correct, if content is there, returned code correct
  • 41. Expand Results – shows XML feedback
  • 42. Loading the Channel   If the Channel is validated you can run it   Either login into Junaio and enter developer mode   Channel appears under ‘My Favourites’   Or use QR code from My Channel page
  • 44. XML Parameters   Many XML Parameters can be set   See http://www.junaio.com/develop/docs/arel-xml-schemaxml-parameters/
  • 45. Adding More POI – edit index.php <results> <object id="1”> //Define POI One <location> <lat>-43.536743</lat> <lon>172.587705</lon> POI One Location <alt>0</alt> </location> </object> <object id="2"> //Define POI Two <location> <lat>-43.536743</lat> <lon>172.587000</lon> POI Two Location <alt>0</alt> </location> </object> </results>";
  • 47. Limitations of Plain XML   No interactivity   Only simple pop-ups   No user interface Customizations   Can only use Junaio GUI elements   No local interactivity   Always needs remote server connection
  • 49. AREL   Augmented Reality Environment Language   Overcomes limitations of XML by itself   Based on web technologies; XML, HTML5, JavaScript   Core Components 1.  AREL XML: Static file, specifies scene content 2.  AREL JavaScript: Handles all interactions and animation. Any user interaction send an event to AREL JS 3.  AREL HTML5: GUI Elements. Buttons, icons, etc   Advantages   Scripting on device, more functionality, GUI customization
  • 50.
  • 51.
  • 52.
  • 53. Example 2: Customizing your POI   Using AREL HTML5 to develop custom interface   Download Tutorial 2   http://www.junaio.com/develop/quickstart/customizing-your- pois-images-sounds-videos-and-more/   In Example 1 edited index.php, now use search.php
  • 55. search.php   Loads the AREL helper classes   php code providing valid information to Junaio   Contains Channel Definition 1.  Start it startArelXMLHelper::start(NULL, WWW_ROOT . "/arel/index.php"); 2.  Return objects ArelXMLHelper::outputObject($oObject); 3.  End it ArelXMLHelper::end();
  • 56. Defining a POI //1. Sound POI $oObject = ArelXMLHelper::createLocationBasedPOI( "1", //id "Hello Sound POI", //title array(48.12310, 11.218648, 0), //location WWW_ROOT . "/resources/thumb_sound.png", //thumb WWW_ROOT . "/resources/icon_sound.png", //icon "This is our Sound POI", //description array(array("Start Audio", "soundButton", "http://www.junaio.com/publisherDownload/ tutorial/test.mp3")) //buttons ); //output the object ArelXMLHelper::outputObject($oObject);
  • 59. Loading a 3D model
  • 60. Example 3: Loading a 3D Model   Position a model relative to the user position if(!empty($_GET['l'])) $position = explode(",", $_GET['l']); //calculate the position of T-Rex based on the position of the request. An offset is added to the latitude value. $tRexLocation = $position; $tRexLocation[0] += 0.00004; Use createLocationBasedModel3D to load 3D model
  • 62. Loading T-Rex //T-Rex as static obj $oObject = ArelXMLHelper::createLocationBasedModel3D( "trex", //ID "The T-Rex", //name "http://dev.junaio.com/publisherDownload/junaio_model_obj.zip", //model NULL, //texture $tRexLocation, //position array(5,5,5), //scale new ArelRotation(ArelRotation::ROTATION_EULERDEG, array(0,-90,0)) //rotation );
  • 64. 3D Models   Junaio supports two model formats:   MD2: Animated models, simple textures   OBJ: Static models, high quality textures   Use OBJ for high quality static models, MD2 for animated   Making Models   Make Models using Blender or similar tools   May need file conversion tools   Limit size to 500 – 1000 polygons/model   See http://www.junaio.com/develop/docs/3d-models/
  • 66. Basic Interactivity   Add a button on screen to move virtual character   Use the following   HTML: button specification   Javascript: Interaction   PHP/XML: 3D model   Junaio Tutorial 5   http://www.junaio.com/develop/quickstart/advanced- interactions-and-location-based-model-3ds/
  • 67. Server File Structure HTML – GUI JavaScript - interactivity Main Index PHP - content
  • 68. search.php – specify Lego Man if(!empty($_GET['l'])) $position = explode(",", $_GET['l']); Use local position … //return the lego man $oLegoMan = ArelXMLHelper::createLocationBasedModel3D( "1", // id Lego model and texture "lego man", //title WWW_ROOT . "/resources/walking_model3_7fps.md2", // mainresource WWW_ROOT . "/resources/walking_model.png", // resource $position, // location array(0.2, 0.2, 0.2), // scale new ArelRotation(ArelRotation::ROTATION_EULERRAD, array(1.57,0,1.57)) // rotation ); …
  • 69. styles.css – HTML GUI #buttons { position: absolute; bottom: 44px; Button location right: 44px; } .ipad div { width: 104px; height: 106px; } Button style #buttons div { background-image: url("../images/button.png"); background-repeat: no-repeat; background-size: 100%; float: left; }
  • 70. Logic_LBS5.js - JavaScript   Create an event listener   setEventListener();   Add functionality to model object   Load model from scene   Adding model behaviours   Add functionality to GUI objects   Define the event listener   Bind model behaviours to GUI objects
  • 72. Creating A Glue Channel
  • 73. Glue Channels   “Gluing” virtual content to normal printed material   Key steps   Creating tracking pattern dataset   Specify relationship of content to pattern (AREL)   Junaio “Hello Glue” example   http://www.junaio.com/develop/quickstart/hello-glue/
  • 74. Create a Tracking Data Set   Generate the tracking XML file   http://dev.junaio.com/tools/trackingxmlcreator
  • 75. index.php – XML code   Specify tracking pattern <results trackingurl="http://dev.junaio.com/publisherDownload/tutorial/tracking_tutorial.zip">   Specify Model <assets3d> <model><![CDATA[http://dev.junaio.com/publisherDownload/tutorial/ metaioman.md2]]></ model> <texture><![CDATA[http://dev.junaio.com/publisherDownload/tutorial/ metaioman.png]]></ texture> <transform> [Put transform information here] </transform> </assets3d>   Attach model to tracking pattern <properties>                   <coordinatesystemid>1</coordinatesystemid>                </properties>  
  • 76. Using AREL   require_once dirname(dirname(dirname((dirname(__FILE__))))) . "/libArel/arel_xmlhelper.class.php"; ArelXMLHelper::start(NULL, NULL, "http://dev.junaio.com/publisherDownload/tutorial/ tracking_tutorial.zip"); Tracking Pattern $oObject = ArelXMLHelper::createGLUEModel3D( "1", //ID "http://dev.junaio.com/publisherDownload/tutorial/metaioman.md2", //model Path "http://dev.junaio.com/publisherDownload/tutorial/metaioman.png", //texture Path Model array(0,-100,0), //translation array(3,3,3), //scale Position new ArelRotation(ArelRotation::ROTATION_EULERDEG, array(-90,0,0)), //rotation 1 //CoordinateSystemID ); ArelXMLHelper::outputObject($oObject); ArelXMLHelper::end();
  • 78. Good Tracking Patterns   pattern that is highly structured   lot of visual hints with different colors   high contrasts and sharp edges   pattern in a "common" format,   square format or rectangle format in 3:2 or 4:3 or similar   not too dark and no reflection points   shortest side of the image 150 – 200 pixels
  • 80. Bad Tracking Patterns   Reference Image not flat and blurry   Shadows create false contrasts    Angled reference images create false reference orientation   Pattern too bright or dark   Angled with surrounding information
  • 83. BirdsView - http://www.birdsview.de/   Location Based CMS   Add content, publish to Layar or Junaio
  • 86. Limitations   BirdsView Branding   Their logo, not yours   Limited POI Content   Images, Text, URL   Public Channel   Your content + everyone else's
  • 89. Metaio Creator   Drag and drop Junaio authoring
  • 93. Resources •  Developer documentation –  http://www.junaio.com/develop/docs/ •  Google Group –  https://groups.google.com/forum/?fromgroups#!forum/junaio- developer
  • 95. Conclusions •  Mobile AR –  Ideal for location based experiences – Tourism, cultural information –  Commercially available software – Junaio, Wikitude, Layar, etc –  Important research problems need to be solved – tracking – interaction – information management
  • 96. More Information •  Mark Billinghurst –  mark.billinghurst@hitlabnz.org •  Website –  www.hitlabnz.org