I really like how you've articulated your entire process. This was a very enriching read. A Well deserved feature!
Great article! Thanks for the awesome read.
Wow, this is so cool! Nice job!
Nora Nirvaluce talked about the lighting studies and her setup in the UE4 project Morigesh Forest Lighting.
Hello! My name is Nora Nirvaluce, I’m currently a lighting artist at Eidos Montreal. I joined the studio 9 months ago and had the privilege to be part of the lighting team on Shadow of the Tomb Raider.
My journey began when I was a student. I was always interested in the ‘graphics’ world and touched on editing, abstract 3D, and graphic design but was never able to find my path. My ‘real’ journey began when I played Crysis 3 on the Xbox 360 and fell in love with the stunning environments. This truly blew me away! As I was finishing my University Studies (not in 3D), I decided that I was going to focus solely on game development. I taught myself different software but had a really hard time staying focused because it was a bit overwhelming without the framework that a school can provide. However, I landed my first job at an indie studio, doing 3D and working in a game engine. It allowed me to figure out what I loved most: lighting! During that time, I spent most after-work hours and weekends dedicated to learning more and honing my skills as a lighting artist while working on my personal portfolio.
How the Work on Lighting Starts
Often, I’ll see a concept art or a shot in a movie that really inspires me in terms of its lighting intention and mood, and will start putting together a mood board. I’ll convert the images to b/w to focus on values and tone.
My next step in Unreal is figuring out if I’ll go with a baked or a dynamic lighting system as this will affect asset preparation. In Morigesh Forest Lighting, performance wasn’t the main concern and I knew I needed to use light functions which only work with stationary and movable lights – I decided to go with dynamic lighting setup and have my scene contained within a black box that I placed in the level.
Finally, I identify the types of assets I’d need: I rely heavily on the marketplace, the trees assets are from the redwood forest collection, the character Morigesh is from Unreal’s Paragon pack and it comes with so many animations and different poses one can adapt to their personal projects! The ground material was made using Substance Designer and Unreal. I had a small landscape with a material that blended between two types of mud, this allowed me to paint quickly while having control over wetness.
I followed a common framework used in film and photography which is called the 3 point lighting system: a key light, a fill or ambient light and a rimlight. An important note is that this method works fine in my case but might not work in a level where the player has to move around and navigate.
I knew I only wanted still shots from this exercise, hence this approach was fine. I wanted the main light source (key) going through the trees and hitting the character as if the sun was shining through. However, I decided to not use a directional light, I didn’t want an equal intensity radiating through my scene and wanted to control where the energy was. Directional sunlight will act as a source of energy with parallel light rays, it will simulate the sun going through my entire scene. I’d also be bound to using one light color and one volumetric scattering intensity. The level of control I wanted forced me to swap the directional light for large spotlights. For easier control, I set all values in Lumen and set all light colors to white-I’ll tint light colors towards the end once I’m happy with values.
(1) One large spotlight that acts as a fill light and brightens up the background. I increased it’s volumetric scattering to higher intensity to affect the entirety of the scene and add density in the scene. (2) One spotlight hitting the character at an angle. This light has the highest intensity. (3) An additional light serves as a rim light and highlights the top of the character’s head and weapon. The final image includes smaller lights (a mix of point and spotlights with light functions).
One challenge I had was having ‘bounce’ without baking lights. One trick was to use the Skylight to provide ambient information. Since there was a black box around my scene, I hooked up a cubemap into the Skylight, which results in ambient lighting that lifts the darker areas. Since I only wanted the ambient light information, I set the volumetric scattering contribution of the skylight to 0, so as to not get additional scattering the scene.
Intensity for Mood
In order to get the tone and mood I wanted, there had to be a light intensity difference between my main subject and its environment (this is called a fill-to light ratio). My key light was a large spotlight and the strongest light source in the scene, the lighting in the background was a lot dimmer which results in a very contrasted and shadowed look. You can read more about this here.
Unreal doesn’t have a tool that lets you easily measure the energy in the scene (with values), so I relied on my light’s intensities values and the detailed lighting mode.
To achieve a softer look with my main light, I allow for a larger difference between the inner cone and outer cone angles.
Light Through the Trees
I wanted to simulate smaller strands of light coming through the trees. For this, I used point lights with a ‘cylindrical-like’ light radius. In order to achieve this, I increased the length of the source shape and the source radius. For extra texture modulation, I applied a light function material to have more intensity variation depending on the texture used.
Volumetric Lighting & Fog
Volumetric lighting and fog can really bring together an entire scene and set the mood through density and color. I added an exponential height fog in my scene and enabled the volumetric fog with a very low scattering distribution. This allowed the incoming light to scatter in various directions as opposed to gathering towards the light source. It also helped me achieve a more believable look with a brighter background and made my spotlight placement less obvious.
About Light Functions
Light Functions are materials that modulate a light’s intensity and they’re a great way of adding variation. They only work with non-lightmapped lights: stationary and movable lights. I have a small collection of light textures that I made, these are often little blob looking textures that behave like masks (white = light, black = dark). The main material setup is really simple: first, the material domain has to be set to Light function, this will grey out everything except the emissive input. I added the texture and exposed basic scalar parameters to control the texture input, overall power and the tiling on the U and V coordinates.
It’s really practical to expose the parameters you’ll use the most and then rely on material instances for a faster and non-destructive workflow. (Small note: it’s not possible to add a color parameter in the material editor, the color has to be controlled in the light itself).
Recommendations for Learners
Firstly, Epic has great documentation that anyone starting to work in Unreal should read.
Texturing and lighting go hand in hand. If your albedo values are too dark (or too bright) your lighting won’t react the way you’d like and you’ll quickly start feeling frustrated and start tweaking a bunch of parameters non-stop. I recommend this great blog post by Sebastien Lagarde for PBR values and workflow in Unreal.
On YouTube, I highly recommend the talk below by Vivian Ding: she’ll touch on working from concept art, some lighting theory, the implications with environment art and her workflow when working on the Last of Us.
I’d also recommend the video series called ‘Unreal Lighting Academy’ made by Dedalus on lighting in Unreal. He treats environment as case studies and shows ways to approach lighting and how to tackle problematic issues.
Watching movies, picking up photography, reading about cinematography, playing games and being attentive to lighting and composition will help develop a good eye!
Lastly, an expensive 3D school is often out of reach for many people. If an artist is serious about getting better and learning, there are many resources that are easily accessible. Ask for advice and feedback and make time to practice. As a self-taught artist, I can say that persistence and a strong work ethic can go a long way in reaching your next goal.