Romain Dauger provided an updated breakdown of his Last of Us scene with some new info, new screenshots, and his free shader. Enjoy!
Intro
My name is Romain Dauger, but all my friends usually call me “Trepan“. It’s my nickname and username almost everywhere. I’m a French 23 years old dude, and right now I live near Paris. I would also like to add that I’m a big gamer, all my friends can testify that if I’m not working, I’m usually playing games, or spending time with my beloved girlfriend.
I’m currently still a student in France, in a school called “New3dge”. For anyone who lives in France and wants to learn Art, Concept Art and 3D Art (Video Game or VFX), I would really recommend this school. I’ve been studying here for 1year and a few months now. Before entering New3dge I was in another school that I didn’t like, that’s why I left it to switch to my current school.
During my free time between those 2 schools, I’ve contributed to a few projects. Mainly during my internship at Cyanide Studios. The internship lasted 6month and I learned some interesting things and made a lot of friends there. I’ve worked on the game Styx: Shards of Darkness as an environment artist. You can check some of my work here. During my time at Cyanide, I also worked on the game “BloodBowl 2”, as a character artist.
The Birth of The Last of Us Scene
The project was initially born as part of my school homework. But I have to say, with the hype coming from the announcement of “The Last of Us 2” I knew I had to deliver more than a simple homework for school. The Last of Us is one of the games that truly hit me, and made me cry. So I wanted to honor this special project.
I’m going be completely honest with you, I know it’s bad but I really did not use that much reference. And I barely looked at the ones that I chose during the work process. Before starting the project, I replayed the entire game with my girlfriend (the remastered version) and cried again at the end… damn you Naughtydog!
Then when I started the project I asked myself: “Ok, what type of environment are we going to choose?”, and I remembered this scene from the game that I liked.
So now I knew WHAT I wanted to do, but HOW ? (Lighting ? Nature ? Water ? Rust ? Dirty ? Bloody ? …) Instead of looking at in-game footage and copy it to create a fan art, I decided that it would be better to kind of do my “own” Last of Us scene. Therefore, I started looking at a lot of original concepts from the game, and got inspired by them.
By limiting your inspiration only to the original concepts, it helped having the same “base ideas” that the actual The Last of US 3D artists had, but not necessarily end up with the same exact result, since I’ll add my own interpretation.
Here are the 2 concepts I chose.
After choosing those 2 images, I knew I wanted some kind of soft late sunshine with a bit of backlighting effect. I looked at both of the images for a few minutes at the start of the project, and I don’t think I’ve ever looked at them again.
The rest of the project creation & ideas were just simple decisions and eye judgment made on the go. Everything decision I took was chosen by trying again and again to find something that made me feel like I was inside The Last Of Us. I’m just testing all the time, that’s what I love about 3D. Want to try something? Ok, just do it. If it looks great and makes you feel like TLOU, keep it. If it doesn’t, just remove it.
Blocking out in Unreal Engine 4
Building everything in UE4 is definitely way faster. For so many reasons. If you built everything separated, and with modularity. you don’t really have to think about anything other than size, and usefulness of your props while you are making them in 3DS Max. Because once everything is imported inside UE4, well it’s just so damn easy. It’s like playing SimCity. And what’s beautiful about it is that you could create like 100 different version of the bar I created with the same props.
So basically:
– You win TIME (by not having to create the whole architecture before, and maybe make mistakes that you’ll have to correct later on).
– You usually win QUALITY (since you are building everything in real-time, with all the shaders applied, etc… you can see way better if your scene is going to look good in the end. You can’t really “play” inside your environment in 3DS Max).
For example, I don’t think I would have created this “nature corridor” inside 3DS Max. http://puu.sh/taVEv/d66a40349c.jpg Just because inside Unreal Engine you have the possibility to test stuff super fast, you end with more possibilities and a higher chance to find a good idea.
The blocking stage basically just helped me finding:
– The good amounts of props that I needed to fully dress the scene
– Size/Proportions of the room and props
– A ver,y VERY rough 1rst version of the architecture of the whole room
Modular is LOVE, Modular is LIFE!
Each kit had its own benefits, and they are MANY! Here is one example that I did not show in my original breakdown.
This technique is great, because I just had to create one texture and one simple prop in 3DS Max, and it worked! This technique is also super fast.
Basically, I just create 2-3 variants of little roof squares and a full pipe “kit” that will make me be able to create pipes of any length, shape, or size I want with only a few pieces. You’ll win a lot of time sculpting with this technique since you’re only sculpting a few pieces. And it allows you to have any variations you want.
Once the sculpting and texturing is over, I think it took me something like 20-30 minutes to create the 4 different roof pieces. And since they are have square shapes with a metal border, they will tile inside UE4. It works the exact same way for my “windows & stores” kit.
These modular techniques will be:
– Less time-consuming
– Will bring more diversification since you can create variations
– You’ll be able to mix them any way you want inside UE4
– More optimized: Since a big prop can you only have simple tileable texture
In this kit example I just created a few planks in Zbrush, and with them, I could create a few variations of barricades.
Props
Baking in Marmoset Toolbag 3
In my opinion, Toolbag 3 is simply the best baking tool in the market right now.
– It bakes ALL types of maps in 4K at the same time (except AO) in just a second)
– If you add the AO, you’ll just add something like 1min or so.
– You’ll have a real-time preview of all your baked maps on the mesh
– You can edit in real-time any specific baked area of you mesh, and it updates in real-time
– You can PAINT your baking cage, and of course, it updates in real-time
– You can PAINT your holy freaking skew mesh, I mean come on? It’s simply amazing!
This software made me win a lot of time. And the baked maps quality are simply awesome.
Material Production
Not so long ago, I was always working with Substance Painter. But someone introduced me to Quixel SUITE. At the beginning, it was super hard for me because the software is so slow. Every single action requires a huge loading, it can be super exhausting.
But then I realized that all this time in loading was nothing compared to the quality of textures this tool can provide. The scanned textures are really great, they really help to achieve good results. The only real bad thing I have to say about Quixel, is that it can really suck if you want to create metal with a Metalness PBR. I feel like all the scanned data was really created for the Specular PBR model. Therefore, I sometimes had nasty surprises when I imported textures with metalness inside UE4.
A good tip that I can give, is that if you change your HDRI inside Quixel 3D0 for the UnrealEngine one, you will have a more accurate preview of what you’ll get inside Unreal Engine.
Once thing I noticed when I played The Last Of Us, is that the textures are a bit “sharpened” and the colors are exaggerated. That’s definitely something I was aiming for. Here are some examples.
Other than that, I just focused on trying to achieve a semi-realistic look. One thing that I do a lot when I texture my objects is switching from looking at them from afar and up close. If they look “real/realistic” from afar, and when you get closer you feel that they are some exaggerations, then you’ve succeeded.
One more thing I wanted to say about texturing.
Same goes for plants, bottles, etc.
Free Shader!
You know what? I’m just gonna give it to you guys for free. It will just be way too long explaining everything, I spent hours looking at tutorials online and trying to learn by myself. I think that it can be a good way to learn if you try to reverse engineer the shader. Here it is (free download for UE4)!
It also contains every single map needed to achieve this.
Anyway, it’s basically just a lot’s of lerps, alphas, plugged in with vertex paint color. I just added parameters to control the appearance contrast and height level.
Struggling with Vegetation
It was a first time for me. But it was a lot of fun! I feel like there are 2 important things to think of, when you create plants.
– Optimization: Make sure you have a good ratio between polycount, and “opacity percentage” (The amount of black that the GPU will have to process to create the opacity of the plant)
– Volume: You have to make sure that you’ll be able to look at your plant from any direction without it starting to look weird.
Creating Lighting
I had two main troubles while I was trying to light the scene. The “backlighting” effect, and the fact that it was my 1st time lighting a scene in Unreal Engine 4. It was really hard finding a balance in the contrast between the light that’s coming from the windows, and the dark areas that weren’t receiving any light.
In the beginning, I had a huge contrast, big and powerful lighting coming from the windows, and very dark areas. It was looking great when I was taking screenshots, but as soon as I started moving the camera, or when I was playing in 1st person inside the scene it was just ‘meh’.
Since the project isn’t for a single shot, like an illustration or concept art; but a real-time 3D scene that you’ll want to move inside and look everywhere, I realized that you really need to have a least some sort of light sources everywhere. It’s “fake”, but when you play or move inside the scene, it feels much better. For example, when you play a video game, you’ll NEVER find any completely dark areas that don’t receive any lighting, except for horror games.
I approached the lighting with the following methodology:
1) Create 1, 2 or maximum 3 Lights, to create your MAIN light sources. And bake the lighting.
If it looks bad, change your lights intensity, position, and retry. And keep doing that until you end up with something that looks pretty good. Do not add any other light until the 1st step isn’t working.
2) Secondary lighting: When the 1rst step looks good, look at the areas that did not receive any lighting, or simply the areas that don’t look so good. And start adding smaller lights.
I use secondary lights to:
– Add reflections in the water, metal, etc.. (If your object doesn’t have any light to reflect, you’ll end up with a very flat look)
– Break the colors (You’ll find some blue, yellow, orange, white areas in my scene) It’s very subtle sometimes, but I really think that it adds a lot to the scene.
– Remove completely dark areas. (Behind the bar, or under the tables, it was very dark in the 1st place. So I used point lights with the option “cast shadows” inactivated. It’s a good way to add luminosity to an area without breaking your main lighting
3) : Movable lights :
I used some flickering lights and the torchlight. These lights really helped me make the scene feel more “alive”. It can be very boring if absolutely nothing moves.
4) : FXs
I think it was one of my favorite things to do when I was dressing the scene! FXs are so powerful at changing the mood, and the feeling you get when you move inside the room.
I mainly used:
– Godrays (with rectangular shaped planes that always face the camera) GodRay Alpha/Opacity/Emissive color
– Ambiant dust (Huge planes that moves and turns very slowly, while always facing the camera) Dust texture/Opacity/Emissive color
– Ambiant dust 2 (A lot of small square planes that moves slowly all over the place) Dust texture/Opacity/Emissive color
While I was placing them in the scene, I realized that you really have to be careful with FXs, especially ambient dust, and god rays. Since the dust and godray light amplifies if you light them, I had to change the position of some lights in order to tone down the effect. I would also like to add that the lighting took something like 4 or 5 days. But that’s mainly because I made a LOT of mistakes during the process.
Final Thoughts
Additional tips for lighting that comes to mind:
Don’t forget to use the post process volume to help your lighting!
I’ve used a lot the “Gain” option, that helped me darken the whole scene, and the contrast, saturation, and Temperature. I think that’s how I achieved the “soft late sunshine” effect. I entered a quite cold value in the “temperature”, but I warmed up the scene with warm values in the main light sources.
The biggest tip I can give to everyone who wants to light a scene in UE4 is to TEST EVERYTHING, PLAY WITH EVERYTHING. It’s real-time for god sake, you can do and undo anything in a wing beat. The more options you TEST, the more you’ll FAIL, but the more you’ll LEARN and IMPROVE, and you’ll significantly increase the chance to find something that looks good.
I hope you’ve learned something from my little write-up, or that at least you found it interesting. I would like to thank 80.lv for this opportunity. Cheers!