This document provides an overview of augmented reality (AR) and the Vuforia platform for building AR applications. It discusses key Vuforia features like image and object tracking. It also provides steps for setting up a Vuforia project in Unity, including importing the Vuforia Unity plugin, adding a tracking target, and deploying the built application to Android. Additional topics covered include interactive scripting, using Vuforia samples, and resources for further learning.
3. Augmented Reality Definition
• Defining Characteristics [Azuma 97]
• Combines Real andVirtual Images
• Both can be seen at the same time
• Interactive in real-time
• The virtual content can be interacted with
• Registered in 3D
• Virtual objects appear fixed in space
Azuma, R. T. (1997). A survey of augmented reality. Presence, 6(4), 355-385.
10. Milgram’s Reality-Virtuality continuum
Mixed Reality
Reality - Virtuality (RV) Continuum
Real
Environment
Augmented
Reality (AR)
Augmented
Virtuality (AV)
Virtual
Environment
"...anywhere between the extrema of the virtuality continuum."
P. Milgram and A. F. Kishino, Taxonomy of Mixed Reality Visual Displays
IEICE Transactions on Information and Systems, E77-D(12), pp. 1321-1329, 1994.
11. Summary
• Augmented Reality has three key features
• Combines Real andVirtual Images
• Interactive in real-time
• Registered in 3D
• AR can be classified alongside other technologies
• Milgram’s Mixed Reality continuum
19. Objects Registered in 3D
• Registration
• Positioning virtual object wrt real world
• Tracking
• Continually locating the users viewpoint
• Position (x,y,z), Orientation (r,p,y)
24. • Web based AR
• Flash, HTML 5 based AR
• Marketing, education
• Outdoor Mobile AR
• GPS, compass tracking
• Viewing Points of Interest in real world
• Eg: Junaio, Layar, Wikitude
• Handheld AR
• Vision based tracking
• Marketing, gaming
• Location Based Experiences
• HMD, fixed screens
• Museums, point of sale, advertising
Typical AR Experiences
28. Demo:colAR
• Turn colouring books pages into AR scenes
• Markerless tracking, use your own colours..
• Try it yourself: http://www.colARapp.com/
29. What Makes a GoodAR Experience?
• Compelling
• Engaging,‘Magic’ moment
• Intuitive, ease of use
• Uses existing skills
• Anchored in physical world
• Seamless combination of real and digital
34. Download and Install
• Go to unity3d.com/download
• Use Download Assistant – pick components you want
35. Getting Started
• First time running Unity you’ll be asked to create a project
• Specify project name and location
• Can pick asset packages (pre-made content)
38. Building Scenes
• Use GameObjects:
• Containers that hold different components
• Eg 3D model, texture, animation
• Use Inspector
• View and edit object properties and other settings
• Use Scene View
• Position objects, camera, lights, other GameObjects etc
• Scripting
• Adding interaction, user input, events, etc
39. GameObjects
• Every object in Scene is a GameObject
• GameObjects contain Components
• Eg Transform Component, Camera Component
40. Adding 3D Content
• Create 3D asset using modeling package, or download
• Fbx, Obj file format for 3D models
• Add file to Assets folder in Project
• When project opened 3D model added to Project View
• Drag mesh from Project View into Hierarchy or Scene View
• Creates a game object
44. Making a Simple Scene
1. Create New Project
2. Create Game Object
3. Moving main camera position
4. Adding lights
5. Adding more objects
6. Adding physics
7. Changing object materials
8. Adding script behaviour
54. Example C# Script
GameObject Rotation
using UnityEngine;
using System.Collections;
public class spin : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
this.gameObject.transform.Rotate(Vector3.up*10);
}
}
#
55. Scripting C# Unity 3D
• void Awake():
• Is called when the first scene is loaded and the game object is active
• void Start():
• Called on first frame update
• void FixedUpdate():
• Called before physics calculations are made
• void Update():
• Called every frame before rendering
• void LateUpdate():
• Once per frame after update finished
60. What you will learn
• Introduction to Vuforia
• Platform and features
• How to install/set-up Vuforia
• Vuforia Basics
• Marker Tracking, Object tracking
• Deploying to Mobile Device
• Android, iOS
62. Vuforia Overview
• Platform for Mobile Computer Vision
• https://www.qualcomm.com/products/vuforia
• Released by Qualcomm in 2010, acquired by PTC 2015
• Used by over 100K developers, >10K applications
• Main Features:
• Recognition
• Image, text, object recognition
• Tracking
• Image, marker, scene, object
63. Vuforia Provides
• Android
• iOS
• Unity
Extension
Device
SDK
• Target
Management
System
• App
Development
Guide
• Vuforia
Web
Services
Tools
&
Services
• Dedicated technical support
engineers
• Thousands of posts
Support
Forum
76. Unity Asset Structure
• Editor - Contains the scripts required to
interact with Target data in the Unity editor
• Plugins - Contains Java and native binaries
that integrate the Vuforia AR SDK with the
Unity Android or Unity iOS application
• Vuforia - Contains the prefabs and scripts
required to bring AR to your application
• Streaming Assets / QCAR - Contains the
Device Database configuration XML and
DAT files from the online Target Manager
78. Setting up a Vuforia Project
• Register as Developer
• Create a Project
• Obtain a License Key
• Add license key to AR Camera
• Replace Main Camera with AR camera
• Add Tracking Targets
• Move ImageTarget into Scene
• Add sample object to ImageTarget
81. Obtain a License Key
• Vuforia 5 apps utilize a license key that uniquely identifies
each app. License keys are created in the License Manager
• The steps to creating a new license key are..
• Choose a SDK
• Choose a licensing option based on your requirements
• Provide your Billing Information if you've chosen to use a paid license
• Obtain your license Key
83. Add License Key to Vuforia Project
• Open ARCamera Inspector in Vuforia
• Assets -> Vuforia -> Prefabs
• Move AR Camera to scene hierarchy (Delete Main Camera)
• Paste License Key
84. Adding Tracking Targets
• Create a target on the Target Manager
• OR - Use existing targets from other projects
85. Which Type of Database
• Device Database vs. Cloud Database?
• Device: local, Cloud: online
90. Building the AR Application
• Delete “Main Camera” in Scene Hierarchy
• Drag ARCamera prefab in the Scene Hierarchy
• Vuforia -. Prefabs -> AR Camera
• Import tracking dataset package
• Assets -> Import Package -> Custom Package
• Drag ImageTarget prefab into Scene Hierarchy
• Select ImageTarget, pick Data Set then Image Target
• On AR Camera load target database and activate
92. Add 3D Content
• As a test, create a simple Cube object
• GameObject > Create Other > Cube
• Add the cube as a child of the ImageTarget object by
dragging it onto the ImageTarget item.
• Move the cube until it is centered on the Image Target.
95. Add more than one ImageTarget
• Drag new ImageTargets
onto hierarchy
• Pick tracking pattern
• Add 3D objects
96. Download 3D Assets
• Open Asset Store in Unity (Window -> Asset Store)
• Select free 3D model
• Download asset into project panel
• Move under ImageTarget, position and scale
101. Building for Android
• Open Build Settings
• Change Target platform to Android
• Switch Platform
• Under Player Settings
• Edit Bundle Identifier – eg com.UniSA.cubeTest
• Minimum API level
• Build and Run
• Select .apk file name