Breaking Bad in Unreal Engine 4: The Key to Creating Realistic Environments

Edvinas Petrauskas talks about the production of the Breaking Bad scene in UE4, new Last of Us inspired environment and the way we can achieve realism in 3D environments.

On May 27th the creator of the Breaking Bad series, Peter Gould, retweeted a great Unreal Engine 4 scene. We’re not sure Peter actually knows what UE4 is, but he definitely liked what he saw. The scene was a very detailed recreation of the mountain lodge environment from Breaking Bad, created by a talented environmental artist Edvinas Petrauskas. In our exclusive interview, Edvinas talks about his production of the Breaking Bad scene, his new The Last of Us inspired environment, and the kind of tools he used during the production.

About Edvinas Petrauskas

I am an environmental artist originally from Lithuania, but I have been living and studying in the UK. I have just finished my final year at the University of Derby where I’ve been studying Computer Games, Modelling, and Animation for the past 3 years (or 4 including the placement year).

I got into the 3D art scene around the second year of my College degree (5 years ago). The degree itself had nothing to do with 3D or art, so I had to learn in my spare time. Before that, I wanted to do programming and I spent about a year trying to teach it to myself (mostly through scripting in Unity game engine and building random tools using Visual Studio). However, I discovered 3D art and thought it was a lot more interesting so I switched to that instead.

I have been into playing video games for as long as I can remember, and I have always been interested in figuring out how things work along with an involvement in all kinds of creative work. That was one of the reasons that pushed me to pursue a career in this industry. Whether it was concept art, 3D characters, environments, animation, or programming, I have experimented with and enjoyed a lot of them. Still, I have decided to specialize in 3D environment art as it is something that really grabbed my attention the more I learned about it throughout my time at my University.

I was fortunate enough to spend 2 months at Criterion Games (EA) as an Art Intern on the Need For Speed: Rivals title. While I was there, I got to do a little bit of work within different departments such as: Vehicle, UI, Cinematic, and World. The work I did included creating wraps/decals for vehicle customization, creating in-game billboard posters, doing some graphic design, and working with the World team to create road textures. While a lot of it had little to nothing to do with my area of specialty, it was still nice to get out of my comfort zone for a bit and work alongside some really talented people who are passionate about making games. It was also my first time working in a games studio, so it was great to see how it all worked and be a part of it.

My Toolset

The tools I use the most are Unreal Engine 4, Maya, Substance tools, Photoshop, Quixel, and Zbrush.

I like to do most of my modeling in Maya, as it is most comfortable to me since I’ve been using it for years. Lately, I’ve been trying to integrate Substance tools (Designer, Painter, Bitmap2Material) into my workflow as well, because they are wonderful and really speed up the texturing process while at the same time increasing the quality. I also like to use Quixel’s nDo to create normal maps either from photos/alphas or by using its Sculpting feature. I often use it to edit existing Normal maps as well to add some extra detail to them.

Some other tools I use from time to time:

Creating the Breaking Bad Cabin in UE4

The Breaking Bad cabin project was something I decided to do after I finished watching the series. That particular location really stuck with me even though it only briefly appeared in an episode. I thought it would make an interesting environment with a lot of emotion and with a feel of recent abandonment. I also felt that it would give me a chance to practice and learn a bunch of new things.

I approached the project as a learning opportunity because I managed to get early access to UE4 and still had no idea about PBR. So I saw it as a good opportunity to get familiar with both as well as research and experiment with different workflows to get up to date with them and find the ones I like the most.

Edvinas Petrauskas, Breaking Bad, Breaking Bad Mountain Lodge Scene, Last of Us, gamedev, indiedev, UE4, Unreal Engine 4, assets creation, realism in 3d, World Machine, Speedtree, Marvelous Designer, xNormal

I started out with collecting a reference of the cabin from the Breaking Bad series, as well as other cabins I could find on the internet which looked similar. With the reference by my side, I did some 2D sketching to try and figure out how the cabin was built and what the layout of its interior was.

Edvinas Petrauskas, Breaking Bad, Breaking Bad Mountain Lodge Scene, Last of Us, gamedev, indiedev, UE4, Unreal Engine 4, assets creation, realism in 3d, World Machine, Speedtree, Marvelous Designer, xNormal

