Creating a Modular Lower Deck of a Ship in UE4

Creating a Modular Lower Deck of a Ship in UE4

Ethan Pflugh shared a detailed breakdown of his UE4 scene Below Deck: floor assembly with modular planks, use of decals, hero prop modeling and texturing, and more.

Introduction

Hi, I’m Ethan Pflugh. I’m a student currently studying in my last year at the University of Colorado Denver. I’m in my last semester of school and have completed their 3D animation program. My interest in games came at a very young age, I was always trying to play some sort of games when growing up. I finally became seriously interested in game art when I was about 12 and I picked up Blender until I went to university. 

I’ve been officially studying 3D art for film for the past 4 years at school but at the same time, I have been teaching myself environment art for games for about 3 years. I’ve always wanted to go into game art and environment art came naturally to me as I loved all aspects of asset production and really enjoyed building worlds. 

1 of 6

Below Deck: Pre-Production 

My goal for the project was to improve the basic skills based on what could have been done better in my last environment. I wanted a good overall environment as well as some detail in the props and smaller elements to allow for close-up shots. 

I was also targeting a realistic style more akin to studios like Raven Software, Activision, Machine Games, etc.

I started by collecting a bunch of environment concept art. I found 6 that I liked and broke them down and figured out how I could make them. This is where I would look for modular opportunities, trim sheet usage, as well as figure out a basic workflow for the majority of the assets. I knew I wanted to sculpt a good bit of the assets because I loved Santa Monica Studio's art style for the God of War series and wanted to try a workflow like that. 

Once I chose the concept art I wanted to use, I had another reference gathering pass to get references for all the different elements in the scene. This included looking at different structural elements that can be modular, possible decal options, and images for all the different props so I could figure out how I wanted to go about making them.

Modeling/Sculpting

The blockout was pretty straightforward. For the most part, I tried to follow the concept art for the main shots. Moving into production I wanted to prioritize the larger assets first, this included most of the structural elements and the floors. 

Modeling the structural elements was pretty straightforward, the floor planks are where it started to get complicated. 

There is obviously a good number of planks in the concept. Originally, my plan was to model, sculpt, and retopologize about 30 planks in about a week. After a humorously short conversation with my mentor we decided to keep in mind the phrase “work smarter not harder” and decided to prepare 9 planks and make the floors out of those. This solution proved to be very effective for the rest of the environment, with 9 planks modeled I was able to turn that into a kit and make as many variations of floors as I needed, all snapping to the grid. 

When I was sculpting the planks I focused mainly on the contours knowing that I would address the flat surfaces of the planks in the texturing process. For this process, I used mainly the Trim Dynamic, Trim Smooth Border, and Dam Standard brushes. Later on in the process, I also made use of Morph Targets in ZBrush to be able to erase large chunks of the wood and rebuild the edges with a square alpha. 

Texturing

Texturing the floor planks was a process. I tried to take a natural approach to it and start with a base texture that would resemble something similar to fresh planks. I then layered them with different materials like varnish, stain, grunge, dust, and grease. 

The general idea for texturing these was to make each plank look like they fit together but also unique enough so that they were distinguishable. Having alphas for this stage was very important, they allowed me to stencil in wood details where I wanted to distinguish the planks from one another. 

Most of the scene consisted of the larger objects, once I had those finished I only needed to make a few props to fill in the scene. The majority of those props were crates and barrels so for that I used my previously sculpted planks and organized them into a trim sheet to be textured and re-used for all my crates. 

The planks for the trim sheet were retextured using the same process as described above, only this time I didn’t add much dirt or grease to it as I wanted the trim to be clean and versatile. 

The crates were modeled specifically to be used with a trim sheet. The crates are made with basic geometry with UV cuts around most of the edges so that I could organize the UV tiles in strips along the trim sheet. 

The trim sheet itself was very basic in detail. To finalize the texturing of the crates I used decals to get those finishing touches like dirt gradients, brandings, and rivets. My process for finishing these crates was to build a prefab combining all the assets and decals. 

The process consisted of meticulously placing decals all over each crate. This proved to be the fastest way to make these crates because of the sheer number I would have in the scene. 

Note: A drawback of this method is that decals can be confusing at times. If a decal overlaps or overextends the mesh it is being used on, it will show up on other parts of the environment that are close to that object. So be precise! 

Building Decals 

The environment as a whole had a lot of decal potential. I had plans to make some natural decals like dirt gradients, grease drips, and puddles, as well as decals for brandings, scratches, rivets, and nails. 

The list was quickly growing as I was working so I decided it would be fastest for me to be able to make all of the decals in Substance Painter at once. To do this, I created a 5x5 decal sheet and slowly started creating decals as I needed. 

I wanted the decals for the rivets to read very 3D when placed on surfaces, and to accomplish this I decided to sculpt the rivets in ZBrush and bake them to a plane for texturing. By baking the rivets from the high poly I was able to bake out the necessary maps in Substance Painter that sped up the process. The ID map proved very useful as I was able to separate out the rivet, grease, and wood materials in the sculpt. 

