I have been wondering about the environments in the Last of Us 2 and the amount of detail in them is astonishing. I am not sure what game engine Naughty Dog is using but I wonder if dynamic light is being used at all in the game apart from the torches used to light dark areas in the game. The shadows on the very large terrain from the buildings, are they static light baked or dynamic light, cascaded shadows? I think they are probably lighting interior lit areas with stationery lights because of character movements or is there another tech at play here.
Would really appreciate any input from devs as well as artists here. In games, are dynamic lighting used for casting shadows for terrains or static lighting is preferred. Also I noticed there weren't load times from the videos on youtube ( don't have time to play, busy with work).
Replies
https://www.youtube.com/watch?v=9X57DfOgG0g
Why are they so hush hush about the engine they are using. The lighting on the characters looks very good. I would say their environments are among the best I have seen. Everything looks cohesive, like they have been lived in and every object, asset seems to tell their own story.
Looking forward to what they do with next generation tech.
Also there's often very little of interest you can say with proprietary engines - if you were to implement a system in unreal or unity you could break down the process and usage in a way that's meaningful to people bit if it's your own engine, only the very broadest strokes of the design will be transferable somewhere else.
Dynamic Lights:
Things like torches, flood lights or lanterns that cast light and would effect the players shadow are simple run time lights. These are of course expensive compared to pre computed baked lighting but allow for real time shadows and fog interaction from Players and NPCs.
Dynamic Sun Light:
If the level has sunlight in it we are using a single Dynamic Sun Spotlight that has Cascading Shadow detail. We can control the range from the Player and the detail quality of the shadows. Say for up to 20 meters away from the Player we want full rez shadows, maybe at 50 meters we drop to half rez shadows and shadows beyond 80 meters are 1/4th resolution. (note, since many levels are overcast we actually have the sun entirely disabled as its an extra expense that is not needed. You wouldn't have shadows appear in a fully overcast day)
Precomputed Lighting:
The majority of our games are precomputed baked lighting that is stored in Lightmaps. This gives us great soft shadows, the ability to have a lot of bounce light color effect the scene all the while keeping the frame rate hit low as this information is baked into the lightmaps. It of course means shadows cannot change dynamically and a scene would need to be rebaked for any light adjustment.
It also means when working on these levels you have to wait generally between 2 to 5 hours depending on the size of the level for lighting to be calculated and stored in lightmaps. Changes to the level geometry can and often does break the lightmaps and they must be rebaked. Again using lightmaps gives you great shoft shadows and keeps performance running great. Dynamic lights are extremely expensive and you can only have so many.
Skyboxes, Cubemaps and LUTs also effect the Render Settings that are used to give us our overall lighting look. Hope this helps
In terms of what "engine" we use I guess we call it the Naughty Dog engine? ha Like many studios we just have proprietary tools that are integrated into Maya (or whatever software package you use). We don't have a separate editor like Unreal where scenes are built in. Everything is built inside of Maya and we have custom made stand alone tools like a Shader program that directly interfaces with Maya. I build my environments in Maya and basically hit a "build" button and all the levels data is compiled and sent straight to our Dev Kits.