Once I had the cabin figured out, I jumped into Maya to do a rough blockout of it and then brought it into the engine. The blockout was just the shape of the cabin, as well as some of the main interior props such as: the bed, stove, tables, wardrobe, the kitchen counters and so on; all of which were still primitive shapes like cubes and cylinders at that point. I then jumped to create the base landscape, starting with the Landscape tool inside UE4 I sculpted out the major shapes of it such as the cliff behind the cabin. I then exported the heightmap and brought it into World Machine. That was where I added more detail to it using effects like Erosion (which would otherwise be impossible to do by hand) as well as a generated base color map, and brought everything back into UE4. After some manual tweaking in the engine using the Landscape tools, I set the landscape aside and went back to work on the cabin.

Edvinas Petrauskas, Breaking Bad, Breaking Bad Mountain Lodge Scene, Last of Us, gamedev, indiedev, UE4, Unreal Engine 4, assets creation, realism in 3d, World Machine, Speedtree, Marvelous Designer, xNormal

With the cabin and its major props blocked out, I started the first art pass. I used Maya to do most of the modeling work. as well as a combination of Marvelous Designer and Zbrush for any of the fabric assets. I created high poly meshes, retopologized them by either deleting edges or using the Quad Draw tool in Maya, UV unwrapped and then baked out any maps that I needed using xNormal, which were usually Tangent and World Space Normal, Color (to separate out different materials on the model such as wood, metal etc.), AO/Cavity, Curvature.

the-breaking-bad-ue4-scene-breakdown-06

When it came to texturing, I decided to experiment with the “Material Layering” approach inside UE4 which involves creating a library of tiling Materials as “Material Functions”, and then blending them together in real-time using black and white masks (which I either generate in Substance Designer or paint in Substance Painter / Photoshop). For instance, I would have variations of tiling fabrics, rough and varnished wood, metals, plastic, snow, dirt, and so on. I would then blend between them in real-time using grayscale masks.

the-breaking-bad-ue4-scene-breakdown-04

Later I realized that while it can definitely be useful for hero assets or assets which need to have dynamic detail (i.e. character’s clothes getting wet/dirty), it wasn’t a good idea to do it for every single asset in the scene as there was a big performance hit due to the amount of assets. A much better approach would have been to do the layering of the materials “offline” using tools like Substance Designer or Painter and then simply exporting the final “blended” maps as Bitmaps into UE4. Having already textured most of the assets using the real time material layering technique, I decided to stick with it throughout the rest of the project as re-doing everything would have been very time consuming.

the-breaking-bad-ue4-scene-breakdown-02

I started fiddling with the post processing and lighting quite early in the project rather than leaving it till the end, which is something I still like to do to this day as it gives me plenty of time to iterate and also gives me (as well as other people) a better idea of what the scene may look like in the end despite the assets still being unfinished.

Challenges

1 of 3

The whole project was full of interesting challenges for me as I was still trying to make sense of workflows and have not worked on an exterior scene before either. Some of the challenges included trying to make the scene feel like a cold winter scene, and also have a similar lighting and feel to it as the location in the TV series. The reference material I have gathered (screengrabs from the series, as well as random winter photos which I liked from sites such as Flickr and Pinterest) definitely helped a lot, as it gave me a good idea of what the mood and lighting should be like. So from there it was just a case of trying to replicate it using the lights and the Post Processing inside UE4, and of course making any necessary tweaks to make it fit the scene better.

1 of 4

One silly problem was creating the round rug. While I could have just made it look like anything, being stubborn as I am, I wanted to try and create the exact one as it was in the Breaking Bad series. I ended up spending days trying to figure out how to create it. Eventually, the solution I came up with was creating a horizontally tiling pattern inside Zbrush, grabbing a Normal map from it, creating the round rug shape inside Maya using simple planar strips (which were using the tiling pattern map that I baked out), and then baking the whole thing onto a plane.

I also obsessed over the curtains, as I wanted them to be semi-transparent, but there seemed to be no way to achieve a realistic look inside the engine, unless you are some kind of a Shader Ninja.

The soft winter lighting was a result of some trial and error. I experimented with different lighting such as sunrise/sunset, sunny daytime, even nighttime. In the end I decided to go with daytime overcast as it would create softer shadows as well as make the scene look more cold and winter-like.

The Last of Us Environment

1 of 4

My goal for The Last of Us environment is to make it better than the Breaking Bad scene. I learned a lot of do’s and don’ts while working on that scene as well as during my last year at University. Now I want to apply it to a new project. Besides that, I’m hoping to learn and level up some areas which I didn’t get a chance to work on much with such as creating foliage, creating procedural materials using Substance Designer, visual storytelling, and color and composition. Since I am not working from a single concept/photo for this project (but rather pulling ideas from different reference material and trying to create something unique) it’s pushing me out of my comfort zone in that way as well.

