Introduction to Augmented Reality with Unity3D, Vuforia & String
Example implementations (iOS):
Other Side - Pantalla Global:
http://itunes.apple.com/app/other-side/id495565861
A short course on how to develop AR and VR experiences using Unity. Using Unity 2017.2, Google 1.100 VR SDK, and Vuforia. Taught by Mark Billinghurst on November 7th 2017.
This presentation is the Unity3D workshop head lines held by Amirkabir University of Technology in Tehran. An introduction to Unity3D game engine consist of history of video games, types of game engines and video game consoles. There are more details about interface and start working with Unity3D.
by: Mohsen Mirhoseini Argi
AR101 Lecture - Introduction to Augmented Reality. Lecture providing an introduction to AR, the history of AR and some example applications. Presented by Mark Billinghurst at the AR101 summer school at the ISMAR 2016 conference, September 18th 2016.
Short lecture on Unity and how to use Unity and SteamVR to create a simple VR scene. Taught by Mark Billinghurst at the University of South Australia on July 30th 2019
A short course on how to develop AR and VR experiences using Unity. Using Unity 2017.2, Google 1.100 VR SDK, and Vuforia. Taught by Mark Billinghurst on November 7th 2017.
This presentation is the Unity3D workshop head lines held by Amirkabir University of Technology in Tehran. An introduction to Unity3D game engine consist of history of video games, types of game engines and video game consoles. There are more details about interface and start working with Unity3D.
by: Mohsen Mirhoseini Argi
AR101 Lecture - Introduction to Augmented Reality. Lecture providing an introduction to AR, the history of AR and some example applications. Presented by Mark Billinghurst at the AR101 summer school at the ISMAR 2016 conference, September 18th 2016.
Short lecture on Unity and how to use Unity and SteamVR to create a simple VR scene. Taught by Mark Billinghurst at the University of South Australia on July 30th 2019
COMP 4010 Lecture 8 on an Introduction to Augmented Reality. This lecture provides a basic introduction to AR. Taught by Gun Lee on September 17th 2019 at the University of South Australia.
Getting to know unity, special thanks to JUST and my friend Ruba Al-Saa'di and Dr. Natheer.
We are waiting for Patented a small request caused a technology revolution.
Lecture 1 of the COMP 4010 course on Augmented and Virtual Reality. Taught by Mark Billinghurst, Bruce Thomas and Gun Lee from the University of South Australia. This lecture provides an introduction to Virtual Reality. Taught on July 24th 2018.
COMP4010 Lecture 4 - VR Technology - Visual and Haptic Displays. Lecture about VR visual and haptic display technology. Taught on August 16th 2016 by Mark Billinghurst from the University of South Australia
COMP 4010 Lecture 9 providing an overview of Augmented Reality Technology. Taught by Mark Billinghurst on October 8th 2019 at the University of South Australia.
A virtual environment (VE) is a digital space in which a user’s movements are tracked and his or her surroundings rendered, or digitally composed and displayed to the senses, in accordance with those movements.
Unity is a cross-platform game engine developed by Unity Technologies,[4] first announced and released in June 2005 at Apple Inc.'s Worldwide Developers Conference as an OS X-exclusive game engine. As of 2018, the engine has been extended to support 27 platforms.[5] The engine can be used to create both three-dimensional and two-dimensional games as well as simulations for desktops and laptops, home consoles, smart TVs, and mobile devices. Several major versions of Unity have been released since its launch, with the latest stable version being Unity 2018.2.2, released on August 10, 2018.[6]
Unity gives users the ability to create games in both 2D and 3D, and the engine offers a primary scripting API in C#, for both the Unity editor in the form of plugins, and games themselves, as well as drag and drop functionality. Prior to C# being the primary programming language used for the engine, it previously supported Boo, which was removed in the Unity 5[7] release, and a version of JavaScript called UnityScript, which was deprecated in August 2017 after the release of Unity 2017.1 in favor of C#.[8]
The engine has support for the following graphics APIs: Direct3D on Windows and Xbox One; OpenGL on Linux, macOS, and Windows; OpenGL ES on Android and iOS; WebGL on the web; and proprietary APIs on the video game consoles. Additionally, Unity supports the low-level APIs Metal on iOS and macOS and Vulkan on Android, Linux, and Windows, as well as Direct3D 12 on Windows and Xbox One.
2017 marked a big step for augmented reality. First, Apple announced at the Worldwide Developers Conference the availability of its ARKit framework to allow developers to integrate augmented reality into their applications. Then Google has responded with Arcore, this giant who was present on this field since 2014 with the Tango project.
During this talk, we will present ARCore as a framework, then its advantages over ARKit. Then we'll see how you can start right now to create your own augmented experience via an exciting live coding. This talk will allow you to anticipate the next trends and be to be prepared to the future of apps.
Lecture 6 of the COMP 4010 course on AR/VR. This lecture is about designing AR systems. This was taught by Mark Billinghurst at the University of South Australia on September 1st 2022.
Virtual reality is, plainly speaking, seeing an imaginary world, rather than the real one. Seeing, hearing, smelling, testing, feeling. The imaginary world is a simulation running in a computer. The sense data is fed by some system to our brain.
Lecture 4 from the COMP 4010 course on AR/VR. This lecture reviews optical tracking for AR and starts discussion about interaction techniques. This was taught by Mark Billinghurst at the University of South Australia on August 17th 2021.
Unity 3d is a popular game engine used to design games for mobiles,xbox etc.
It was developed by unity technologies and it was useful to those who want to start game designing
Lecture 9 of the COMP 4010 course on AR/VR. This lecture is about AR Interaction methods. Taught on October 2nd 2018 by Mark Billinghurst at the University of South Australia
Lecture 7 from a course on Mobile Based Augmented Reality Development taught by Mark Billinghurst and Zi Siang See on November 29th and 30th 2015 at Johor Bahru in Malaysia. This lecture shows how to use Unity 3D and Vuforia to make mobile AR applications. Look for the other 9 lectures in the course.
COMP 4010 Course on Virtual and Augmented Reality. Lectures for 2017. Lecture 3: VR Input and Systems. Taught by Bruce Thomas on August 10th 2017 at the University of South Australia. Slides by Mark Billinghurst
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
COMP 4010 Lecture 8 on an Introduction to Augmented Reality. This lecture provides a basic introduction to AR. Taught by Gun Lee on September 17th 2019 at the University of South Australia.
Getting to know unity, special thanks to JUST and my friend Ruba Al-Saa'di and Dr. Natheer.
We are waiting for Patented a small request caused a technology revolution.
Lecture 1 of the COMP 4010 course on Augmented and Virtual Reality. Taught by Mark Billinghurst, Bruce Thomas and Gun Lee from the University of South Australia. This lecture provides an introduction to Virtual Reality. Taught on July 24th 2018.
COMP4010 Lecture 4 - VR Technology - Visual and Haptic Displays. Lecture about VR visual and haptic display technology. Taught on August 16th 2016 by Mark Billinghurst from the University of South Australia
COMP 4010 Lecture 9 providing an overview of Augmented Reality Technology. Taught by Mark Billinghurst on October 8th 2019 at the University of South Australia.
A virtual environment (VE) is a digital space in which a user’s movements are tracked and his or her surroundings rendered, or digitally composed and displayed to the senses, in accordance with those movements.
Unity is a cross-platform game engine developed by Unity Technologies,[4] first announced and released in June 2005 at Apple Inc.'s Worldwide Developers Conference as an OS X-exclusive game engine. As of 2018, the engine has been extended to support 27 platforms.[5] The engine can be used to create both three-dimensional and two-dimensional games as well as simulations for desktops and laptops, home consoles, smart TVs, and mobile devices. Several major versions of Unity have been released since its launch, with the latest stable version being Unity 2018.2.2, released on August 10, 2018.[6]
Unity gives users the ability to create games in both 2D and 3D, and the engine offers a primary scripting API in C#, for both the Unity editor in the form of plugins, and games themselves, as well as drag and drop functionality. Prior to C# being the primary programming language used for the engine, it previously supported Boo, which was removed in the Unity 5[7] release, and a version of JavaScript called UnityScript, which was deprecated in August 2017 after the release of Unity 2017.1 in favor of C#.[8]
The engine has support for the following graphics APIs: Direct3D on Windows and Xbox One; OpenGL on Linux, macOS, and Windows; OpenGL ES on Android and iOS; WebGL on the web; and proprietary APIs on the video game consoles. Additionally, Unity supports the low-level APIs Metal on iOS and macOS and Vulkan on Android, Linux, and Windows, as well as Direct3D 12 on Windows and Xbox One.
2017 marked a big step for augmented reality. First, Apple announced at the Worldwide Developers Conference the availability of its ARKit framework to allow developers to integrate augmented reality into their applications. Then Google has responded with Arcore, this giant who was present on this field since 2014 with the Tango project.
During this talk, we will present ARCore as a framework, then its advantages over ARKit. Then we'll see how you can start right now to create your own augmented experience via an exciting live coding. This talk will allow you to anticipate the next trends and be to be prepared to the future of apps.
Lecture 6 of the COMP 4010 course on AR/VR. This lecture is about designing AR systems. This was taught by Mark Billinghurst at the University of South Australia on September 1st 2022.
Virtual reality is, plainly speaking, seeing an imaginary world, rather than the real one. Seeing, hearing, smelling, testing, feeling. The imaginary world is a simulation running in a computer. The sense data is fed by some system to our brain.
Lecture 4 from the COMP 4010 course on AR/VR. This lecture reviews optical tracking for AR and starts discussion about interaction techniques. This was taught by Mark Billinghurst at the University of South Australia on August 17th 2021.
Unity 3d is a popular game engine used to design games for mobiles,xbox etc.
It was developed by unity technologies and it was useful to those who want to start game designing
Lecture 9 of the COMP 4010 course on AR/VR. This lecture is about AR Interaction methods. Taught on October 2nd 2018 by Mark Billinghurst at the University of South Australia
Lecture 7 from a course on Mobile Based Augmented Reality Development taught by Mark Billinghurst and Zi Siang See on November 29th and 30th 2015 at Johor Bahru in Malaysia. This lecture shows how to use Unity 3D and Vuforia to make mobile AR applications. Look for the other 9 lectures in the course.
COMP 4010 Course on Virtual and Augmented Reality. Lectures for 2017. Lecture 3: VR Input and Systems. Taught by Bruce Thomas on August 10th 2017 at the University of South Australia. Slides by Mark Billinghurst
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Introduction to AR with Unity3D
1. AR with Unity3D
Introduction to Augmented Reality
with
Unity3D
Saturday, May 26, 12
2. Intro
• Examples
• Pantalla Global (CCCB)
• Animac
• Salón de Turisme
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
3. Koffa@Animac
http://vimeo.com/37868229
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
4. What is AR?
• Virtual content overlayed onto the real
word
• 2D / 3D & audio
• Realtime / Live camera view
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
5. Detection
• Vision based
• QR codes
• Markers
• Real life objects
• Location based (GPS, Compass)
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
6. Vision Based AR
• Tracking
• Frame by frame analysis searching for
“trackables”
• Return position and orientation relative to
device
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
7. AR Apps
• Layar
• http://www.layar.com/
• Junaio
• http://www.junaio.com/
• Wikitude
• http://www.wikitude.com/
• Appunta ;-)
• http://appunta.com/
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
8. Use
• Arts & Gaming
• Advertising
• Navigation
• Tourism
• Education
• ... and a lot more
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
9. Unity3D Libraries
• String
• www.poweredbystring.com
• Vuforia (Qualcomm)
• https://developer.qualcomm.com/mobile-development/mobile-
technologies/augmented-reality
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
10. String - Tracking
• Framed Markers
• Multiple marker detection
• <= 10
• Unflexible marker creation
• black border surrounded by a white border
necessary
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
11. String - Tracking
• Any png
• Full marker has to be in camera (>85%)
• Markers not in scene
• dificult scaling
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
12. Vuforia - Tracking
• Image Target
• Frame Markers
• Simple 3D Objects (Boxes)
• More flexible than String on marker
creation
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
13. Vuforia - Tracking
• Multiple Image Targets or Frame Markers
• <= 5
• Works if only part of the marker is seen
• Markers placed into 3D Scene
• easy scaling
• Virtual Buttons
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
14. Target Management
• Online
• ImageTargets
• MultiTargets
• jpg & png
• RGB & B&W
!
Rich in detail
High in contrast
• Scaling (Unity units) No repetitive patterns
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
15. Performance
• String a little bit faster in detection and
tracking
• String is more stable
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
16. Platform support
• Vuforia
• Android & iOS
• String
• iOS
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
17. String - Setup
• Download library
• Unity3d
• iOS
• Add to Unity3D project
• Add to XCode project
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
18. Vuforia - Setup
• Download Vuforia library
• available in Assets Store
• Add to Unity3D Project
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
19. Testing
• String:
• In-Editor testing using webcam
• Vuforia:
! Unity Remote
• No image tracking nor life camera
• Device Only Testing
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
20. Licensing
• Unity / Unity iOS / Unity Android
• https://store.unity3d.com/
• String
• Expensive!
• http://www.poweredbystring.com/licensing
• Vuforia
• Free!!!
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
21. Decision ???
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
23. Requirements iOS
• Mac OS Snow Leopard & Lion
• XCode
• https://ar.qualcomm.at/qdevnet/sdk/ios
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
24. Requirements Android
• MS Windows 7 & XP
• Linux & Mac OS posssible but not
documented
• JDK + Eclipse + ADT
• Android SDK + NDK
• https://ar.qualcomm.at/qdevnet/sdk/android
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
25. Installation
• Download pagackage vuforia-unity-OS-
Version.zip and install
• base extension & samples
• Asset Store
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
26. Simple Project
• New project
• Add Vuforia
• Add Dataset (markers)
• Add ARCamera Prefab to scene
• Add ImageTarget Prefab to scene
• Select Dataset and ImageTarget
• Add 3D objects + Light
• Set Load Dataset
• Deploy
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
27. Unity Folder Structure
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
28. Hands-On
• DroidBalls
• Floating spheres in space
• Touch to dissappear
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
29. Raycasting
• Detect 3D object touched on screen
• Ray from touched screen point to
camera
• Detect object collisions
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
30. Tracking
• ITrackableEventHandler
• OnTrackableStateChanged
• DefaultTrackableEventHandler
• enable/disable rendering
• ITrackerEventHandler
• OnTrackablesUpdated
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
31. Splash Screen
• Display when no marker is detected
• Modify ITrackableEventHandler
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
32. Virtual Buttons
• Hotspots on an ImageTarget
• IVirtualButtonEventHandler
• OnVirtualButtonPressed
• OnVirtualButtonReleased
• Can be created at runtime
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
33. Problems
• Perfomance
• Image Recognition
• symmetry / similar elements
• contrast / illumination
• Real world sizing
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
34. Problems
• Fixed camera vs fixed space
• Physics!!!
• Multiple markers
• center???
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
35. Tips & Advices
• 3D Models
• < 2K polygons overall
•
•
< 200 polygons/object (draw calls)
<= 3 materials/object
! Device dependent
• Animations
• < 30 bones
• Use texture sequences
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
36. Tips & Advices
• Attach markers to cardboard
• Good lightning but avoid reflections
• Disable objects that are not in view
• Test using mouse instead of touch
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
37. Tips & Advices
• Scale correctly from the beginning
• Create simple reference objects to map to
real world
• e.g. cubes
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
38. Resources
• Unity3D
• http://forum.unity3d.com
• http://answers.unity3d.com
• Vuforia Forums
• https://ar.qualcomm.at/qdevnet/forums
• String ???
AR with Unity3D 26/05/2012 - CatDroid Unity3D II @aquarioverde
Saturday, May 26, 12
39. Thank you!
Andreas Blick @aquarioverde
Saturday, May 26, 12