In the mix of it.
I have been almost six months deep in my specialization program with Holberton School. My passion has been to learn and have a foundational understanding of the XR world and immerse myself in everything it takes to become an XR Developer. It was a little idiosyncratic of me to enter a field and only have the Mall Arcade idea of what virtual reality and augmented reality is. I hope I am not aging myself or you the reader by saying that I received my first taste of Virtual reality by sitting in a game chair at an arcade at the outlet mall or beach pier. ? But somehow I was always intrigued by how that worked, yet only saw the video arcade view of it. Later, I was introduced to augmented reality with Snapchat and PokemonGO.? Once again thrust into the world of augmented reality with a video game perspective. It was not until I had my daughter that I learned what more mixed media and mixed reality were capable of.? We found a book in the library that had a QR code on every other page. The book was about the lifecycle of a butterfly and each QR code would trigger your smart device to show a life size image of the insect. I was able to impress my daughter by playing said caterpillar onto her palm. ? I then grew more and more curious about how I could incorporate mixed reality into other things. And boom, the birth of my passion for becoming an XR Developer.?
In my specialization, I have learned the many ways to create VR rooms, 360 Tours, Slingshot games, and much more. But almost everything we were doing required the user to either download an app or have a native device. I was always downhearted when I would excitedly want to share a project with a family or friend to show off some of the skills I have obtained, yet found that they did not have the hardware to experience it.?
Then came my education on WebXR.??
WebXR is an API (Application Program Interface) for web content and apps. It supports rendering 3D scenes to hardware that is designed for the presentation of virtual worlds, like virtual reality. You can also add graphical images to your real-world like with augmented reality, known to most as AR.? With WebXR you allow your users, like my family and friends,? interoperability. Virtual Reality and Augmented Reality can be used in a web context, which makes your application compatible across all devices, operating systems, and browsers.?
This also allows mixed reality interfaces like Augmented Reality and Virtual Reality to be supported and rendered with not always needing devices like a VR headset.
Just like any machine language or new application, there are frameworks and APIs to learn about and cause you to find preference in, mainly based on what you hope to do or design. I found myself really interested in A-Frame and Three.js.
A-frame: Developed within a Mozilla VR team in late 2015. Has the purpose is to allow web developers and designers to create 3D and VR experiences with only using HTML, leaving developers to have no need of knowing WebGL. Mostly also no real knowledge of coding either.
Three.js: First released by Ricardo Cabello. He released it on his GitHub back in April of 2010. You can track the origins of the library back to involvement he had with demoscene in the early 200s. Ricardo originally developed three.js in the ActionScript language that was used by Adobe Flash. Mr. Cabello later ported it to JavaScript. You can see Mr. Cabello’s repository here, https://github.com/mrdoob/three.js. Three.js is one of the most popular open source JavaScript rendering libraries. With three.js you are given full flexibility with creating low level products. You are also able to create or assemble scenes with three.js. You will find that you can form many different file formats as well.?
With WebXR development you will find that you can range from low-level and fully developer-controlled to beginner-friendly visual editors. What does that mean? It means people from all levels of experience will find it easy and a comfortable medium for their project.
领英推荐
I personally loved working with A-frame. If you have not had the pleasure of working with A-frame, please go visit https://aframe.io/.? I found A-frame to be easy to use and easy to edit. It also runs on top of three.js.? If you happen to browse my other blogs, you will see more mention of my love for A-Frame.
Through my studies, I learned that on December 13th, 2019, Chrome 79 was the first browser with WebXR 1.0 enabled.? I learned that before this there were many complications to other browsers' API to deal with the stability of maintaining WebXR.?
And yes, like anything you do or work with there will always be ups and downsides to them. I found that the common benefits of WebXR were;? Cross-Platform, Accessible, Automatic Improvement, app updates are instantly deployed, Low entry barrier, Rapid Development, and? No need to worry about app store restrictions.?
The downside is that performance may not be as good as Native apps (An executable program coded in machine language for the hardware platform it was designed to run in), and you can run into browser updates that can cause lag.
A fun site to visit, if you find yourself wanting to learn more about how WebXR can be used. Or just want to see what else has been created or built with WebXR, I suggest you visit https://project-awesome.org/msub2/awesome-webxr.?
Please if you have tinkered with or had the opportunity to create something using WebXR, please do share. I would love to review it and learn more about how you came up with it. And If any of my findings have intrigued you or encouraged you to visit the idea of mixed realities, I am honored to light that idea for you.
And if you would like to visit a simple project I did using WebXR, feel free to visit https://hlozano12.github.io/Web_VR/Build/