Lighting for VR

Image has always influenced the way I create. I see the world in colour, but constantly enclosed within well-defined perceptive and technical parameters. These parameters range from the most generic and evocative words, such as sensations and moods, to the most specialized ones, such as hue, colour temperature and lighting scheme. It is a sort of professional deformation. As a visual artist, I have always drawn heavily from photographic technique, and I have also studied as a director of photography.

I have spent years researching, drawing up and introjecting a personal, rigid visual code made of well-defined images, and persisting on a tireless search for the right light.

So, since the early stages of writing the screenplay of Vajont, I have felt an urgent need to give this project – so distant from my previous works – something that was really mine: attention to the visual mood and a lighting of the rooms that was consistent with the story. In simple words: a good direction of photography.

So I decided to take care of the lighting myself, having clear in mind the final result I would like to achieve. Definitely a great challenge for me, who had never found myself working on real-time project lighting before.

A realistic lighting

As some of you know, it’s not always easy to get a realistic result when it comes to lighting for VR. The technical limits imposed by this technology are many when it comes to photorealism. Dynamic lights – which we will talk about shortly – absorb a lot of computing power, risking to affect the performance. Not a good premise, when you need to maintain a high number of frames-per-second to avoid sickness phenomena. For those who want to deepen this topic, you can find some information in the articles dedicated to rigging for VR and hair creation for VR, always on this blog.

So, in finding the right way to illuminate this project, I chose to take a step back. I think the fundamental shift took place when I asked myself the question: what makes lighting realistic?

The most instinctive answer – at least for a cinematographer – certainly concerns the number of light bounces, the quality and definition of shadows and reflections. All these parameters can certainly be implemented and modified in rendering engines, both in terms of physical light settings (although obtaining realistic shadows in Unity is really a challenge…), and in terms of materials assigned to objects – in technical jargon, “shaders“.

Did the answer satisfy me? I would say no. I felt something was missing. Slowly, a new idea emerged: much more banal in its principles, and at the same time very complex to realize in VR.

What is more real, I asked myself, than a setting sun on the horizon and the consequent need to turn on the light?

The idea of integrating a change of lighting – from natural to artificial light – has definitely contributed to broaden my initial concept of realism.

The concept

I decided to implement in the experience three different moods – and, consequently, three different lighting set – so that they would support the different moments of the narrative.

Being inside a VR environment – especially for newbies – can be a very disorienting experience. So I used a warm, welcoming and natural light to accompany the participant to a “safe place,” and to support these positive feelings until a complete settlement.

I managed the transition from the welcome to a serious atmosphere – the one of the experience – by bringing in the darkness, and thus inviting the participant to turn on the light.

I asked Thomas – the concept artist – to make some color proofs, to help me better visualize the different moods: orange-tone natural light, darkness and artificial light.

sketches different lighting set interioro vintage sunset, darkness and artificial light

The sketches of the three different lighting set: sunset, darkness and artificial light.

I think it is fundamental to underline the fact that there are great affinities between the lighting of long-take shots in cinema and the lighting for videogame/VR. Since Virtual Reality experiences don’t have any editing cuts, it is necessary to think about the lighting in order to keep a clear reading both in highlights and in shadows.

Not only that: a good lighting is able to guide the participant within the usability flow of the experience, highlighting particular areas of interest and showing particular actions.

lighting 3d render virtual reality slide projector vintage

Simply illuminate a button – in our case, using an emissive map – to give clear instructions to the user on how to continue the experience.

A small glossary

Before we go into the details of how I did the lighting in Vajont, I’d like to note down some technical concepts. These will facilitate the reading and understanding of the article even for those of us with a less specialized background.

Render-pipeline

Paraphrasing Wikipedia, a render-pipeline is a model that describes the steps to be performed to render an image in two dimensions (i.e., on a screen), starting from three-dimensional objects present on the scene. Each render-pipeline has its own algorithms for light management and different shaders.

Vajont has been developed using Unity’s Universal Render Pipeline, for its versatility in adapting to as many devices as possible, as well as a respectable graphic rendering.

Types of lights (bake and dynamic)

As many of you know, lights in a real-time render engine are divided into two main categories: baked lights (static lights) and dynamic lights. Actually, there would be mixed lights, too, but for their characteristics I refer you to the dedicated Unity page.

Baked lights

Baked lights are pre-rendered lights, and act on the static elements of the room – such as the walls of the room, interactive objects, etc. – without affecting the performance. The lights are generated and “fixed” – through a bake – on special maps, called “lightmaps.” When you play the experience, the lightmaps are superimposed on the textures, with a blending mode that allows them to simulate a real lighting.

Dynamic lights

A type of lights rendered in real time, acting on moving or interactive elements. Since the light will always bounce off them in different ways, it is necessary that their effect is recalculated in real time. For this reason, dynamic lights have a lot of weight in memory, so you have to limit their use (especially in real time).

Post-process in Unity

These are effects that are applied to the virtual camera buffer – which, in the case of the VR, coincides with the position of the participant’s eyes – before the image appears on the screen. Inspired by the post-production processes coming from the world of cinema, they allow to easily manage color grading and color correction. Each render pipeline has its own post-process.

A really useful plug-in

I started my workflow from general ambient lighting – i.e., bake lights. I made many attempts with the integrated lighting system in Unity, but none of them left me fully satisfied: light-leaking (i.e., light infiltration through closed corners), unrealistic shadows, little definition…

Until I discovered Bakery.

Bakery lighting interior kitchen vintage render 3d virtual reality window table

Some preliminary tests in Bakery. On the left you can see in detail the realism and quality of the shadows.

As you can guess from the name, Bakery is a plug-in specially designed for light baking. Its ease of use, combined with the quality of its bake, makes it a really indispensable tool for me. It has different types of lights – similar to other related software – each with its own characteristics and peculiarities.

Lighting set

Daylight

As far as the daylighting is concerned, I have only used area lights.

area-light 3d render lighting interior kitchen vintage vr

The position of the different area lights in the room.

Coming from the world of cinema, I found there to be a great affinity between the area lights and the Kino Flo – fluorescent lamps that cast soft and realistic shadows. This has a very natural effect, which I was interested in recreating.

4 bank Kino Flo

A four-bank Kino Flo

Below, a detail of the room, as realized with Bakery.

3d render virtual reality interior kitchen vintage light window

I added some dynamic lights, so as to interact with non-static elements (like, for example, the characters).

shadow woman virtual reality

Night lighting

For the night lighting, I was instead looking for a more serious mood. I wanted the perception of instability and danger to be something whispered within a more or less ordinary environment. So I decided to recreate a low power bulb, not enough to give full visibility to the room.

IES lights LeoMoon Studios

Some IES lights, in the version proposed by LeoMoon Studios.

I recreated the effect using a point light – a sort of “point” that radiates light in all directions – to which I applied an IES light. This is a special mask able to shape light intensity, tracing physical data actually collected from light sources.

The sunset-night transition was managed through the animation of a post-process.

As for the transition between natural light and artificial light – which also needed a replacement between the two different lightmaps – Marco, our Unity Developer and Technical Designer, has created a special script in Unity, so as to allow the change in a click.

Related Articles

Extras

Few words about this project (and this blog)

To date, about a year and a half has passed since Artheria was founded. I have always found it a little difficult to explain to people outside what we do, which sometimes seems a...

Posted on by Saverio Trapasso
Extras

The production pipe-line of an interactive VR experience

Many of you will probably already know about the production pipe-line of a VR experience – or a video game – but we still believe it is important to clarify the...

Posted on by Saverio Trapasso