Learn to create WebXR, VR and AR, experiences using Three.JS
What you'll learn
- How to easily create VR and AR apps that work in the browser
- How to use the ThreeJS library to create these apps
- How to handle controllers
- How to replace the controllers with custom models
- How to create architectural walk-throughs, games and training apps.
- How to add an in world UI
- Developing AR apps that support real world hit testing
- Learn game VR techniques such as teleporting and interacting with models in the scene using controllers.
WebXR brings both VR and AR to the browser. The API has the massive forces of Google and Amazon behind it so it looks like immersive experiences, using only a browser, are going to make a huge impact in the near future. WebXR works great with Oculus headsets, including the Oculus Quest 2 and the Chrome Android browser is already supporting the API for both AR, Augmented Reality, and VR, Virtual Reality, experiences. But WebXR only harnesses the sensors on a mobile device and creates an agreed definition of how to use this data. To actually visualise 3D content you need a WebGL library and there is no better one to use than Three.JS. This mature Open Source library has many users around the globe and is supported by many developers. Three.JS is at version 118 at the time of writing and is a robust, production ready library. Recently WebXR support was added to the library. Making it easy for developers to create immersive experiences.
The course is split into 10 sections.
Introduction - I introduce the history of WebXR, give you a basic primer for those of you new to 3D concepts and show you the Three.JS website and the WebXR examples.
A Three.JS Primer - is for Three.JS novices to bring you up to speed on the library.
An introduction to WebXR using Three.JS - we look in earnest at your development environment and create our first WebXR examples.
Using complex assets with Three.JS - most things you create for immersive experiences will need complex assets and sourcing, editing, loading and working with them is the subject of section 4.
The WebXR API - gives a review of the WebXR API.
Creating an Architectural Walk-Through - in section 6 we start to create real world examples of immersive content with an architectural walk-through.
Placing a Product in a Room - WebXR lends itself to showing real products in a person’s home and that is the topic for section 7.
Using WebXR for games - VR is perfect for games and we look at the basic ingredients of a game using WebXR in this section.
Using WebXR for training - covers the important topic of using VR for training.
Conclusion - we look at some WebXR examples to inspire you and review what you’ve learnt.
The only tools you'll need are a code editor, in the course I use Brackets, freely available online. The course includes comprehensive resources and code examples. Each code example comes with two versions, one for you to code along with and another that is complete in case you hit a problem. I show you how to use github to host your development work on a secure server so you can easily test your work on a headset, such as an Oculus Quest
It’s going to be fun.
You get a 30 day money back guarantee, so you're nothing to lose, go virtual today.
"This is by far the best guide to Three JS, nothing but fun and clearly explains the parts needed for a 3D app. Thanks Nik for taking the time on this! Can't wait to see where this course take me!"
"Thanks for creating the course" - Mr Doob, the creator of Three.JS
"We all Nik fans were waiting for this one when he previously announced it in the Facebook group. And he didn't disappoint us."
"Best Intro/History Video Ever"
"Love it so far! The lessons are concise and to the point. The videos' length seems quite optimized, meaning they are not terribly long yet are filled with just enough information about what's going on. The supplied course project files constitute a valuable facilitation on the way through the course."
"It starts with the basics and then progress to advanced topics. I like the pace and the explanations. Great course!"
"Great course, love the well-chosen examples, just what I needed!"
Who this course is for:
- Anyone interested in harnessing the latest WebXR API, to create VR and AR experiences that work in the browser without additional installation requirements.
After getting a degree in Graphic Design, I started work in 1980 as a cartoon animator. Buying a Sinclair ZX81 back in 1982 was the start of a migration to a full time programmer. The ZX81 was quickly swapped for the Sinclair Spectrum, a Z80 processor and a massive 48K of ram made this a much better computer to develop games. I developed a few games using Sinclair Basic and then Assembler. The Spectrum was swapped for a Commodore Amiga and I developed more games in the shareware market, moving to using C. At this stage it was essentially a hobby. Paid work was still animated commercials.
I finally bought a PC in the early nineties and completed an Open University degree in Maths and Computing. I created a sprite library ActiveX control and authored my first book, aimed at getting designers into programming. In the mid nineties along came Flash and the company I was now running, Catalyst Pictures, became known for creating games.
Since then the majority of my working life has been creating games, first in Flash and Director, as Director published the first widely available 3D library that would run in a browser using a plugin.
I've worked for the BBC. Johnson and Johnson. Deloitte, Mars Corporation and many other blue chip clients. The company I've run for over 30 years has won a number of awards and been nominated for a BAFTA twice, the UK equivalent to the Oscar.
Over the last 20 years I have been struck by just how difficult it has been to get good developers and have decided to do something about this rather than just complain. I run a CodeClub for kids 9-13 years old and I'm developing a number of courses for Udemy hoping to inspire and educate new developers. Most of my courses involve real-time 3d either using the popular Open Source library Three.JS or Unity. I'm currently having a lot of fun developing WebXR games and playing with my Oculus Quest.