We have been strong believers in Virtual Reality at In The Pocket ever since the medium started making its comeback a few years ago.
Since the release of the first Oculus Rift development kit we’ve seen a lot of new players enter the market, we’ve been following trends and opportunities in the space closely and we’ve been helping clients discover the VR potential for their business.
Mainstream availability of high-end VR hardware is still a few years away, and mass-market VR opportunities seem to be limited to the more affordable low-end devices like Google Cardboard and Samsung GearVR for now. But our developers have been itching to build a great-looking, fully interactive high-end VR experience for a long time, so a few months ago we decided not to wait for the market and to just dive in.
WineVR started as an internal proof-of-concept, with the goal of exploring high-end VR in a retail context. It took about six weeks to go from idea to prototype to finished application, including product design and content production.
The idea for the app was deceptively simple: immerse the user in a comfortable virtual environment where they can explore a catalogue of wines, based on foods they want to pair the wine with, in a fun and completely intuitive way.
Since we had a limited window to get this done, we chose to focus wholly on user experience and technical quality. To start, we dive into the development process.
Developing for and in VR
WineVR was built using Unity and initially deployed to the HTC Vive. Unity is a cross-platform game development platform we have a lot of experience with at In The Pocket, and the Vive was the only VR hardware at the time that offered accurately tracked hand-held controllers (since then, the Oculus Rift has come out with its own pair of equally great controllers).
After the concept was established we spent a development sprint building a prototype version with simple geometric primitives, trying to get the core interactions right. The first step was to add VR support to the app, so everything we built could be tested in VR right from the beginning. 3D scenes can look great on the screen but feel completely wrong when you put the headset on. So we spent a lot of time iterating on room scale, proportions and distances with simple geometry and mock objects until everything felt right.
The player's environment
A VR environment doesn’t have to look like reality to convince the user’s brain it is a real place. We also didn’t have the time to build photorealistic assets for everything, so we decided to go for a more or less low-poly style with simple textures and no unnecessary details.
Our biggest challenge with the wine cellar was getting the proportions and atmosphere right. The first iterations of the room felt too large, too small, sometimes even a little scary. We wanted to create a classy wine cellar, with lots of storage room for wine and barrels, while still being a warm and cosy place for the user. We built the wine cellar in Unity using the excellent ProBuilder plugin and added lighting and decoration until it looked just right.
When a user pours their selected wine into a glass, the wine cellar opens up to reveal the region the chosen bottle is from. Creating these different wine regions the user is transported to was another interesting challenge. We created virtual representations of three wine-producing countries: France, Italy and South Africa.
These were laid out using Unity’s built-in Terrain Editor and polished with the PolyWorld plugin, which gave them their low-poly feel. We added static objects like trees and houses, then put the finishing touches on them to make them feel warm and alive. A glowing sun, misty distance fog, a flock of birds in the sky and even a giraffe grazing on some trees — these all contribute to a great “wow” effect when the cellar walls come down and the virtual sunlight comes streaming in.
Music and sound
Audio is just as important to VR as the visuals are. In the wine cellar, the user can hear music coming from an old radio. For every wine region, the radio switches to a typical song from that country. We edited the songs with some crackling noises for a more vintage effect.
Next to the music and interaction sounds, there were also some subtle nature sound effects like wind and birds singing to make the environments more immersive.
Creating 3D art
There are a lot of 3D objects in the game that the user can interact with and inspect, particularly the food items and wine bottles. We used a mix of objects purchased from Unity’s Asset Store and ones we modelled ourselves using Blender. The store-bought assets were adjusted and modified where necessary to match the art style we were shooting for.
Significant time was also spent on the wine bottles, which after all are the focus of the app. We wanted a good-looking representation of each bottle in the catalogue, with the right color, bottle shape and label. We settled on a generic wine bottle template with dynamic colouring of the wine and labels based on a dataset for each type of wine, plus a dynamic particle system to simulate the pouring and splashing of the wine itself. In the end, we got a set of attractive wine bottles that look, feel and sound great in VR.
Read the full story: Getting UX right in VR