Half-timbered House

 Half-timbered House: UE5 project following a concept art piece

 

Hey everyone!

I decided to make an environment piece following a concept art piece by Panda Dao. For this project I had a few goals in mind: improve the making of modular kit, learn new techniques for making efficient landscapes, improve the knowledge of UE5 shader creation and create more than one lighting scenario.

Concept art by Panda Dao    


Planning: Moodboard and Concept Art Breakdown

To start with, I did a broad research on various materials and models that I will be making. I strated with making a moodboard and a mindmap using Mural to help me with project planning.
 
My main inspiration for the project was Jasmin Habezai-Fekri.
 
I started planning my props and what materials I will need

 
I chose to make a huge chunk of the project with tileables and trim sheets. They are highly reusable, thus save texture space and can be modified inside Unreal. This way you can have some extra variety in textures creating visual interest. All trims and tileables were made using Substance Designer.

A plan for figuring out, what my textures should be


 
Modelling
 
One of my goals for the project was to practice my modular kit creation. With that in mind, I made all the walls modular. From the beginning I was plugging all my models and textures into UE5 to see how it looks at every step. This way it helped me make improvements based on the concept art. Furthermore, seeing my work at every step in the engine, helped me feel accomplished, thus not loosing motivation throughout the project. For modelling I was using Autodesk Maya. 
 
Once I started modelling, I decided to do approximate measurements for the structure taking the human in the scene for scale. On average, a person is around 1,7 meters using a character from the concept art for scale, I measured the approximate height for my walls. I wanted them to be integer numbers that can easily be divided by 5. This way it was easier to choose the right texel density. Doing further research, I learned that most 3rd person games nowadays are made with 10,24 texel density. I decided to go with that as well. I found Anthony O Donnell article on Artstaion about Texel Density very valuable to understand all this: https://www.artstation.com/marketplace/p/nVn7/texel-density-and-other-bits-of-texture-theory
 

 
The first blockout phase




After the walls were done I went to make modular planks.I decided to make an atlas sheet for all my windows and doors instead of making them unique textures. I chose that to improve my skills inside Substance Designer.
 
 
 Sculpting Details, Baking and Texturing Unique Props

In the scene there are a handful of objects that can not be textured with tileables or trim sheets. For them I Utilised high-poly to low-poly baking pipeline. I sculpted all the details using Zbrush. I found it tricky to decide which details should be sculpted and which details could be part of the mesh. What helped me decide on it is looking up artists who did similar style props and see their wireframes. It was very helpful that I already had my moodboard that had all the answers for me.

My brushes I used for sculpting:

- Orb Cracks Brush
- Clay Buildup Brush
- Move Tool
- Mask Tool
 
 
 
Alpha mask for the Saloon sign
 
Texturing Tileables and Trim Sheets

I decided that I want to make as many materials and tileables with Substance Designer as possible. I find the software fascinating as it is easy to adjust the textures according to the concept.

All were made using Substance Designer

Vertex Painting
 
I used vertex painting to add variety to the walls adding plaster, mud and moss. I also added a parameter for controlling the tint of the textures.
  

 
 Landscape 

After the main structure started to look a little more like in a concept, I went to make the landscape. I knew that I will be using Runtime Virtual Textures (RVTs) for my landscape. With them you can make a more efficient landscape shader. They reduce the amount of times the landscape shader is being calculated for each pixel for each frame. This will improve GPU performance.
To use RVTs there are a couple of steps to take:
1. In landscape details menu I created an empty slot for RVT element array and then created an RVT texture.
2. I created an RVT volume and under Source Actor I selected my landscape that is going to be rendered in the RVT.
3. I made sure that the RVT volume covers the whole landscape.
 
After that, the landscape material will also have an extra RVT output node.
 
Here's the material for the landscape:
 

Here you can see it in more detail: https://blueprintue.com/blueprint/u8uu3u83/
 
Grass
 
Upon doing research, I learned about two different pipelines to create grass: 

- Create grass atlas with opacity on to create add on simple flat mesh (like a decal).
- Create detailed grass mesh.
 
As I wanted to learn more about landscapes I decided to try both ways.

With the both pipelines, it is very important that all grass mesh vertex normals are facing up to create stylised and pleasant look. You can see in the images below how much the same mesh looks different after changing the normal direction (Second way of making grass):
 
 
I wanted to add a variety of colours to my grass. After experimenting with the colours, it didn't look that good anymore. so I took this opportunity to try out the other grass creation pipeline.
 
The grass after adding extra colour

After trying out the opacity mask grass pipeline, I was happy with the new results:
 
Grass made with decals (grass colour is affected by landscape colours)


Same grass with gradient coming from top to bottom (I prefer this version the most)

 
Same grass with gradient comming from bottom to top

Here you can see out the grass material:
 
 
Here you can see it from a closer look: https://blueprintue.com/blueprint/r1cr2_4b/
 
 Trees
 
I wanted to learn to create colour variation for my trees and so I utilised Per Instance Random material node. It creates random number based on my mesh instance (blueprint actor). The number then can be used to multiply it with gradient. Furhtermore, I created a gradient for each tree canopy and also for each singular leaf cluster. Here's the whole material graph:
 

 You can see the whole graph in detail here: https://blueprintue.com/blueprint/mply9699/
 
 Skybox
 
My next task was to make a seamless sky texture. I made the HDRI using Photoshop.
 
 
 
Fog Cards
 
I started working on my fog by creating fog cards. They can be very effective when you need to create depth in your scene, creating an atmospheric and moody environment. 
 
 

Fog card material

Here you can see the fog card graph in more detail: https://blueprintue.com/blueprint/vfd098ss/
 
Assets made for the scene 

Lighting

My goal for the lighting was to make a couple of variations depending on time of day. I chose to recreate day evening/morning and night time lighting. 




Thank you for reading my blog! I will be updating my blog with other breakdowns soon. I’m actively looking for new opportunities, being part of creative collaborations. Feel free to get in touch with me!

My Portfolio: www.artstation.com/gabmik

My LinkedIn: www.linkedin.com/in/gabmik

Comments