Monday, 14 October 2013

Quick Oculus Rift development with Oculus Bridge

I'm very grateful to @paddytherabbit (David Sherlock) for showing me the easiest way to get started with Oculus Rift development. For David's post, see http://paddytherabbit.com/3d-worlds-web-using-oculus-rift-attempt-1/. From my perspective, this is almost as exciting as the Rift itself. It means that development can be placed in the hands of hacky programmers like me who are too lazy to use Unity (or pay for their license) or the SDK, but can get something rich and immersive up and running in 5 minutes with a bit of HTML.
David's video is here:

The Rift's main benefit is that it is a very simple bit of kit: basically it's a screen with a motion-sensing controller tied-in. All Oculus bridge has to do is to render to the screen in the 'barrel distortion' pattern that is required, and to relay signals from the USB port about the movement of the head.

But the ease with which the web can be integrated into this set-up means that developments in VR will, I think, be even quicker than I imagined. There are already a lot of games built with Unity and other platforms that are appearing. The problem with these tools is that they are geared for doing something far more complex and sophisticated than most people will want when exploring what might be possible.

With Oculus Bridge (and the associated threejs (http://threejs.org/) library which does the WebGL rendering) I can hack together all sorts of things in my virtual world and see what it's like. More to the point, I could get my daughter to have a go! Let's try something with sound in 3D sound positioning... let's try getting some unusual textures... let's try importing a 360 degree photo taken with a Ricoh Theta (see https://theta360.com/en/), or let's see about integration with Leap Motion (https://www.leapmotion.com/) or integrate graphical effects in a virtual world with the range of consumer EEG brain monitors. But it's all quick and easy.

This is also important for WebGL - that is a technology that's been in development for some time, and sometimes the rationale for it hasn't been entirely clear (particularly because the performance isn't quite as good as a native 3D rendering). But as a platform for creating quick virtual worlds, are we really going to worry about the details of rendering performance if all we want to do is to play around with things? Added to that, the performance of Web-based 3d will also only get better: the computers that matter now are our web browsers.

Someone said to me that with the Oculus Rift, it was like technology going back to CD-Rom authoring. It may be, but I'm beginning to sense that the development from CD-Rom to social tools is going to be extremely rapid. Indeed, by the time the Rift is released commercially next year, it might all be in place. And then I think things will look very different.


1 comment:

David Sherlock said...

You may be interested in http://jeromeetienne.github.io/threex/ had a quick go with one of them myself http://paddytherabbit.com/oculus-rift-web-attempt-2-nyan-cat/