Two weeks ago I presented VRGeeks, an association promoting Virtual Reality (VR) among hackers and technology enthusiasts. Still on the VR topic, allow me to introduce I’m in VR, a Telecom ParisTech-incubated startup that develops software that aims to simplify the creation of VR applications. MiddleVR, their first realisation, is a Unity plugin that bridges the gap between 3D applications and VR hardware, and thus helps democratising VR. I’m in VR have recently won an award at Laval Virtual 2012 (one of the main international VR conferences) in the “Engineering, Assembly and Maintenance” category.
MiddleVR: How does it work?
Unity is a high-level 3D application development framework, with a special focus on games. You write a single piece of code that you can then publish to many platforms: the web (requires a plugin install), iOS, Android, PC, Mac, consoles, and Flash soon (leveraging Stage3D‘s GPU acceleration). Other areas where Unity is popular include architectural visualisations and interactive media installations. It can be quite useful to let people explore real estate projects (modeled in ArchiCAD for instance) with videogame-like navigation. It is worth noting that Sketchfab (also a Paris-based startup at LeCamping), the “youtube of 3D objects”, can do the same within the browser but with technology that only relies on open standards included in modern browsers (WebGL), and thus requires no external plugin. Building 3D applications can thus be as simple as an export of a model from ArchiCAD or 3ds Max for instance.Experiencing a 3D-turned-VR app in a Cave.
MiddleVR enables you to display your Unity application on any VR hardware (Head Mounted Display, Cave, VR wall) and to use VR peripherals in input instead of mouse and keyboard: tracker, remote control, haptic glove, etc. In order to work, the plugin needs specifying the hardware you’ll be using, through the “configurator”. Drivers for most peripherals are already built in. You’ll also be describing the physical configuration of the screens if you’re doing multi-projection, so that the software knows what to show on each projector. As often in VR, video speaks volumes:
You can then enjoy all your Unity apps in VR, for instance the popular Angry Bots game:
MiddleVR has been in development for two and a half years, and it’s not just about connecting peripherals. There are human considerations to be taken into account for the illusion of virtual reality to work, on the way we perceive our surroundings; and if there is any incoherence to the brain, the illusion breaks. On the technical side of things, latency must be low and everything must be perfectly synchronised (input, software and display).
MiddleVR is commercialised through a license which pricing is based on the number of platforms on which it runs, and there’s a free 30 day trial to get you started. For the bigger clients, the number of platforms may be up to 20 to run a single application! The computing required to render the 3D scene with high fidelity (number of polygons, resolution, frame rate) and onto several projectors (there could be several for the same surface, and tens of them in total) is split on several machines, and they all need to be precisely in sync.
Current clients include top international universities (Max Planck Institute for biological cybernetics, Ecole Polytechnique Fédérale de Lausanne, University of Hong Kong) and big industrial companies in France (including SNCF who have already bought licenses, and PSA who are still testing). The use of VR in some industries has proven particularly useful, with high returns on investment that justify spending up to 50 million euros for building a Cave… But I’m in VR pride themselves most on having sold their very first license to a lycée technique (a high school that trains students to technical jobs), which testifies to the fact that VR is becoming increasingly accessible.
About I’m in VR
I’m in VR was founded in 2010 by Sébastien Kuntz, a software engineer and VR expert with more than 10 years of experience in the industry. In the founder and president’s own words: “We want to help you focus on your applications to create better and more immersive experiences by providing you with powerful and easy-to-use tools.” As many other entrepreneurs, Sébastien started by scratching his own itch, which was that the tools he used to create VR applications were too complex to use. He firmly believes that VR can change the world and thinks it would be a shame if people who have great ideas of VR applications were put off by unadapted development tools. The idea being not to build apps to escape reality, but to use VR with the aim of improving the real world.
Sébastien is in a unique position to reach his objectives as he started his career creating VR apps for SNCF — so he knows what makes a good and useful app for the end user —, and then moved on to develop tools to help people create VR apps at Dassault Systèmes. He is present at all major international VR conferences and events. He also regularly visits VR research labs in Europe so he meets potential customers, gets feedback on his product, and stays on top of the latest technology and its usages. He’s continuing on this direction and at the end of the month he will be giving a talk at the Unity conference in Amsterdam, this time to evangelise VR to people who already use Unity!
What next? Sébastien has just recruited two engineers for future developments (on his roadmap are more 3d engines and app development environments) and he is about to officially release the cluster version of MiddleVR, destined to be used on multiple platforms in parallel and to enable uses with large Caves.
Aside from his work at I’m in VR, Sébastien is a board member of the French VR association AFRV, he is the founder & president of the VRGeeks association, and he teaches VR at renowned French engineering schools and game developper schools. He was also one of the organizers of the first 3D User Interface contest at 3DUI 2010.
Do you use Unity yourself, or do you work on 3D apps, or any other apps you think may benefit from VR?