To support this decal sheet I wanted to make a master material in UE4 that would automatically navigate to and crop the desired decal from the sheet. 

  1. Parameter for setting up the size of the decal grid sheet
  2. Parameter for navigating to the desired decal (after setting the size)
  3. Test Grid I used - 3x3 grid
  4. Channel overrides set up with switches 

With the nodes set up and working, I connected it to the master material and added some other parameters to work as channel overrides for Roughness, Metalness, and Ambient Occlusion. 

This master material turned out to be a huge time saver because it allowed me to make material instances of the decal master material and quickly select the decal I wanted. 

The Cannon 

The cannon was the first of many props to be created. This prop was really the only one that I sculpted uniquely and baked down. The other props like the lamp were modeled in high poly first, then textured in the low poly. 

I modeled the cannon to be symmetrical so that I would only have to texture one side and one wheel. I achieved this by stacking the UV shells on top of one another and moving the duplicates up 1 UV tile. This allowed me to paint on the first UV tile while avoiding baking errors from Substance Painter. I also separated the metal materials and wooden materials into shader groups. 

Process: 

  • Model a mid poly version 

Getting good, readable textures for the cannon was really important. I want to stress that throughout the process I was constantly exporting out my textures and updating the material in UE4 to make sure the materials read well. This was extremely helpful for shading the metal components of all the assets in the environment. 

1 of 2

Another tip I will give for texturing metal is adjusting the normals before adjusting the roughness. In the reference photo I was using, the metal had a lot of specular breakup but when I tried to imitate that by adjusting the roughness it didn't read well at all. 

Note: Adjusting the normals first can create a really strong base metal to start working with, it also helps achieve a “roughness breakup” effect without actually changing the roughness. 

  • Sculpt the High poly version 
  • Retopologize and Unwrap 

Substance Painter vs Substance Designer 

When I was starting to think about creating wood materials for this environment, I thought Substance Designer was my tool of choice. While talking to my mentor about this, we discussed how long it would take to build a wood base material versus starting with image textures. Ultimately, I used image textures to start the base of my wood materials. I went this route because wood naturally has a lot of different color and grain variation. For the sake of time, it was a lot faster to bring in a few wood textures and color correct them as needed instead of building one comprehensive wood generator in Substance Designer. 

With that being said, Substance Designer was incredibly useful for generating alphas. During the trim sheet texturing phase I made some wood grain alphas to stamp on the texture. I just wanted something to add to the detail of the crates texture because it was using the same sculpts as the floors. 

Assembly in UE4 

Building the scene was fairly straightforward as you would imagine. I focused my set dressing on the outsides of the walkways, I did this because I was thinking of the scene as if it were a playable level in a game so it made sense to have clear paths for the player to move around. 

I tried to set dress the environment naturally by starting with the larger (in green) objects like pillars and cannons, then slowly populating those areas with smaller (in red and yellow) elements to fill in the space. 

Prefabs were a crucial part of set dressing throughout this project. As mentioned above, all the individual crates were made as a blueprint/prefab in order to texture them further in the engine. I ended up making a grouped crates prefab which allowed me to populate the “low-interest areas” of the environment. 

Lighting and Composition 

Lighting this environment was tricky because the only natural light able to bleed through into the environment was from the cannon windows on the sides and cracks in the ceilings on the top. With natural lighting alone, the scene was incredibly dark. 

Spot lights and Rect lights were incredibly useful for lighting the scene. 

  • Rect Lights: useful for creating soft fill lights to fake bounce lighting or natural light. Barndoor parameters are extremely useful for directing light where it needs to be.
  • Spot Lights: great for accentuating certain elements due to its adjustable and naturally soft radius.
  • Attenuation Radius: one of the most important settings for all lights. This controls the distance at which the light has an effect. It’s mostly used for performance purposes but is great for tweaking lights. 

Final Thoughts 

Throughout all the time I’ve spent on this project I have learned so much including a few incredible lessons:

  • Taking the time to invest in good texturing is what elevates assets to the next level. 
  • Work smarter not harder; a cliche but it rings true. I learned that if I’m planning on investing a lot of time into something I should try to find a way to make it reusable especially for a large environment (sculpting 9 planks and rearranging them is just as good as sculpting 23 planks uniquely... it's just faster). 
  • A project is finished by small victories. I was working on this project for about 6 months while doing school full-time and a final project for my university program... that's quite a long time to work on a project. It helps to keep in mind that small progress is still progress, and taking the time to make something small look good will pay off. 

Lastly, I want to thank my mentor Ayi Sanchez for guiding me throughout the project. Many of the things I learned, I learned from him and his willingness to share knowledge and take the time to teach me was invaluable. I look forward to carrying on this experience and lessons into my future projects. 

Ethan Pflugh, Environment Artist

Interview conducted by Arti Sergeev

Keep reading

You may find this article interesting

Join discussion

Comments 1

  • Joseph Burgan

    A super thorough and informative article, thank you so much. Loved every word!

    4

    Joseph Burgan

    ·21 days 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

Creating a Modular Lower Deck of a Ship in UE4