I’m also hoping to achieve a similar style and quality to The Last of Us, and then push it further to try and think of how a sequel of the game might look like. I like Naughty Dog and was really inspired by the quality I saw in the showcases of Uncharted 4, as well as other recent demos such as the Epic’s Kite Demo. The project is very ambitious, but I always like to aim high because it’s a lot more challenging and fun.

last-of-us-ue4-environmental-scene-details-80lv-3

Where to Get Assets?

I try to do all of the assets by myself, but occasionally I may borrow a thing or two from an example project. For instance, in the Breaking Bad scene the particles I used were brought in from some of Unreal’s sample projects and The Last of Us scene currently has trees from the Kite Demo project. The assets found in the example projects are really great for prototyping/blocking out or using them as a base and modifying into something else.

last-of-us-ue4-environmental-scene-details-80lv-1

While the workflow depends on the asset, for a common prop I normally start out by gathering reference. Then, I create a really simple blockout mesh just to figure out the size and shape of it and then I use it as a template/guide to build the high poly around. Occasionally, I may also create a “detailed blockout” mesh before going into the high poly to quickly throw it into the engine with some base textures to see if it fits and how it may look in case I need to make some changes. It’s mostly the case for more important or complex objects. You want to make sure they will work fine before committing to do the high poly.

last-of-us-ue4-environmental-scene-details-80lv-2

I try to create the high poly the way the object might be built in real life. For instance, if it is made out of two parts that are joined together, I will do it the same way and create them separately the way it should be rather than as one mesh. I think it’s good practice to do it that way. I sometimes don’t model all of the details into the high poly, as it can be a lot faster to add some of it into the Normal map later using Quixel’s nDo or Substance tools.

The details might be screws/bolts, light damage, patterns, some smaller extrusions/intrusions, or anything that doesn’t contribute to the silhouette too much and would normally be baked rather than modelled into the low poly. Once the high poly is done, I either remove edges/details from a copy of it or retopologize it using the Quad Draw tool found in Maya’s modelling toolkit to create the low poly. At this stage, I try to keep all the edges that contribute to the silhouette and only remove what’s unnecessary even if the resulting model is still fairly high in polygon count as I can always strip it down more later if necessary. I can also create LOD’s. I UV unwrap the low poly and create a cage for it. Before exporting all of the meshes for baking, I color-code the high poly by applying materials with different colors to each part of the mesh which will have a different surface. For instance, an asset that is made out of wood and has a metal handle would have, for example, red material applied to the handle and green on the wood. This is so that I can later on tell Substance what materials should go where when texturing the asset.

In the past, I would use xNormal for baking, but I have recently switched to the baking tools found in Substance Designer as I find it much quicker and more comfortable to use. Once I have all of my maps baked out (usually Tangent and World space normal, AO/Cavity, Color ID, Curvature), I continue using Substance Designer to create the textures. I still either create them in Zbrush or photo-source them as I am still learning procedural texture creation, so I use SD to tile, tweak, and assemble the photos similarly to how I would have used Photoshop to do it before switching over to Substance.

For the foliage assets, I collect a bunch of references of the type of plants or whatever it is that I’m trying to make and create a high poly of it in Maya. I try to UV unwrap it early so I could apply either a texture to it or a “Ramp”, which is just a color gradient that you can add to an object in Maya. This helps a lot later down the line as you can then bake those colors/textures out and use them as a base Albedo, which usually does the job after a little bit of tweaking. I then bake several maps such as Tangent space normal, Color, Opacity mask, and AO from the high poly onto a plane and create the low poly alpha planes which will use those baked out textures.

The Quest for Realism

To make the scene believable I think it’s important to think it through logically and also come up some form of a back story, at least for some events that may have happened in the scene prior to the player seeing it, which made it look the way it does. For instance, maybe someone detached and used planks from the fence outside to barricade the windows of the house, or maybe there was a fight going on inside the house which led to broken glass/furniture and blood stains etc. You can also think about who lived there and what function the area had/has in case of damage done so you know what parts would wear out/get damaged first. There are a lot of things you can think of as long as it connects and is relevant to the type/style of the scene you are making. It’s something I always think about when working, so everything I add or do would have a purpose and make sense rather than being random.

