One of my hobbies is photography. So as I begin dabbling in VR, I find myself quite curious about 360 photos. A 360 photo is the “bare minimum” of a VR experience.
What is a 360 photo?
A 360 photo goes by many names, but each describes a photograph that completely surrounds the camera. It shows what is in front – in back – off to the sides – and above and below. ALL of it. You can look all around, and everywhere you look has been captured in the photo.
About a week ago, I got my first set of VR goggles. Nothing fancy – it’s the Samsung Gear VR. I explored some of the demos. (great fun!) Some of what I explored was WebVR, which just became available on Gear VR (without the use of “experimental browsers”) a couple of weeks ago – albeit with a “deprecated API”. (which means, an old obsolete version.) Then I took a crack at a tool called A-Frame.
A-Frame makes WebVR easy. Easy peasy. It reminds me of X3DOM – it’s a “declarative language”, so it drives a lot like HTML5. All of the things you declare when you’re using A-Frame get added to the “DOM” (Document Object Model), so everything in your “world” can be accessed and manipulated just like you would the elements on a plain, old-fashioned web page. Which, really, makes a lot of things easy. Easy peasy.
If 87% of VR headsets in consumers’ hands (or on their heads) are mobile VR – then the experiences we create will have to give good UX on mobile VR.
I’m a web guy, and I’m fascinated by the onset of VR. And as a web guy, I’m convinced that mobile VR will be essential to the 3D web.
I was considering picking up some of the high-end VR goggles and experimenting with technologies like WebVR. Trouble is, the high-end ones need a heavy-duty computer to even function.
The “easy way” to get into VR these days is with mobile VR. Mobile VR is really just a piece of plastic (or cardboard) with some lenses that you attach to your smartphone, to experience “low end” VR.
Based on a number of factors, I’ve decided to take the plunge into mobile VR, and leave that high-end stuff alone for now.
First up – the web is already mobile. Much of the last decade has been spent coming to grips with the fact that people use the web everywhere on all manner of hardware. The way websites are built has evolved considerably to take this into account.
So you’re a web developer, and you’ve been hearing things about VR. I’m also a web developer, and I’ve also been hearing things about VR! And I’ve been blogging about it. Not just VR – but how VR is very likely to soon become both a crisis and an opportunity for web developers. So what are the prospects for VR for web developers?
Today is April 8, 2016. The Oculus Rift and the HTC Vive both tried to start shipping in the last couple of weeks – and it’s been a bit of a mess. But even so, eager early adopters have raved up and down that this revolutionary technology finally actually works.
Given that VR goggles have been available to consumers for DAYS, not even weeks, and given that the only people who have even heard of the Oculus Rift are gamers and sports fans, I think all the pessimism about a “virtual reality web” may be a little bit premature. Or so I’d like to think, anyway.
I saw this article today about a “virtual reality web” – and was amazed at both how forward-thinking, and pessimistic it was.
The opening paragraph paints a pretty elaborate picture of something that’s, well, science fiction:
“What if you could browse the web in virtual reality? Just imagine the potential. Hyperlinks could take you not to Wikipedia pages about history, but right to the landscapes of ancient cultures, immersing you in plagues and art and war. Recipe sites could give you smell-o-vision cooking simulations. Message boards could become face-to-face chats. The web as we know it could become tangible, interactive, and more immersive than ever.”
As a sequel to my Feb 23 post X3DOM vs. Three.js, I’d like to quickly compare Blend4web vs. Three.js, using that same old arbitrary VRML file as a neutral sample. Blend4web is an add-on for Blender, the open-source 3D authoring tool I use.
Here’s how the Blender workspace containing my old VRML file looks when I export it using Blend4web:
And here’s the same Blender workspace exported as a COLLADA file and then imported into Three.js:
You can drag your mouse on either of those to move them around. Each button gives you a different motion when you drag. Each example uses each button in a different way.
idoru.js is an experiment I’m working on with artificial characters in virtual worlds. The idea is that to provide good “user experience” (UX) in a virtual world, a character must have good “stage presence” to stimulate engagement.
The idea is to create a framework for an artificial character that is charming and attentive to the user. This character can then be “dressed up” with any imaginable avatar. It can be given any “job” that anyone cares to script.
A good suit and deep knowledge are not enough to make a person engaging in the real world. A person needs body language. A person needs to be attentive to the person they are engaging. They need to make eye contact. They need to interact with a person’s personal space in a thoughtful, polite way.
Whether websites work in laptops but not phones – or whether VR works with goggles but not without – the solution then and the solution now, is to make web content that responds to whatever the heck hardware is being used to experience it.
Boris Smus is a man who understands the motivation behind “reponsive” web content, and responsive VR. From smus.com: