after reading this incredible article, im still left with the question..."but, HOW?!"
More of these please! I need some good beginner tutorial!
ahahahah Luke hahaha comment of the day !
Christen Abma did an amazing breakdown of the dark and moody environment she made in UE4.
I’m Christen Abma, an environment and technical artist from Texas, and recent Arts and Technology graduate from the University of Texas at Dallas. Most of my game and technical art projects happened in college, but I started working with environment art as a modder. When I began years ago, I didn’t even know how to create new geometry, so I had this absurd process where I would move existing vertices and re-UV map old geometry into entirely new models. It made me very patient with UV mapping, but now that I’m doing a more sensible workflow, it makes me wonder how I ever got anything done like that.
This attic environment started as an excuse to try out Unreal’s lighting system for the first time. This was perhaps an…. unwise choice given how unusual the light setup is, but it was so much fun I can’t say I regret it.
The concept art I did for this shot with the single chair against the wall was done completely in grayscale. There aren’t many intense colors in this scene (even the desaturated blue rug I deliberated on for quite a while) because I really wanted the composition and lighting intensity to be the focus.
I spent some time playing Bloodborne while waiting for my light baking to finish, and it was definitely a huge inspiration for this scene. There are two major takeaways that I applied to this scene.
Roughness variation: This is a good texturing rule in general, but Bloodborne really pushed it. Wet spots, mud, recently rained-on stones, etc. The bright reflections of light off wet spots are an especially good way to draw the eye or break up a flat surface.
Geometry: When texturing, it’s easy to get into a headspace of just thinking in 2D. Computers have come far enough that putting actual geometry (in moderation) on the floor can be a really useful way to break up or give life to an otherwise very flat scene.
All lights in this scene are baked. The key light in this scene is the sun (2 intensity, with an indirect of 4), with a very very dim skylight (0.2 intensity). I left the intensity high on the sun to get some texture blowout on the floor for emphasis.
The large standing mirror was used as a light reflector. The lit bulb in front of it is there, not to draw attention to the bulb, but to blow out the mirror texture behind it. Otherwise, the mirror was putting too much emphasis on the objects it was reflecting and not enough on the lighting and composition.
I have a few other minor lights in the scene, but they’re all extremely dim and localized. These small lights are something that works well for a static image shot but could be easily removed for runtime. That big reflection in the background is how the planar reflection volume for the mirror looks in the editor.
The post process material in this scene was a massive light all on its own. It currently has a global gain Y value, which lightens the scene as a whole, of 8. That’s pretty crazy, even when it’s being tempered by the auto exposure post-processing, which brings the values down to something more natural. I probably wouldn’t recommend doing lighting like this in a game (it can wreak havoc on a PBR workflow), but as an exercise in post-processing and unusual lighting setups, it gives a unique look.
Unreal material instances played a big role in the creation of this environment, especially for the procedural wood. Given the massive amount of screen and world space the wood takes up, the bounce lighting effect of the wood texture was immense, so being able to do rapid full-scene texture changes was really important.
It’s because of material instances that I stumbled into a happy accident early on. I was editing another material, opened the woodmaster material by mistake, and applied a metallic value of 1 to it. When I went back to check my scene, I immediately fell in love with the changes. Because of the way metalness works, it allowed ‘reflections’ to be present on textures with a very high roughness value. It was a cheap way to have the wood be more reactive to the position of light within the scene without needing to spend time on lots of vertex painting or extra lights that would then need to be baked in. This was especially important when using such intense post-processing gain because the metalness limited some of the flatness created by uniformly brightening the shot.
(I would have put these pictures into a slider-image, but I’m unsure of what would show up well in an email)
I eventually settled on a metallic value of 0.6 for the wood. The best part is that, even in a moving first-person perspective, the added metalness doesn’t create any strange reflections or odd shininess. I have yet to try this outside of the unique lighting setup I have in this scene, so results could vary.
Most of my materials were done procedurally in Substance Designer and/or with my own photo references. This project got me very familiar with different varieties of wood textures. While the albedo didn’t require too many changes, just tweaking a few parameters and switching to different types of noise based on the wood style did. The same albedo can be used with different roughness values for an entirely different style of wood. Fancier furniture woods will have a smooth, less-noisy varnish, while water-damaged and raw wood (like in an attic) will have a lot more variation in roughness. With a bit of value alteration on a preexisting roughness map, the same wood texture can be used over and over with completely different results.
Most of the textures in this scene went through a pretty standard process: Substance Designer for the base material and Substance Painter for detailing and age. The leaves were done by physically scanning for my reference. I wrote a quick progress breakdown for my Artstation.
It’s nothing magical. Just a cheap scanner, cutting out the shape in your modeling program, then using the model triangulation to prevent flat ‘leaf sticker’ syndrome. Sometimes the easiest routes can be the most effective.
I was pretty excited about the gramophone because the way light interacts with records is so interesting. In general, when you import Substance materials into Unreal, you want to switch your grayscale maps to be linear color instead of Unreal’s default ‘color’ (sRGB) type. But in this case, I used sRGB for all textures because the way Unreal handles grayscale sRGB values (while not recommended for general rendering), is perfect for the all-black densely packed circles of the recording material.
The rug was created entirely in Substance Designer, no outside sources used. A breakdown can be found here for anyone interested.
As a technical artist, optimization is mostly habited at this point, but there are a few things that would need fixing up in this scene for game use. Huge textures are probably the biggest sin here because it’s a portfolio piece, but for a true kit creation, I would have made some of the wooden wall panels without gaps into 2D planes instead of having each be comprised of actual 3D boards.
Just like any art I do, I look back and think, “Wow, I could have done this 10 times faster now”, or “Some of these things really could use tweaking or change”, but in the end, it was a fun scene and a great way to learn.
Christen Abma, Environment and Technical Artist
Interview conducted by Kirill Tokarev.