Besides that, it’s also important to carefully consider how the real world works such as with the way different materials look/behave and what makes them recognizable, how things grow/form or break, get damaged, and so on. That’s if you want it to be believable. To figure all of that out, you can study the real world by observing/sketching from life, closely looking at reference images either found on the internet, or taken by yourself.

Reference gathering is definitely something I spend a lot of time doing. It’s a good idea to build a reference/asset library over time, so that you can just look through it and find something that you may need instead of having to search for it online. I think it’s important to not go over the top with the details though, as too much of it can create visual noise and end up looking bad overall. It is important to think about the details you are adding. If it doesn’t contribute to the scene much or isn’t logical, then it might be better to leave it out.

I usually browse either my reference folders or the internet (Pinterest, Flickr, CGTextures, Google images) to find high resolution photos with details that I think look interesting and would look cool in my scene. Other times I notice those kind of details in real life and make a mental note of them or take a picture, so I could try them out later.

I do use post-processing, but it’s usually things like color-grading, various tints, DOF and so on. I try to not overdo it as I am a fan of realism and in my opinion, too much post processing can make the scene look odd or break it, especially if not done right.

Unreal Engine 4 for Students

I love Unreal Engine 4, I mainly chose it as I have been using UDK (Unreal engine 3) for some time while at University so it made sense to upgrade. Having used other engines such as Unity and Cryengine in the past (while I think they’re great) I think they still lack something, whereas UE4 seems to be a full package. Besides being very powerful, it also has a user-friendly and very comfortable-to-use editor. It also has lot of community involvement and support, great documentation and tutorials, a marketplace filled with quality content, and the list goes on. As it is still being developed and improved with new features or fixes coming out every other week or month, it makes it even more awesome.

I think one of the main advantages of it for the artist is how fast and painless it is to set something up and get it working/looking exactly as you want. The easy to use material editor and post-processing allows you to craft any look and style that you can imagine. It features node-based implementations such as the material editor and Blueprint which are great since they allow us artists and designers to easily experiment/prototype ideas, and do a lot of things which we otherwise may not be able to do without having to rely on someone with a very technical background such as an engineer. The whole thing is free too, so anyone can download and use it without any restrictions.

I would definitely recommend any students to use UE4 or at least give it a try. It may seem complicated, more so if you have fiddled with UDK in the past, which from my personal experience was more tedious and difficult to work with for someone who is just starting out. However, UE4 is actually very easy to pick up and use. The documentation and tutorials created by both Epic and the community make it even easier to get going.

The recommended system requirements to run Unreal 4 are Windows 7 OS, 8GB RAM, a quad-core or AMD processor, and a DirectX 11 compatible video card. I think it really depends on the type of work that you’re doing though. For instance, if you’re working on large and complicated scenes then you may want to aim for higher than what is recommended, otherwise you may run into performance issues.

Plans for the Future

Medieval-Gothic-city-in-ue4-80lv

There are quite a few other personal projects that I’ve started and will continue at some point in the future. I have a “Better Call Saul” scene (surprise, surprise!), a VR demo of Mars, and a stupidly large and ambitious environment of a Medieval-Gothic city inside of a cavern, which I hope to finish one day.

Here is a rough WIP screenshot of the cavern city scene.

The scene was started as a University project because I wanted to pick something that was miles outside of my comfort zone. I knew it will be very hard, but it was about 14 times harder than that. So in the end I decided to put it on hold until I level up a bit more and have time to revisit it.

The scene is based on a gorgeous concept by Jesse Van Dijk, the lead concept artist at Bungie. It is a capital city of villages which is found in these huge underground caverns. The city is inhabited by different people and the whole idea behind the design is that the most notable amongst those people have secluded themselves from the rest by constructing giant walls around their city quarters. The highest dwellings of the city are reserved for the most privileged and carved out of solid marble (rock not native to the local environment), while the lowest areas are for the rest.

I loved the concept and I thought it would be very interesting to explore it more and try to construct it.

Edvinas Petrauskas

Join discussion

Comments 1

  • Thibault Monfort

    Very informative thread, thank you!
    Inspiring and reassuring to see the process behind such amazing renders. I started using UE4 a month ago, for a work in my firm and I'm still struggling with some concepts!
    I wish to see more article like this!
    Thibault (from France)

    0

    Thibault Monfort

    ·5 years ago·

You might also like

We need your consent

We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more