SlideShare a Scribd company logo
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

More Related Content

Viewers also liked

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
Mark 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 2014
Patrick 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 Tomorrow
Anna 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 Tutorial
Patrick O'Shaughnessey
 
InsideMobile Keynote
InsideMobile KeynoteInsideMobile Keynote
InsideMobile Keynote
360|Conferences
 
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
 
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
Mark Billinghurst
 
Layar introduction for developers
Layar introduction for developersLayar introduction for developers
Layar introduction for developers
Layar
 
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
Hari Gottipati
 

Viewers also liked (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 to Mobile Augmented Reality Using junaio

HTML5 on Mobile
HTML5 on MobileHTML5 on Mobile
HTML5 on Mobile
Adam Lu
 
Programming For Google Wave
Programming For Google WaveProgramming For Google Wave
Programming For Google Wave
Rodrigo 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 Action
Hazem 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 PhoneGap
OrisysIndia
 
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
NgLQun
 
04 objective-c session 4
04  objective-c session 404  objective-c session 4
04 objective-c session 4
Amr Elghadban (AmrAngry)
 
Html5 Overview
Html5 OverviewHtml5 Overview
Html5 Overview
Abdel Moneim Emad
 
[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
Hazem 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
 
Create a Layar with Drupal
Create a Layar with DrupalCreate a Layar with Drupal
Create a Layar with Drupal
Edward Mac Gillavry
 
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 Experience
Mahbubur 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.2010
Patrick Lauke
 
Apps development for Recon HUDs
Apps development for Recon HUDsApps development for Recon HUDs
Apps development for Recon HUDs
Xavier 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 Cordova
Hazem Saleh
 

Similar to 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
 

More from Mark Billinghurst

The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
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 Systems
Mark 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 2024
Mark Billinghurst
 
Future Research Directions for Augmented Reality
Future Research Directions for Augmented RealityFuture Research Directions for Augmented Reality
Future Research Directions for Augmented Reality
Mark Billinghurst
 
Evaluation Methods for Social XR Experiences
Evaluation Methods for Social XR ExperiencesEvaluation Methods for Social XR Experiences
Evaluation Methods for Social XR Experiences
Mark 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 Metaverse
Mark 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 Metaverse
Mark 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 Collaboration
Mark 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 Metaverse
Mark 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 VR
Mark 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 Systems
Mark Billinghurst
 
ISS2022 Keynote
ISS2022 KeynoteISS2022 Keynote
ISS2022 Keynote
Mark Billinghurst
 
Novel Interfaces for AR Systems
Novel Interfaces for AR SystemsNovel Interfaces for AR Systems
Novel Interfaces for AR Systems
Mark Billinghurst
 
2022 COMP4010 Lecture5: AR Prototyping
2022 COMP4010 Lecture5: AR Prototyping2022 COMP4010 Lecture5: AR Prototyping
2022 COMP4010 Lecture5: AR Prototyping
Mark Billinghurst
 
2022 COMP4010 Lecture4: AR Interaction
2022 COMP4010 Lecture4: AR Interaction2022 COMP4010 Lecture4: AR Interaction
2022 COMP4010 Lecture4: AR Interaction
Mark Billinghurst
 
2022 COMP4010 Lecture3: AR Technology
2022 COMP4010 Lecture3: AR Technology2022 COMP4010 Lecture3: AR Technology
2022 COMP4010 Lecture3: AR Technology
Mark Billinghurst
 
2022 COMP4010 Lecture2: Perception
2022 COMP4010 Lecture2: Perception2022 COMP4010 Lecture2: Perception
2022 COMP4010 Lecture2: Perception
Mark Billinghurst
 
2022 COMP4010 Lecture1: Introduction to XR
2022 COMP4010 Lecture1: Introduction to XR2022 COMP4010 Lecture1: Introduction to XR
2022 COMP4010 Lecture1: Introduction to XR
Mark Billinghurst
 
Empathic Computing and Collaborative Immersive Analytics
Empathic Computing and Collaborative Immersive AnalyticsEmpathic Computing and Collaborative Immersive Analytics
Empathic Computing and Collaborative Immersive Analytics
Mark Billinghurst
 
Metaverse Learning
Metaverse LearningMetaverse Learning
Metaverse Learning
Mark Billinghurst
 

More from Mark Billinghurst (20)

The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
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
 

Recently uploaded

Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
ViralQR
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 

Recently uploaded (20)

Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 

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