Alexandre Weiler, developer of ALPS, aims to make Android VR development a ‘publish-once’ process.
The increasing acceptance of mobile phones as capable virtual reality platforms has led to a ‘face-race’ of attachments that promise to transform our most prized possessions into Oculus Rift style headsets.
In 1991, the IBM Simon Personal Communicator was commercially released in the USA. Weighing in at half a kilo, it is regarded as the world’s first smartphone, complete with apps, a stylus and even the ability to send and receive faxes.
The following 24 years have been witness to rapid innovation and the introduction of ever more advanced features such 42 megapixel cameras, glasses free 3D screens and even curved screens.
Now, virtual reality could be the next evolution.
The VR demo ‘Tales from the Minus Lab’, created by the ICT’s Mixed Reality Lab, excited the imagination of many as it proved that mobile powered VR is perfectly feasible. Durovis released the Dive handsfree VR headset for phones, and the Kickstarter campaigns for mobile VR devices soon followed.
Mobile’s VR credentials received a major boost when Oculus announced a partnership with Samsung, which led to the launch of the Gear VR for the Samsung Note 4.
With other Samsung phones due to be supported, LG rumoured to be developing their own VR solutions and an almost weekly announcement of mobile VR devices, developers will soon have a wealth of devices to support. This is where ALPS steps in; the open source multi-platform Unity SDK created by Alexandre Weiler.
“Characters could sunbath with UV lamps on an artificial beach or, for mountain lovers, climb on a vertical treadmill with fake snow and a vent… This was an amazing idea to me. I then understood, thanks to video games, that computer science – and especially 3D graphics – could be the key to make this idea happen and it was the spark that lit my passion for VR. This was in 2002, 10 years before the Oculus boom.”
ALPS-VR-Unity-screenshot-1024×512 Weiler tells me his motivation was two-fold; to address the lack of technical consistency amongst the growing number of Android VR apps, and feedback from developers who said they wanted one SDK to publish to multiple VR headsets rather than working with individual SDKs such as Dive by Durovis.
Weiler said, “It’s extremely simple to create a basic SDK for mobile VR with Unity,” says Weiler, “Put two cameras in the scene and attach their orientation to the Unity’s gyroscope interface and voila! Dive’s SDK offers low-latency head tracking technology with very good results. Compared to the regular Unity gyroscope interface, Dive’s solution offers very reactive tracking by polling sensors natively. Head tracking is good but the image is distorted as there is neither barrel distortion nor chromatic aberration correction built in. This is where ALPS makes the difference.”
ALPS supports different barrel distortion configurations for each supported device and can be tweaked by developers. It also minimizes color fringing caused by the lenses. ALPS currently supports Google Cardboard, Altergaze and Freefly VR. The idea is to extend the range by allowing developers to tweak the distortion and submit a configuration for a specific device on Github so that all the other users can benefit from this data.
To get started with ALPS, developers need a Unity Pro license and Unity Android Pro. The goal is to create a sufficiently large community of developers to encourage Unity to offer a fully-functional trial period for Unity Android Pro. For regular license owners, there is a “light” version embedded, with just side-by-side rendering and head tracking.
For Weiler, working on ALPS has changed his initial perceptions of mobile VR. “After working on ALPS I am no longer one of the mobile VR skeptics. Samsung Gear VR proves breathtaking VR experiences are possible on mobile. The Rift is definitely for gamers. My parents would never be able to install it and use it properly. But they play with the Cardboard app without any problem, and they love it!”