360 Photos on the Open Web

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.

A flattened Equirectangular Image (an unwrapped 360 image) of a little girl sitting on a jetty at the beach
How can we make this 360 photo fully immersive and available to everyone on the Open Web?

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.

Continue reading “360 Photos on the Open Web”

Tweet about this on TwitterShare on Google+Share on LinkedInShare on FacebookEmail this to someone

Maple Keys revisited with WebVR

Lie down under a maple tree, and watch the keys lazily drift down towards you. In your VR goggles, with WebVR!

(This is in an iFrame – to pop it out for your VR goggles, click here)

I’d written a demo using THREE.js some time back, that simulated maple keys falling in the spring. Having secured some VR goggles (Samsung Gear VR with a Galaxy S7), and tried no end of VR experiences, it seemed like I should “port” that demo into an immersive version.

Continue reading “Maple Keys revisited with WebVR”

Tweet about this on TwitterShare on Google+Share on LinkedInShare on FacebookEmail this to someone

WebVR is Easy with A-Frame

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.

WebVR is easy with A-FrameA-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.

Continue reading “WebVR is Easy with A-Frame”

Tweet about this on TwitterShare on Google+Share on LinkedInShare on FacebookEmail this to someone

The Dawn of WebVR and Gear VR

I don’t always try to get to the bottom of a new technology before there’s commercial demand for it. But when I do, it’s because the potential of a technology really stands out. And that’s the case with the dawn of WebVR.

The dawn of WebVR and my Gear VR gear
Note the “ENTER VR” button. Yes please!

I’d tried a bunch of the WebVR demos on my flat monitor. Yup, that provides a 3D experience like anything from VRML on. But the kick with WebVR is that your 3D stuff can get rendered either on a monitor, or in a VR headset.

Two weeks ago, this happened:

Continue reading “The Dawn of WebVR and Gear VR”

Tweet about this on TwitterShare on Google+Share on LinkedInShare on FacebookEmail this to someone

VR for Web Developers

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?

The dawn of virtual reality.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.

Continue reading “VR for Web Developers”

Tweet about this on TwitterShare on Google+Share on LinkedInShare on FacebookEmail this to someone

Blend4web vs. Three.js

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.

Continue reading “Blend4web vs. Three.js”

Tweet about this on TwitterShare on Google+Share on LinkedInShare on FacebookEmail this to someone

Happy April Fool’s from Blend4web??

Oh, man, I saw this in my Twitter feed this morning, from Blend4web Community, and the cognitive dissonance is rolling through my head like virtual thunder.

Unity Technologies Switches to Blend4Web for its WebGL-Based Solutions

April Fools Blend4web
The black and white “Spy vs. Spy” appeal of this graphic re-enforces my belief that this is some kind of (clever) April Fool’s joke. But, may as well blog about it before I find out for sure…

Continue reading “Happy April Fool’s from Blend4web??”

Tweet about this on TwitterShare on Google+Share on LinkedInShare on FacebookEmail this to someone

Introducing Idoru.js

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 screenshot of the very first prototype of idoru.js - with a rudimentary avatar and chatbot.
First idoru.js experiment.

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.

Continue reading “Introducing Idoru.js”

Tweet about this on TwitterShare on Google+Share on LinkedInShare on FacebookEmail this to someone