Efficient Environment Creation For Games | Nexttut | Skillshare

Playback Speed


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Efficient Environment Creation For Games

teacher avatar Nexttut, A Specialist in CG Tutorials

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Lessons in This Class

    • 1.

      Introduction

      1:52

    • 2.

      Download Project Files

      1:08

    • 3.

      Planning And References

      8:26

    • 4.

      Gaea Terrain Creation

      37:03

    • 5.

      Testing The Composition

      18:42

    • 6.

      Intro To Midpoly Modeling

      34:51

    • 7.

      Finishing The Mid Poly Phase

      38:41

    • 8.

      Intro To Kit Based Workflow

      26:12

    • 9.

      First Pass Of Wood Sculpt

      18:26

    • 10.

      Mid Level Wood Sculpt

      41:02

    • 11.

      Finishing Wood Sculpting

      39:23

    • 12.

      Unwrapping The Wood Meshes

      39:05

    • 13.

      Baking And Testing Textures

      26:34

    • 14.

      Start With Modular Kits

      36:33

    • 15.

      Attic And More Kits

      33:42

    • 16.

      Finish The First Building

      22:23

    • 17.

      Variation For Existing Kits

      31:47

    • 18.

      Finishing The First Level

      22:09

    • 19.

      Export Modular Kits To Ue5

      30:37

    • 20.

      Finishing Buildings In Ue5

      25:22

    • 21.

      Creating The Platform

      38:36

    • 22.

      Creating The Connections

      38:01

    • 23.

      The Stairs And Variations

      37:23

    • 24.

      Blockout The Bridge

      32:03

    • 25.

      Finishing The Bridge

      32:58

    • 26.

      Railings On The Platforms

      22:03

    • 27.

      Roof Shingles Kit Sculpting

      35:41

    • 28.

      Shingles Sculpt Finalized

      40:37

    • 29.

      Bake And Texture Shingles

      12:18

    • 30.

      Geometry Nodes For Rooftops

      27:02

    • 31.

      Rooftops Continued

      48:57

    • 32.

      Procedural Shadow Catchers

      46:38

    • 33.

      Variation In Modular Kits

      47:44

    • 34.

      More Variation For Building

      34:29

    • 35.

      Rooftop Variations

      37:03

    • 36.

      Finishing The Rooftops

      23:14

    • 37.

      Create The Building Frames

      38:35

    • 38.

      Wood Texture Completed

      38:47

    • 39.

      Master Material Creation

      46:54

    • 40.

      Material Instances

      37:50

    • 41.

      Second Uv Channel Explained

      31:31

    • 42.

      Second Uv Channel And Id

      24:07

    • 43.

      Testing Second Uvs In Ue5

      30:43

    • 44.

      Variations In The Materials

      47:33

    • 45.

      Completing The Setup

      31:05

    • 46.

      Creating The Rafts

      28:48

    • 47.

      Lantern And Rgb Masking

      43:33

    • 48.

      Water Material Surface

      29:21

    • 49.

      Water Color Blend

      13:58

    • 50.

      Initial Lighting Setup

      24:26

    • 51.

      Completing The Lighting

      10:33

    • 52.

      Thank You

      3:12

  • --
  • Beginner level
  • Intermediate level
  • Advanced level
  • All levels

Community Generated

The level is determined by a majority opinion of students who have reviewed this class. The teacher's recommendation is shown until at least 5 student responses are collected.

79

Students

--

Project

About This Class

Do you want to create environments for games without creating everything from scratch?

Then I welcome you to Efficient Environment Creation For Games.

About Me:

My name is Arash Aref and I teach 3d game environment art with a love for Lighting And Prop and Material creation. I have had lots of happy students who enjoy learning new techniques.

By the End Of This Class, You Will Be Able To:

  • Create Environments Efficiently
  • Re-use What You Have Already Created To Save Time
  • Learn Primitive Geometry Nodes Setup for Fast Procedural Meshes
  • Learn Primitive UE5 Blueprint for Fast Iteration

What You Will Learn:

  • Translate current day references to old environments
  • Kit-Based workflow for fast iteration
  • Modular environment creation
  • Re-using what you already have to save time and energy in production

Who is This Class For?

  • The class is for those who want to learn fast environment creation techniques.
  • The class is also for artists who want to speed up their workflow in environment art.

Who is Not The Ideal Student For This Class?

This class is not designed for absolute Blender beginners.

What Are The Requirements Or Prerequisites For Taking This Class?

  • I expect you to have some prior knowledge in game environment art

Join Me Now:

So if you want to learn more techniques to efficient environment creation, then join me now, and take your skills to the next level. Don't forget that investing in yourself will pay for the rest of your life. Hope to see you in the class.

Meet Your Teacher

Teacher Profile Image

Nexttut

A Specialist in CG Tutorials

Teacher

Welcome to Nexttut Education, We only create courses with highly talented professionals who has at least 5+ years off experience working in the film and game industry.

The single goal of Nexttut Education is to help students to become a production ready artist and get jobs wherever they want. We are committed to create high quality professional courses for 3d students. If you are a student learning from any local institution or a 3d artist who has just started working in the industry or an artist who has some years of experience, you have come to the right place.

We love you and your feedback. Please give us feedback on how we can make better courses for you and how we can help you in any ways.

See full profile

Level: Intermediate

Class Ratings

Expectations Met?
    Exceeded!
  • 0%
  • Yes
  • 0%
  • Somewhat
  • 0%
  • Not really
  • 0%

Why Join Skillshare?

Take award-winning Skillshare Original Classes

Each class has short lessons, hands-on projects

Your membership supports Skillshare teachers

Learn From Anywhere

Take classes on the go with the Skillshare app. Stream or download to watch on the plane, the subway, or wherever you learn best.

Transcripts

1. Introduction: Hello, everybody. My name is Arash, and I'll be your instructor in this tutorial. You want to learn how to create environments so fast? With re using resources that you have while getting a good quality, so I welcome you to next to it efficient environment creation course. So in this course, we will start with the references to get an idea of what you're going to create, and then we will create a blockout to make sure that the ideas are going to work fine. The approach that we have for this course is kit based course. We will create kits, and using those kits, we will create a world, something called the Blacksmith mentality. So we just start to work like Blacksmith. We have the raw material like wood, metal and things like that, and then we start to create a world with them. And the good news is that you do not need to recreate everything from scratch. When you have the kids, you have the ability to reuse the kids in a reusable system to save a lot of time during the production. Then in blender and real engine, we make sure that we create systems to allow us for fast iteration. For example, using simple geometry nodes in blender, and do not worry if you do not know about geometry nodes. It is going to be very easy to understand and we're not going that complex on geometry nodes, something just to get the job done and create variations so fast. And then in real engine, we use blueprints to create systems so fast and try to iterate a lot and from a handful of kids creating a complete world. Well, if you're interested enough in taking this course, join me. My name is Arash, and I'm ready to teach you how to create worlds efficiently. Okay. See you in the course. 2. Download Project Files: Hello, everybody, and this is the final finished environment that we create. This tutorial ships with the project files, and if you go for project files, you have the UE five project. If you open the project files, you are going to get these files. And if you extract the archives, you're able to use this file to open this project. And the level is final level. You can use. And we have some of these files that we use and we reference throughout the tutorial, for example, some HDR images, some of these Z brush of that we use in the process, and some of these useful links to brushes that you can use, and they will be referenced in the tutorial later on. So this is the final product, and it chips with the project files, and you can use them. Save in the tutorial. 3. Planning And References: Okay, now we are going to start creating and before that, it's really important to start the planning phase because creating something without proper planning is just creating a house with no foundation at all. So we are going to first discuss how the project is going to be. And then we will discuss on a few references that we have that they are going to help us along the way. So here's the reference board that I have gathered. It's a purchased reference pack that I cannot share with you. Unfortunately, because that belongs to somebody else. I purchased the pack, so it's not available for sharing with you. But you see, there's such a composition that we are going for. We are going for an old village with some boats and basically the idea is going to be a small village on an island. So just let's take a look at this reference. This is what I'm talking about. We need to create a very small landscape, but of course, the landscape is not going to be the main purpose of the tutorial because that is a small portion of that tutorial. We are going to create something like this in Gaia and then create houses. And, of course, you see, because this is a current day village, and with some really contemporary architecture and the way of building houses, I'm not going to do the same thing. I need to make sure that it looks older. We need to make sure that the houses are made with wood so that it implies that the village that we are making is going to be older. We are going to keep such a composition. These are cool references. That we can take a look. But the houses are going to be made up of wood. So let me bring some references. You see? This is mainly what it's going to look like. Of course, the roofs and everything is going to be different, but you get an idea of what the houses are going to look like. They're going to be made up of wood. And we might go for a modular approach to create as many variations as possible, but we might also create unique buildings, for example, make such a building just one piece, depends on what the approach is going to be. So this is going to be our home or basically the system that we're going for creating the houses. So let's just take a look at references. The first thing is, of course, the composition. We are going to make a village that exists just beside a river. And the main job of the people is to just sell fish. So they need boats. They need rafts to move in the water and just take fish and sell them. So that is why I chose to create such environments because I really liked how the houses are going to be made up of. And then you see this is the composition. We are going to then look for building references. These are individual buildings that we can take ideas from, for example, how they are built on top of the river, how they have been placed alongside to create such a compelling environment. And then we will take a look to see how the individual buildings are made and then take that idea and transform it into something playable for games and environments or even animation and movies. Okay, one of the main points of the environment is to create a water shader to support the idea of our environment because it's going to be just placed alongside a small river. So the water shader is going to be something important for the creation. And then a few props that we are going to create include some rafts, and I'm going to make sure that they look makeshift. And they have been created using just ordinary everyday parts. To make the story more compelling. Of course, we might create some boats, but the main idea is to create a shaft, something like this to just really tell the story that the village is not so rich and they have been creating things just with ordinary parts to just catch fish and sell it. Okay, now you are seeing how the reference is going to look like. Of course, the first thing that we're going to create is a small landscape that we're going to create in Gay future lessons, but you already take what we are going to create. It's going to be an island that leads to something like this sea or river or whatever you can think of. And then we will build houses and scatter them around for natural effect. And we might also decide to copy these houses and flip them over to here so that we create a pathway that leads for composition. I'm thinking about that. For now, it's just an idea. So in the next lesson, we are going to create such a landscape in Gaia. Of course, we are not going to create a sophisticated landscape because it's not an important part of this tutorial. We are going to just create something that holds the composition for our village. And then if needed, later, we will include some sculpts like stone or rock or something if needed. So the next thing or the first thing that we are going to create is the landscape, and then we will go for a rough blockout really create some rough shapes of these buildings to scatter around the village to see how the composition is going to work. First, we will start the white boxing and then we will go to create the village itself. First, it's important to make the blackout, the white box because it happens sometimes that you create really AA arts and then bring it to level to see that if it's not working. So first, we create the composition using the blackout method so that we just use a little bit of time to really think the ideas to go for a fast iteration, and maybe if something was wrong, you can clearly just fix it with just a few clicks because nothing has been created. But if you go and first create something like this and place it in the environment and see it doesn't work, it's just going to be something negative. So we're going to avoid that and start with rough blockout. So I'm going to pause now and see you in the next one where we go open Gaia, a free landscape creation tool, and then export that to unveil Engine and test it to see how that is going to work. Okay. See you in the next one where we start the creation process. 4. Gaea Terrain Creation: Okay. Now we are Gaia free tool that you can use to author to range. It has a lot of complexity. It has a lot of flexibility and it's a great software to really author your trains into. But we are going to use community edition which is free, and you can download for free and use limited one K to one KEport. Concerning that we're going to create a very small landscape, it should be fine. And the fact that this community edition is free, and you can take and try to create your landscape in. So here's the viewport of Gaia. You can pan around using middle mouse click and to rotate around, you can hold down Alt and using the left click, you're able to rotate around your landscape. And when holding Alt and right click Zoom in and out, you're able to zoom on the landscape. Okay? Very easy. And this is the three D viewport and one important is this viewport resolution. This belongs to this viewport, and 0.5 is something that I recommend you if you have a weaker machine or if you have some processes running in background. But if you go and use one K or even two K and four K depending on your resources, it's going to take more to render. And this is for viewport only. And because I'm recording at the same time, I'm keeping that on 0.5, it's the preview resolution viewport that belongs to this one. Okay? And here's the three D viewport only if you want to bring the two D viewport for later usage. It's available in here, so I'm going to hide it now. And the majority of our time is going to be spent in this graph and this properties menu. So how Gaia is going to work is that you start with maybe primitives or geo primitives and then start to manipulate the shapes using these effects. And if you are happy with landscape, then you go for colorizing and then exporting that for external software to be used. Okay? For example, this mountain in here, if I bring that you will see that it just shows something generated. And if I bring the resolution up, you see it takes more to render, but we're going to take more high quality version of that in the render. And if I bring that up to two K or four K even, it's going to be heavier for performance. Okay? When you create something, for example, this mountain, you are going to have some properties in here that are specific to that node that you have brought here. For example, we have scale to see how how great or tiny the mountain is going to be. And if you bring the scale down, you're going to get bigger picks or just it gives you results based on the scale and how bulky it's going to be. And if you press bulky, it's going to really maximize the shapes for more pronounced shapes. And then if you bring the height down to something more reasonable, you're going to get something like this. And you have some post process nodes in here, for example, the level, the to level, which is going to do the same thing as bulky, I believe. And then you have clamp, for example, something like this to define the mean and max. And you have these nodes for usage. And then you have random seed, and then depending on which specific node you have something to use. For example, let me bring something that has more rugged shapes because based on that landscape, I believe if you have rugged shapes, it's going to be more natural. So let's go bring something like this, ridges, okay? It's going to just create some forms and you can also, if you want the landscape to have some kind of low like a gradient, you can bring the gradient. It's self explanatory if your landscape is going to be in such a way. Okay? I'm going to delete that now. And I'm going to use this bridge. And of course, you can bring something else, for example, Rocky is going to be different. But because we are going to have some randomized shapes, I'm going to use this ridge. Of course, you can bring Canyon, for example, if you want a different shape or something like this, or you could bring this whatever you want to. And of course, you can bring Voronoi and try to manipulate the shapes and get something different. But I'm going to start with ridge because it creates a good landscape, and then we're going to carve the C in it. Okay? Now, I'm just happy with the default shape that we have here. You have these shapes, but let's go for a different seed. So I click here and just enter a very random value. Just get something more different. Okay. Now it's a good one. And later that we define erosion. It's going to erode a lot of these areas and create maybe like a pathway in here. It has some possibility for here to be just like a pathway. You see, you can already see the houses in here and the river in here. So there's some possibilities in here. Let's go and see what we are going to create. So first, I'm going to remove that mountain, and then let's bring a bit of erosion, a very simple erosion to use. Okay? This is the erosion, but let's go for something more different. If I bring the erosion, and now there are some things to concern. First, if you want the erosion to apply, if you change something, you see, it doesn't because erosion is one of the nodes that take more to calculate. So you need to first apply changes, or if you want to also apply, you need to click here so that every time you change, it's going to be changed right away. Okay? This is the erosion. It really gives the specific shape that we need, but I'm not liking how it's going to look like here. So we could use some of the erosions that maybe create a river or something. So let's bring this wizard. It's erosion, just a different type of erosion, and try to use that. And now, there's something. If you click here, you're able to see the ridge, and if you click on the wizard, you'll see that. If you want to log something on the viewport, for example, you can right click and you can just pin. So when you pin something, no matter where you click, you are always going to see that the node that you have pinned. And now I can go to this ridge and try to change something and see that after applying that wizard. Okay? Now let's also apply the wizard. Let's do something Just let it calculate. But again, of course, I'm seeing that possibility in here. If we introduce C in here, it's going to be a very good one and creating island in here. So let's try to see which one works. This is too much and let's just try to calculate and see what goes on. Okay? This is good. It gives that rugged shape that we need. We are seeing some ups and downs. And then you can go for different settings, for example, strength. And I'm just going to pause and return back every time I change something because it takes time to render. Okay, now you see it erodes even more. So let's go back and you can play with different settings to see which one of them works. But I'm going for phase two. And in here, you can see different settings. I'm going to go for a river because it creates possibility for down the hill to create a river when the erosion stops. Okay? Let it just calculate and then you can see that we have some shapes in here. And let's go for a random seed, change it, for example, a very random number. And click and let's see what the result is. Okay, now we have a mountain, let me take that erosion and delete. Now we have a mountain that we have something carved in here for the river. So later that we enter the river, it's going to be creating some areas for the island. And later we will colorize the landscape as well. So for now, I'm happy with it. Okay. For now, we have a very rough shape that needs to be calculated. So there are a lot of nodes that you can try to create. For example, these warp nodes are amazing to create complex shapes out of simple ones. So let's try to pin because now you see this green circle that indicates that the wizard is pinned. So if I just click here and unpin that, now the pin functionality is going to be disabled. But now you see that it turns this one into something like this by warping the shapes into different places. Okay? Now I'm just thinking about keeping this one or removing that. So let's just see what happens. Now, instead of that, you have adjustment nodes as well. And then these filters that you can use and even locked up notes are really awesome to give a very fast shape to your landscape. Okay? Now, you really do not need to know every one of these if you want to create something. But it's a good idea to just get familiar with some of these. For example, these dev notes are awesome in giving a very fast shape to your landscape. So let's try to like that here. And you see it just goes for something like a valet. The name indicates if I bring in rugged and try to plug that. You see, it's just going to go for different shapes. Let me also apply and try to change the shapes. And you can already see that. If you just try to introduce more values, it's going to change. And one of them is shatter. It will create some details on the landscape. So let me just take that. And you see this from these simple shapes, we go to something more rugged, more in place. And it just looks like it's more naturally created. So let's just use shatter and you can see these blurry shapes then convert it into something more sophisticated and the settings are there. I'm not going to change anything except for this random seed because why not? So let's try to change the shape. Okay? And right now you see some possible areas for that river created in here. So this shatter node was awesome to create those possibilities. Okay? But I do not want the landscape to look something like this, like a mountain. I want that to be terraced, like that terracing effect. So there's a quick node. If you just search, just search for terrace and you will get the terracing effect. So let me take a look. Okay, you see now that terracing effect happening. This is it, and this is that terracing effect creating that effect. And then there's another terracing if you want to go for, and that is fractal terraces. Just let's see. And I believe that I'm liking this one better. See, it creates a lot of cool terracing effects. Of course, a lot of these are not going to be seen because they're going to be hidden under the houses and the rivers and all of that functionalities that we create there. But it's a good idea to keep that in mind. So I'm going to go using this one, and it can try to change the settings to your liking. For example, okay? Now, this is going to change that a lot. That I want some of that roundness to be present in here. Okay? Mostly, I'm liking the result. So let's go. And these octaves is the amount of terraces that happen. If you bring that down, you see, we get lesser amounts. If you bring that up, you see that terracing amount is getting more and more present. So let's go for the default, which was 12, I believe. No, it's ten. And let's see about the intensity Okay, let's go for something half. This is too mathematically created, and this is just the shatter node without the fract alters. So let's go for something really in between to have the best of both of them. So the shape, let's go see which one we like the most Okay. I think I just like the defaults one. And let's just change the random set to a very random number just without actually doing so much to the terrain. So make sure. Let's go for shape So this is raising these. I don't want that. Let's just try to raise the mountains instead and keep these just the way that they are. Okay? Now, these notes are or post processing. So for example, if I level, it's going to rank up the value too much. Let's see for difference. Okay? Now I don't know exactly why it happened, but it's the result of that difference. Okay? Now this mint Now, let's keep the landscape the way that it is. I like this terracing, but we also later, we will introduce something more. So now the landscape is okay. We will add a C in here. But before that, we need to create some details on the surface of the landscape. You see? It's good, but it's not really that quality that we want. So some of the nodes on this look Dev, there's a node called surface. You see? Let me bring that and try to plug it's trying to add some really resolution to here. The whole purpose of that is like that. Okay? Now, I think we have created a good landscape. It has the island to place the houses upon, and then it has a lower area for placing the sea. Okay? Now, we have a node in the water category that is called C, or you can use river and lakes, but I'm going to use C. Okay? Let's just plug that here, and you can see that it brings up the sea level and creates some transition area between the landscape and the sea. And this is where we are going to place our houses. And the mountains themselves may be good for something background. Okay? Now the level is too high, I need to bring that down. So let's just Go. This one looks right. Let's go for 7%. And now you can see it has washed some of those areas and we have some grounds in here to place the houses. Okay? Based on the reference you see, we have these islands that the houses are on top of, and then we have a transition area where the houses are going to be built, and then we have the river or sea or whatever you can think of. So let's go for a lot of variation. Okay? This variation randomizes everything. And you can see in here as well, there's some possibility for building those houses Okay? Let's go for maximum variation because that is a good idea. And then we have a shore size for these shore areas because now they are too small. We need to have more transition. So let's go for more. Okay? It makes the transition area even a lot more powerful. And now we need to lace these and create something like that. Okay, now we are going for removing some of that and create a shore areas for placing the houses. So let's go for variation and a bit of more details. And I think we have found the place for our houses. Okay. Later, we will export that to Unreal Engine to see what we have created. But in order to give it a bit of more detail, I'm going to color that so that we export with a color to Unreal Engine. So for coloring, there are different category let me go to that category. And here you have the color, which you can get set maps from. So these are amazing, really realistic combination of colors that you can use. And if I just that here, you see that it applies in here. But you see, it's not the quality that I want, and the colors are not specifically good for the composition that we need. We need the river to be blue, of course. And then the mountains to be something in between. Having some green and black and white together mixed. So before using that SAT map, there's a node that you can use is called texture. So let me bring that. Just search for texture. This is going to take the satellite, excuse me, the It map that we have created and apply some grunge to it. Okay? If I apply, you see now, it applies a bit more color in here. So if I apply like that to SAT map CC now, the color becomes a bit more sophisticated by mixing these colors. If I go and apply that, you see, it's just a random color, but that texture adds a bit of more possibility for using different colors on the landscape without actually adding something to the color itself, the height itself, excuse me. So this is going to be the color for our rock. Now let's go change something about that. I'm going to of course, it needs that auto apply. So let's change something this scale, I believe, introduces more tiling to that, but it doesn't have effect on this area uptop. So we're not going to do anything, and let's go for something very random seed, a very very random number. So you see, it's only affecting these areas, which by the way, is going to be deleted. So I'm not going to do anything. Of course, you have different possibilities. So this is the first set map that we have created. Let's go see what option is available in here for usage. So there are a lot of them. I just don't want that color of course, we will later create a good blue color in here. So I'm going to keep that for now because it gave us a good color in here. Maybe we use it. So let's try to pin that and try to test different one of these. And it's really dependent on you to see if this is a good one. It has the same colors that we want. It has a bit of green. It has some black and white. Okay, I'm going to keep that. Of course, I can invert that, as well. Invert the color scheme, but I'm going to just use this one. And now we need to go for the river. So let's bring that sat map and bring that here. Okay, we lost that color selection. Okay, it doesn't matter. I'm going to delete that and then again, create another set of these or creating the S. Okay? Let's go for texture, and then for sat map, we're going for another category which is blue. So it depends on OstC which blue color we need. And then later we will use a technique to blend these to keep the mountain color and separate it from the blue color. Okay, now let's go see which one of them is working. I'm really liking a really light blue color just like this. It looks like this is a good one. Let's just try to find something that works for us. Okay? This is good, but I want color to be a bit lighter. So let's see if it has a hue saturation already. But of course, this is just for a blackout because later we will create a water shader and place it here. So this color selection is only for those blackout purposes. So now let's do something. I'm going to make sure that this applies only on the sea level, not the actual rocks themselves. So let me bring a combined node. Okay? This is the way that we combine these together. So it needs outputs. So if I apply that, you see, based on the ratio, we are getting a mix between those, but I do not want to really mix those. I need to place the ratio on 100 so that we see the 100 influence on all of them. But I'm going to go to the sea and try to create a mask from it. Okay? You can go for data. Let me bring that data in here and you can try to bring some ones that are more helpful to you, for example, based on a landscape, but the one that we are going to use is height because you see, we have a very small level of height for the sea, and this is exactly having a much more pronounced height, that we bring in a height, and it needs our landscape to be applied here. And then if I select that, you see this is a black and white mask. So we need to make sure that we select only these blue areas or the sea area. So let's try to okay, now you are seeing what we are talking about. Let's, this is something more like it, but we need to subtract these areas from it, okay? Then let's go for that mask. Now, you see, we have a mix. And now if I just select this combine and plug this into the mask of that combine, we are separating that mountain from the C using a height. Okay? Now let's go for auto level. Now, it's using the one ratio here and a bit of in between areas between the mountain and the river. Okay? I feel like we have created a good landscape. And I think if we go with that fractal terrace and try to change you see, now it's procedural, and it means that if you go back and change something, it's going to go and affect everything you have created so far. Okay? Using these few nodes, we were able to create a very good landscape. Okay? I'm just trying to use some of these settings to create a transition area. Okay, I do not like that. Let me bring fractal terrace. And this was ten. The default value was ten. And now this is the landscape that we get, of course, here is a good idea. I'm just changing values to get something more natural. Oh, let's go back. The settings between or before those changes. Okay? I'm liking this result, and this is going to be the area where we create our landscape. And the composition is going to be placed in here or maybe in here. We don't know exactly. Here is a good option as well. We have some slope to place the houses. And of course, a lot of this is going to be hidden behind the composition. So now I'm going to save and this time, we are going to export our texture. And export the height as well. So now the last change on the height that we added is the C. So I'm going to right click Mark for Export. And then after this combine, we could create an output node and let's go for formats. And I'm going to go for PNG. Okay. And then, of course, we could create another output for this one. Let's create an output. And then format is going to be this one for usage in Unreal Engine. I'm going to right click Mark for Export and right click mark that so that this output and this one are going to be exported. So we go to build setting, and now we have these outputs. So let's go for this one. For this output, I'm going to rename that to texture, and this one is going to be height. Okay. Now if we go to build, this has not been reflected here. So it doesn't matter. For build, we need to bring the resolution to one K, which we are going to use this one because that is something that Unreal Engine uses, and everything else is going to be okay. So just define a folder, I'm going to save them here. Okay? And if you start build, it's going to build and return the results to you. So I'm going to press Build and return back when it's done. So here's the build data that we take. This is the height that we're going to import to Unreal Engine, and this is the texture that imported. It's going to be fitting that one really well when we try to bring that to Unreal engine. So I'm going to pause now and in the next one, we will go import the training site real engine and test it to see if everything is working right. Okay, see you there. 5. Testing The Composition: Okay. Now we have created the terrain in Gaia. If you want to be exact in creating the exact same terrain, I've included the files in the project file. If you open the project files, there's a terrain folder, and there you will get the height plus the texture that you will be able to use if you want to follow the exact same direction that we're going. So now I'm going to create a new level, and let's go for a basic Okay, it's just a simple plane with a simple lighting setup. Okay? Now, for importing the landscape, we need to go to selection mode and go for landscape, and we need to import from file. And there's the height Map file that we need to place, okay? Here's the file, and it just gives you a preview of how that is going to look like a very simple preview, and all you need to do is pressing Import, and that will import the landscape just in a few seconds. So I'm pausing for the calculations to be done, and I'll be back when it's done. Here's the landscape important, but because that is just a bit off from the center, we need to bring it up so that it's not getting affected by the environmental effects like the fog or something. So I'm going to go to selection mode, go for one of the orthographic views, okay? And this is the landscape. I'm going to bring that right to the center. Okay. Now let's go to perspective. And here you see the landscape, just like the one that we created in Gaia. And here's the place that we might be looking for. So in order to see that better, I'm going to create a very simple material. So in the content folder, I'm going to create a folder that we place everything there. So let's just call it village. And then I'm going to create a new folder. Textures. I'm going to create folder structure so that everything that we import is going to be placed in the respective folder. So this is going to be for meshes. This is going to be for the materials that we will be creating, and this one will be for maps that we export. So control S, and then I'm going to here. And because we are in the blockout stage, I really I like to start the naming of the files with numbers because alphabetically, they appear up top of the list. And now, blockout A. And because I work in iterations, sometimes I just when I want to save a new file, I go for, for example, zero, zero, blockout B, whenever I go for a major change and leave that alone so that if something went wrong and I wanted to get back something from here, I'm able to go back and see what I have available there as an option. So here's the way that I work. Let's save that file. And now we need to import that texture. So I'm going to create the utility bolder and I'm going to import. So again to the direction that we save that texture. And now let's call it terrain texture. It's in SRGB as well, which is okay. Now I'm going to create a very simple material for that to apply it on the landscape. Let's create a material. This is just for the visualizing purposes. It's terrain. I'm going to select my landscape and apply that terrain material Landscape material. Let's go for terrain. And now it's not showing anything because there's nothing in the matzaial. So again, I'm going for bringing that texture here and just plug that base color and save and now the mapping should be off because it's tiling the texture so much. You see? It's tiling the texture by a lot. So in order to match that to the landscape, we need to go to material, and there's a coordinate node for landscape. Just search for landscape, and that is landscape coordinate. So in here for mapping scale, we need to enter the exact number that we exported from Guyon. So plug it into the UVs. And it should be good to go. Now, if I return back, you see now it's getting applied on the places that we wanted. Now there's something off here, and that is because when we imported that, it didn't import on 2010 25 resolution that we imported from Goya. So let me go here and let's go for imports. And if I just bring that, let me just save the scene for now and test it here. I wanted to see what is the actual resolution. So in here, it imported 1072. So we need to return back to the map. And for the scale of that, we need to import 1072, save, now the mapping is correct. Okay? The way that we expected and let's just add a very simple multiply to be able to darken and lighten the color. So from parameter and for the default value, I'm entering one so that it doesn't affect. And for the roughness, because we need to control the roughness. So let's set this one to 0.5 as well. And name this one color. Now that we have exposed these parameters, we can go create a material instance, okay? And then in here instead of terrain, I'm going to select the terrain instance. And in here, we are able to control the color and the roughness. So the roughness should be okay, but the color needs to be darkened a bit. So let's go for 0.5. Now it's a better number. So now we have the ability to start placing a camera in here. And if you look, it's just the same as we expected. We have a landscape behind, and there are a lot of village houses in here. So for now, I'm going to create a camera in here, cinematic camera. Okay. Now let me select that Right click on pilot camera. This way you're able to see the composition. So now let's go for the camera. I'm going to create folders because that is a lot better for managing. So the first camera, we have some settings in here. Let's set that to 35 millimeters and for crop setting, let's go for that. I want to keep this ratio here. Okay. Now, if you just start to move, you see the camera moves and we do not want it. We want the camera to stay exactly in the same place. Okay? Now, let's do something. I'm going for transform and lock the camera. Now, whatever I do, the camera is not going to move, and this is something to keep. And I'm going to keep a camera or later if I wanted to change something about the camera. So I'm just going to bring a scale representor a human scale so that we see how the scale of everything is going to be comparing that. So you can download a lot of free human references from Net, but I'm going to bring one that I have here. So I wanted to name this one utility as well because I do not want it to be where other measures are. So I'm going to import that. And here's the scale. If you just take a look at here, you see the dimensions. It's close to 2 meters, which is the actual standard scale for height of a character. So if I just start to place that here, I'm getting a sense of the actual scale of how that is going to be. For example, if I just start to bring in a very simple cube, and I'm going to scale that because that is 1 meter by 1 meter by 1 meter. So let's say that we want to create a house that has a scale of 108 by eight, for example. Okay? And now, if I just start to rotate that, here's the house and here's the character scale based on that. Okay? It's important to keep some of these characters here and there to see if you like the composition or not. Okay. I'm just trying to spread that here and there to see how great the environment is going to be and how the scale of everything is matching based on the scale of the actual character. So when you start to play with that character, it's going to be important. So I'm just going to place some of that there, and I'm going to bring that here. Now, let's leave it at B. And now for now, I think, like, the composition that we are getting is something okay. And later, when we finished creating these houses, I will just bring some of them here to create another row of houses, just like a street that runs through the river. Okay? And it's important to keep the scale just in the early stages. Because if you go and create something that is not in actual great scales, you're going to have problems. Okay? I'm actually liking the composition here, and there's a lot of possibilities that we can go for. For example, trying to placing buildings here and there, and we might go modular in terms of creation because modularity allows you to create a lot of kits and then use those kits in formation that you want and create something that is new that you haven't thought before. Okay. Now I'm just comparing the scale of the buildings to see if I like that composition or not. Okay, let me bring that just a bit closer. For example, make this one a dock or something. And the house is going to be in here. And then later that we created the houses, we can try to redistribute them just like so. Okay? Now, you see, by just trying to place in some of these box, simple box, ideas, we're able to create a composition without actually creating anything, okay? And this is the power of white boxing and blockout stage because without even creating anything, you're able to check the scale. You're able to see if you like what you're creating or not. Just suppose that you go and in for example, you go create AA art and then return back to see that you do not like that. So here we're trying to see what we create and what we like and what we do not like. Just the blockout stage is very important for the composition and for later usages. Okay, now I'm just selecting these cubes and select everything without the landscape and at start. So I'm going to create a boulder and I'm going to call lockout. Then I'm going to create a new folder and call it Let's name this one lockout and then name this one mesh. Everything mesh related we create is going to be placed here, and then we have that lockout folder. So let me take everything and place them in that blackout folder. So just with one click, we're able to activate or deactivate them if you wanted to. Okay. And now let's create a folder, I'm going to create another folder just to place these extra data that we do not really need to change. Everything extra will be placed in that folder. Okay? Folder creation is done and we have a solid understanding of what we are going to achieve by the end of the project. Okay? And here's going to be boats, some raft and the water shader, as well. So if I bring that here, you can see that we can create that house and try to place those pillars created by wood to support that. Okay? I'm just trying to see how storytelling could help us achieve that. Okay. Now that we know that the landscape is okay and composition is going to be right, we are going for creation process. Of course, we can go for medium poly and see if they are going to work. And for example, we go and try to change these measures to something that look more like a house, but I think it's going to be a waste of time because they're not going to be seen in the final environment. So now we are going for actual creation process. Of course, if you want, you can go try to bring some references, for example, like here and start to create shapes like these houses and so on, something that represents that. But I think it's not going to be necessary. So for example, just create a simple mesh that looks like this. But I think if we just skip this part and go for straight mesh creation, it's going to be saving a lot of time because this tutorial is going to be a complex one, and I do not want to add to the extra time by bringing those medium poly modeling. Okay? I'm going to pause right now and see you in the next lesson where we go start creating process. Okay? See you in the next chapter. 6. Intro To Midpoly Modeling: H. Okay. We planned that. We wanted to go for blockout creation using the low poly pieces and setting up a modular workflow. But I noticed that because we have references that need to be manipulated in terms of converting them into something that matches the criteria that we want, for example, you see, we have these references, let me bring up the building ones, okay? We have these ones that are relatively new. The construction parts, everything is new. We wanted to make that a bit more like an old piece, something like this. Oh, I wanted to skip the mid poly creation process, but I noticed that it's relatively important for this process because we need to convert these into our ideas. If I wanted to just create something like this, I would have skipped this part. Or if we had references that were just like the ones that we want, for example, let me bring that up again, if we had references like this, I would have skipped this part as well. But since we need to translate all of these ideas into something old, we need to keep that in mind and go for medium poly creation, excuse me, before going for low poly, because that gives us a lot of more ideas and flexibility into creating the environment. Okay? Now, let me just shrink the scale. And I'm going to take a look at these references and create something that resembles these buildings. You know, this building has a scale of 10 meters by 8 meters by 8 meters. We're going to create something like that in blender and import it. Of course, we just take a look at the scale. And then decide if we want to change the scale of this one or not. Okay? The first thing that I'm going to create is the base for these buildings. For example, you see all of these buildings are on the same level. I'm going to create something like a deck that holds these buildings together. And that is just like a platform. For example, one in here, one in here, to make sure that the buildings stay on top of that structure. That is going to be the structure that we're going to make. We could go for that or we could start by creating some buildings and then create a deck. So I just decided to go for the buildings first. So I'm going to open a new blender scene. And now we have a scale setup. This is the human scale that we have been using in Unreal Engine. I really suggest you go and create or download a free one to use. So I'm starting by creating some of the buildings. Let me references that we have. So just take a look at this. We have something like a house And if I just bring something to start drawing my ideas, we see that we have such a building. It has a rectangular shape. Okay? And then we have this rooftop that we see in here. And then you see in here, we have that deck that we wanted to create. It's a structure that holds the building together, something like this. Of course, we might create some kits, for example, a wood kit to support that. And then we have these pillars that we are going to create later on. But for now, we are only caring about that building in here, this one. So I'm going to just shrink the scale and start imagining how that would be in 1,000 years ago. It would have been made only with wood. And because my style of creating environments is to make sure that everything is just grounded and old, we need to make sure that there's a lot of imperfection there. So now, let me start the creation process. And I like to call this process the medium poly creation because we're not going to create low polypieces right now. First, we create ideas, and then later we will create something and then decide to see if we want to make that modular or not. Okay. Now let me bring that here and I'm going to bring a simple cube. Now from now on, everything is just going to be simple polygon modeling. Nothing too fancy. So the scale and dimensions of this cube are two by two by two. So now, let me see if I could go for 4 meters. And when you're modeling these pieces, you need to take the dimensions for modular pieces in mind as well. For example, now that we have or meter in here, we know that later, we might need to create two by two modules to cover that piece. For example, later, we will create a modular piece, something like this one, a two by two piece, and carve a door in it. For example, let me separate that. Okay? Later, we will create a modular piece out of this one. For example, something like this and remove that to create a door with it. Okay? You need to make sure that you keep this scale in mind for later modularity. So let me go back and weld this together and remove that. Okay? Now, 4 meters maybe let's convert that to 5 meters. Okay? And then scale in here because we know that it's going to be something rectangular, we need to make sure that it's more than 5 meters. Okay? Let's go for 8 meters, for example, no, not that much. Okay. Now let's go for the Z, and this one is going to be the tallest one. So I'm going for 8 meters right now. Let's go for seven. And this one You know, let's do something. Let's go for 6 meters in here, and then I'm going to duplicate that and bring it up top to be something like this piece in here. Attic, I believe it's called. So I'm going to bring that down to a 1 meter scale and then scale that scale these to create that piece. Okay? So let me take that. Again, I'm going to bring this down by 1 meter. So because we have a snap mode activated, I'm going to set it to increments and zoom back a bit so that it brings it exactly 1 meter. And then I'm going to take that. And then take these two and bring them closer to create something that is more triangular. Okay, now we're just testing the ideas to see if they work or not. Okay? And then I'm going to carve a door in here. So let's decide to see how tall we want the first floor to be. So let's me 2 meters and 3 meters is okay. So I'm going to bring one in here. And I'm going to set it to be exactly on this line that represents the perimeters line, okay? And then I just want to place a door in here that later could be created when we go for the full production. And just note that these buildings are not going to be used in the final production because they're just prototype of what we're going to do in the future. Okay. Now let me take that phase. And I believe that if I press shift an H, it's going to hide everything on that mesh except for that phase. Okay? Now, let me bring a door. So you see, we have the door in scale that the player can go in and explore in the building. So if you're going to create that for a gameplay, this is going to be a good one. So let's see decide on how tall the door frame is going to be. And I'm just going to test it with the scale player and test it to see if I like that. Then, yes. Okay. And then I'm going to separate this and do a bit of polymodlling in here. A very simple polymodlling, just to make sure that we create illusion of a door being placed in here. Let me take that phase. First, I'm going to create the vertical wood planks and then go back and take this one and create some horizontal ones. So it's not creating, so that is because of that operation that we did. So now I'm going to take the knife tool, and we are going to lock that and just try to carve some pieces in here. Okay. And then I'm going to take these except for this one and this one and press I for inset, I for once more so that we could just bring these in to create illusion of a window piece. Okay? Now let's bring these back. I'm going to take all of these inset once more. And these are just very simple modeling procedures that are not going to be in the final process, just to create something that gives us a direction for later usage. Okay? Now let's create something like a shadow catcher for this building. So again, that's going to be simple. I'm going to bring in a simple cube and then bring it here. And I'm going to create something like that. And let me bring something to see. I'm going to create something like this, but in older style. Something to prevent the shadow from falling in here. You know, just imagine the story telling and see what you come up with in terms of creation. So I need to rescale that locally. Now it's set to global. Let's go to local Okay. And now I'm going to create a roof or this one as well. So it's again going to be simple polygon modeling, very blocky shapes. I'm going to create an old roof. Okay, apply anything. And now I'm going to apply some edges in here because we want to deform that to create an old roof. Let's just scale that. Okay. And then I'm going to go to modifiers, and that's going to be, I believe, it should be in the deform tab. So it's going to be simple deform here. Okay. First, let's rotate that and apply the rotation. That's a bit tricky sometimes you need to figure out to see which one works. Now, apply the rotation because I want to use the bend Okay. But it's not going to be that much. Just a very simple bend. Okay. Now I'm going to apply the modifier. And then for the roof itself, I'm going to use shingles to create that. Now I'm going to place a shingle and array that from here to here. So we know that it's going to be 6 meters. So let's just bring in a cylinder Okay. And the scale, let's bring that eight vertices join and join and take this part and remove that. Okay? Now I'm going to bring that to here, rotate that. I think 45 degrees should be enough for this one. And because we are set to local, it's just going for a local direction. Okay. Now let's just apply everything in terms of rotation and the scale. But the location is not needed for now. It looks like we need to rescale that back to something like this because we're going to use a modifier that is using the scale data. Let's apply the scale to make sure that everything is set to one to one to one. I'm going to bring the array modifier. Okay, it's going to be in Y. Just take that green one in Y. Let's set it to zero. Okay, it's going to be in negative Y. And then apply this scale. Okay. This is the type of roof that we're going to create. Oh. Let me just take that. And I'm going to just duplicate it here. And I'm not really concerning about how repetitive that looks because we're going to create a full geometry later. This is just for blackout and to see how the environment is going to look like. This is good. Now I'm going to duplicate and I'm going to use it as a protector here. So let's just rescale I'm going to rescale that negative something like this. Okay. Now this is bent too much, so I'm going to go and take some of these vertices and go for proportional editing and just bring that to here. So this is not the one that I want. You are fine to go with the style that you want, but this is not something that I'm looking for. So I'm going to just create one in here. Okay. Now I'm going to scale that in that direction. Again, scale And let me mirror that as well. So I'm going to mirror that to this side. So let's go bring in the mirror modifier. Okay? We need to set the pivot to the center of the world. So we know that this building has the pivot in the center of the world. So I'm going to use that as the mirror object, okay? Just take that and you get what we wanted. Now let's duplicate, and this time, it's going to be a long while. Okay, now it's automatically done. So now I'm going to take all of these. And we have modified tools in here. You can go to preferences, and in here, just search for modified tools. It allows some of the functionalities, for example, apply or Tuggle stack to view them on Viewport or something. So I'm going to set Apply. You see, it applied on all of them. So Control J to join. And then I'm going to go for a mirror modifier again. So this time again, I'm going to use that as the object mirror object, and here we go. And in order to create a bit of more storytelling, I'm going to create some windows in here so that later we could create modular pieces for them. So now, I'll g to bring everything back. And then it looks like we need to go for the knife, too, because it's not a quad anymore, so Let me take that and remove. So a couple of them in here and a couple of them in here. And then just join. And I'm going to take this and bring that down. And just apply a bubble because I want that to catch the light a bit better. Something like this. And because we have a window, let's bring that shadow catcher rotate and bring that here. But it's not going to be like the previous one. It's going to be a bit smaller. You see, this is just for storytelling purposes. You just think, you see what you need for the environment, and then you go and apply what you have created. Okay? Of course, everything about these buildings later on is going to be created using planks because I'm going to create an environment that is so old that maybe the only thing possible to create was wood. Okay, let's create a pillar for the building to give it a bit of more depth and dimension. Okay. Again, I'm going to use a mirror modifier this one as the mirror object again. Now it's going to be in Y and apply all of them. Okay, now just take these and bring them to here for a better silhouette. Okay, now let's bring everything back and try to hide this. Knife tool and just go for an inset and create a very simple inset in here. So there are some polygons missing there. Just go for a small bubble. Okay. Now you see the building is taking more shape, and later we will create a lot of planks to place in these areas. Okay? Right now, I don't think we need more to create for this building. So I'm going to take everything about it and join that in one mesh. Okay, looks like there's a modifier in here, okay? Make sure that there's no modifier or anything. Take that and let the pivot be in the center of the world. Okay? Perfect, applied the scale, and everything go check the normals. Okay. Everything looks all right. I'm going to take this one and call it static mesh, this building 01. Okay? Now I'm going to export this and using it in real engine to see where we want to place it. And again, I'm telling that this is not going to be used for a final production. This is only for testing purposes. Okay, let me create a new collection. I'm going to call it done and I place the buildings that I've created and finished here. Okay. Now I'm going to use a plugin called BTX, which is called Batch FBX Export. You just export folder for it, and it's going to just export it with one click. And a good thing is that if later on, you will return back and change something about it, the ring that. For example, you just go and change something about that building. It's going to just with one click represent that change in real engine or in the target software. So I'm going to decide on a folder wherever you want that folder to be. And the important thing is that the name of the mesh and the pivot should never change. So for example, when you change the pivot to something like here, if later on you change the pivot to something else, it's going to be offsetted in the target software. So now for now, I'm going to just apply all of them. Later on, we might go and disable one material ID because later on, for example, we might need to apply a couple of materials on one mesh, it makes sense to uncheck that to apply all of the materials on one mesh. Here we have no material, so I'm going to just create a new folder and call it Mid poly. And now the center transform is a great option, because, for example, let's say that you have a building that is far from the center of the world. If you apply that first, it's going to bring that to here to the center of the world, export it, and then bring that back to the place that it was. Okay, applied transform is great as well. If you have, for example, ugly rotation values in here, it's going to first apply them and then export them to the target software. It's going to be Patx and then I've included the link to this in the project files. If you just go to project files, you will get a link of blender add ons there. You will be able to download these plugins for free and use them. Okay? Now I'm going to export and in Unreal Engine, I'm going to go to my content folder. Let me find that meshes. And let's go to utility folder and try to import that. Okay, here's my mesh. I'm going to import. And I do not care if any error or something happens here because this mesh is not going to be used in my final project. So now let's bring that here. Okay. And let's just try to place that with this building. So let's change that to local and I'm going to place it here. So let's go to the cinematic Buport and I'm going to place that here, okay? And then let me take that, take that one and bring it here to be something like a platform or later. For example, later that we create a platform. This is going to be a scale guide for the platform that we need to create. Okay? We could create another building for the neighboring of this one as well later, something like that or maybe taller. So we will decide on that later. So for now, I'm happy with this. Let's try to place that here. And now you get a better sense of scale on the buildings and relation of these characters to the buildings. So let me bring a default material and apply that here. So now I'm going to pause this lesson and in the next one, we will go and try to create more buildings. We are going to create residential buildings and some market buildings. Okay? And these dimensions might change later. For example, we might need to change the scale of building to something else. Okay, now I'm happy with it. And let's do something about that Batex polygon. Batex add on, excuse me. Now, let's say that we take this and change it. We set export and we have not changed anything. The naming, the direction and the pivot and all of them are the same. So let's go here. I'm going to find that in the content. Go right click and reimport and you're going to get that change applied. Just give it just a second to calculate and you see the change is reflected there. Now let me bring that back. Export once more, and then right click Rimport and you see it's done. Okay, now I'm going to pause this lesson and in the next, see you. 7. Finishing The Mid Poly Phase: Okay, in previous lesson, we created the first building, and now we have it here. And also in blender. Now for the next one, I'm going for just a variation of this building. So let me just duplicate it, and I'm going to bring the original one in here. And then I'm going to make this one a bit taller, just like that. So let me take that building because it's composed of many parts. I'm going to just go in edit mode, pres P, and by loose parts, it's going to just convert it into its creating pieces. So I'm going to take these ones except for these. Now let me de select what we have here. We have the selection here and I'm going to just bring this one up by 1 meter in Z by one. Now it's going to be easy just taking this building and bring it up by 1 meter. Then these as well are going to be just scaled a Okay, because later we will use the three meter pieces for this one. We have a three meter piece in here and a 3 meters in this one as well. One, two, three, this is the first one, and one, two, three, the second floor. Okay. Now, let me just change some things on this building, for example, creating a full one in here. And let me go for a mirror. The object is going to be this one, okay? Just some variations on the building. So then, for example, I could take these and bring them to front by 1 meter. And these two as well by 1 meter. And then what I need to do is selecting a row of these. Let me select what you have. Okay. Now, delete these ones. Again, in here, it's going to be the same. Let me isolate the first building so that we can see what we're doing right now. So three of them should be enough and now deselect everything else and just duplicate these to here. And then this one as well, Okay. Now this is going to be a fast iteration because later we could, for example, change a lot of things about this. For example, changing the building to here, for example, to create a door here, and now let me take this, remove it. And then I'm going to place the door here, for example, for a quick variation. And then let me take that and I'm going to just extrude one in here. And I'm not caring about the geometry or if there's any errors in the geometry, I just look for a cool look on the building. Okay? Now I'm going to take everything, Control J to join them, make sure the pivot is in the center. Let's see about the phases, apply everything. Okay? Now, this one is going to be called test building 02. Okay. Now I'm going to export to the same location that I have exported the previous one, and we are in real engine as well. Let's go import the same building. Import. We're not going to go for a nante or something, create the building. Okay? And then I'm going to place that here. But before that, I need to bring this down just a bit so that it doesn't block that building. Of course, it does. So let's bring that back by just a bit. Okay? Now we have visuals on that building as well, and this one is going to be let me bring that material. Okay? Of course, I could just scale that negative one in X to bring the door in here to create a bit of more visual and later, this is going to be a platform that we're going to place this building on top of. Okay. You see, by reusing what we have already again and again, we're able to create more variations easily. And let me bring that character and place it here. So that we get a sense of a scale on these buildings. And later, we could take that and just try to bring it here, duplicate it and use it alongside with this one to create a new variation. So who knows? Let me go here and try to see Okay. Doesn't look too bad. But of course, we will just take a look and see if we like that or not. Now it's just about sketching to see if we like the design or not. So now let's see what we have here. We have a building that is eight by ten, and I'm going to use that one for something like a shop. It's going to have interiors so just like this one, for example, you see the building is wider and it has a bit of interior. Okay? Now, let's try to focus on that. And we're going to again, start with the fault cube. It's 2 meters by 2 meters. So I'm going for eight by ten. Of course, it's not so eight in here and ten in here. Now, this one could be four, no. Okay? Doesn't look too bad. Let's already try to create a bit of interior for that. So insets and just extrude. And these ones are going to be just like window or something. So let me see what we're creating. And again, I'm going to bring that shadow catcher. It's going to be a very simple cube. Scaled and in here. So let's place the pivot in here. So right now, nothing too fancy. It's only about creating meshes that look like what we're going to create later. A Okay. Now, let's see what we have. It's 4 meters in here. So know. Let me take that and bring that up by 3 meters or 4 meters. This is 3 meters, okay, it's enough. And then let's bring that. I'm going to create another window here. I said window. No, it's a roof. Excuse me. It's going to be a roof. And then mirror. Okay. Now, just create a couple of edges in here so that we could bring this up to match this one. Okay, Apple then looks like it's a good one. So let's start to create some pillars for the building for the sake of storytelling so that these are not just standing on nowhere. Okay, another here. And in order to bring more depth here, I'm going to use one in here and just try to mirror based on this shift, and now let's change the direction to something. Okay, now this is good. And now, again, I'm going to bring that roof and create a roof in here. An old type of roof, something like this that has shingles, different shingles, something like this that we have been creating so far. Okay, again, it's going to be easy just bring in a cylinder eight and just join these so that we have a symmetry line to cut the side and delete. So I'm going to just duplicate this. So I'm going to just rename it to shingles and then place it in the default collection so that later we could just bring that back and save a bit of creation time. So let's go back and take and just try to rotate to see what we could create. Okay, now, again, we need to bring in a ray modifier. It looks like we could scale that a bit, apply everything and bring that here. Okay? Now Looks like 20 is enough. And then I apply. And we already know that we do not need to create this one for the production. It's just for placeholders, so I'm not actually creating a lot of good results in here, something for knowing which we are going to create and what we're going to create. A Okay. Now, let's just take a couple of these and bring them here and use them on that roof. So it looks like we need to remove some of these Okay. And now I'm taking all of them. And then we need to join select one as the active object, and then mirror select this as the mirror object apply. Okay? It's good. Now let's bring in the same default cube. Okay. And then place it here. And for a quick bend, I'm just going to add a couple of edges in here and just take these two and then de select these ones. Okay? Correct. So let's just take a look to see what we need. It looks like it's a good one. So I'm going to take what we have here, Control J to join them, make sure the pivot is in the center exactly Again, this is going to be test building number three. Let's check for phase normals or anything, apply everything to make sure that it's working right. So the scale of this building is going to be bigger than what we created. This is going to be something like a shop. So I'm going to take that again the direction of the folder, and everything is going to be there export. And in here, let me just find the right folder and then import it's there. So I'm going to replace that with this one. So first, let me duplicate that platform here. I want this to be a bit higher than that ground. So let me bring that and see the rotation on this one. It's 40 degrees. No, it was location. Let me see 20 degrees, 20 and 20, okay? All of them are rotated 20 degrees. Let's see. Okay. Now I can take this one and remove it. Okay? The platform should take all of the building in consideration. Now let's go for the camera to see what is going on. And, of course, later, we will create the platform that connects that to the sea. But I see like if we rotate that to a certain degree, we will have a better visual on that. Okay. I was just taking a look at references and I saw this one and I like the composition. You see, there's a triangular roof in here and there's a supporting building like something like a barn in front of it or just besides that, just like this one. I'm going to create a couple of variations. I have this one and this one I'm going to duplicate and let me bring them here. And what I'm going to do right now is to create a couple of variations with these because later that we create the modular kits, it's going to be a lot faster. For example, just add something in here because these two are identically the same. We add a new extension to it, and that would be a lot easier to manage and create. Okay? Now I'm going to create something like this for this building. Let me find that first. Now I can just make one front variation and one side variation. Oh, it's going to be easy. I'm just going to take this one and let me looks like we need to bring in a vertice from here to isolate this part of the building better visualize I can take this, bring it up, and then take these phases and extrude them. Again, it's going to be incrementally correct. So let me again activate increments and maybe a couple of meters or 1 meter should be enough for that building. So it looks like it's okay, but we need to just bring this to a more manageable state. And then to create a roof like this, we need to just go for something like this. Okay? Now, you see, we have a better and a new variation that could easily be created using modular kits. Okay? Now, let me just grab the roof meshes in here. Then I'm going to take what we have because I'm going to just create the same thing here. So let me duplicate that. We will fix what we do not need. So it looks like we do not need this one. I'm going to take that and delete. And I'm just going to make sure that this one matches our dimensions. But in here, you see, because the degrees are different, you see this is going in another direction here, and this is going in another direction. And these two are going in the same direction. I do not want that. Okay? Now, I'm going to take this one as well. These two pillars, we do not need them and remove, of course, for now and then grab these. And because I want the pivot to be in here to be able to rotate from here, let me separate by selection, and then I'm going to take these row of faces and create the pivot in here. And for the pivot creation, I'm using the interactive tools. It has a function, which is called quick origin, and I have set a shortcut for that. Every time I set that, for example, if I select an edge, it's going to bring that to the center of that edge. Look what happens. You see the pivot has gone from that center to the center of this edge. Or if I select this face and press that, it's going to bring the pivot exactly to that center. So I have set a shortcut for that, and of course, the link to download the plugin is in the project folders, you can go and try to download it. It's free and you do not need to pay anything for it. Okay, let's go for Global. So and then it's all about rescaling that. So let's just take a look and you see a quick fast iteration, and I'm going to just take and join them so you see the pivot is gone. So I'm going to take these and bring the pivot here in the center. So let's bring everything back. But and I'm going to take this one and export it as the building number four. Again, with the same bat on the same folder and export. And before that, let's check for base orientation normals and things like that to see how they look and it looks right. And then I'm going to import that just like the previous ones. And I'm not caring about any issues or things like that because this is going to be temporarily mesh, and it's not going to be in the final production. Okay. Let me just bring that. And you see just buildings are the same, but they are not identical. This is a good thing about the modularity. So let me apply a very basic material, basic shape material, I'm going to copy and then paste it here. And we have option to place it after this building or place it here. So for testing, I'm going to place that here. And it's a good addition to the scene that we are making. And let's create a quick platform for that as well. Okay, it's very good. And now let's go take a look at the camera. And you see in here we have a quick building created, and I could just bring it to here so that we have more room for the buildings that we're going to create later. Okay. And now let's create another one. But that part, that barn that we created is going to be created in the front of the building instead of side of the building. So I'm going to take the Okay. Shift D plus P by selection. I just need to grab that one. This is. And because we do not need to use this part, I'm going to take that and delete plus these ones. And then here we could just create a phase. And then we have this building that we could place, for example, right here. So it looks like we could create a center point in here to be the guiding line and then try to match this with here. So because this is an edge in the center, we need to go for edge and take this one and bring that exactly to that center. So we need to set closest, or let's set it to center. Okay? Center is going to work better because it's going to center that obviously. Okay? Now, I'm just testing to see what happens. Let's deactivate a snap mode. And it looks like a good one. So I'm taking that Control J to join them. Now this is going to be building number five. And this is how fast you're able to iterate with these buildings, although they are basically not the same. They're actually the same. Because you see they just tell the story that they belong to the same area, they belong to the same composition, but they are not actually that the same. They are they have their own identity. And later we will add variations as well to make them look more unique. And because we're going to use modularity, we create kits and then distribute them across all of these buildings and create variations as well. So now let's export that. And again, I'm going to import and test. So let me duplicate and bring it here and I'm going to replace it with this one. No, I'm just taking a look. It looks like we need to bring the platforms here to allow a pathway that the player can travel too. And I'm just pausing to see what happens. So let's click here and I'm going to pin that so that no matter what we select, we are seeing that composition camera. Okay? Now, let me duplicate that building. And then I could replace that with something else. Okay, you are seeing that we have added something there. And let's go see what we have here. And because we are the composition camera is here and we're not able to see what far there, we could just duplicate the same buildings and use them there. It's not going to be a huge problem because we need to fill the composition. And if we were to create a lot of buildings just like so unique, it would have really taken a lot of time to create those buildings. So we need to save time as well, because the time of the tutorial is limited, but you have the freedom to go and try to create the variations that you want. Okay? Let me just rotate one in here. And I'm going for the composition camera. And again, the same material. And then I could just duplicate this, bring it here instead of that one, to say that there's something there's actually more depth to the building there. It's not going to be seen, but it's a good idea to place that, for example, to tell that there's some buildings there. You know, just storytelling. There are a lot of possibilities that you can think of. And I'm purposefully not placing anything here because I want to be able to see that piece of mountain there to tell that this is an island and this is an island village or something like that. Of course, the sea material is going to be added later. But here's why. So let's do something. Just with the buildings that we have, I'm going for quick past duplicating of the buildings here and trying the composition to see if we like that composition or not. So let's select, and I'm going to bring that up a bit. So let's bring here and maybe use one of these for a quick fast variation. Although it might not be that visible, but it's going to add a bit of depth to the composition. Let me just do something. I'm going to take these and rotate them a bit. And then take a look. Now this is better. I'm seeing more of these houses and just creating a sense of chaoticness in here. And to really break a lot of these flat lines of composition and breaking something here. And let's just take this. And for testing, I'm going to bring Okay? Looks like there's something there. Okay. Now I'm going to remove these ones. And for now, I'm happy with the composition. So now the mid poly creation process is done. Of course, we could go and try to create these pillars, these ones right now, but it's not going to be that important. Of course, we could create blackout for a boat or for the raft that we're going to create, but it's not going to be that necessary because we need to have a sense of scale and composition. So all of them later could be created. So I'm going to pause right now and in the next one, we are going for creating a wood kit because wood is a very important part of this one. We need to sculpt wood. We need to create a robust kit and distribute that kit and create modular kits with it. See you in the next one. 8. Intro To Kit Based Workflow: Okay. In previous lesson, we created the mid poly, and of course, there's more time for you if you want to go for more variations. But since we are limited in time, we need to go for a limited amount just to keep the tutorial time managed. But of course, you have the time you can go for the amount that you want. So now we need to create a lot of planks, beams, and a bit of trunk meshes. So here's the reference board that we have, and we have taken look at that a lot of times. Now you see in here, for example, let's say that we have this building and this building has a certain dimensions. So we need to convert that to something old to ages that everything was made with wood. So we have some references in here to help us do that. So the main reference that I have in mind for this type of look is something like this. Of course, not so fresh, not so manufactured looking, but we're going to create a lot of oldness to it. But the main idea is going to be something like this. We need to create a lot of planks and then distribute those planks into the environment. For example, this is a better example in terms of being old and grounded and grimy. So we need to create planks, which are these ones. We need to create beams and we need to create some barks, round ones like these. These are three types of measures that we are going to create. For example, for creating plank, we might create four or five variations. Of course, when sculpting in zebush we will sculpt each side uniquely. Because if you take a plank, which is having different sides, for example, top side, bottom left and right, you will get as many variations as you want. For example, from one plank, you get four variations. We need to have that in mind by creating four planks and that plank has maybe six sides top bottom left and right. No, it should be four. So four times four means 16. And by sculpting four planks, we could get just 16 variations so easily. So for beams as well, it's going to be the same thing. We need to create wood beams. And then we are going for bark. So the process is going to be first creating the base mesh in blender and then sculpting that in zebras using a lot of height map and Alpha maps which help us get a better variation more easily and faster. And again, the quality is going to be a lot better than manually trying to sculpting woods just everything by hand. Then after creating the high poly and Zbrush, we will decimate them and create the low poly and the UV is going to be in lender and then texture them in substance painter. For texturing, we are going for substance three D painter. So here's going to be our workflow. First, we create the base mesh in blender, the main dimensions, and so on. And then we create a high poly sculpt in Z brush and then convert that to relatively low poly mesh, but not that low poly because nanite and unreal engine could handle the polygons a lot better. Then we will do wrap on meshes and then match the high poly and low poly for baking inside painter, and then texturing is going to be done in painter as well. We might do variation maps or those kinds of things that I haven't decided yet. So far, we might create variations inside painter by utilizing second UV or we might go for variations inside on real engine by using material Editor. So we will decide later. So now, here we are in blender, and the base scale for the wood planks that I have in mind is a height of 2 meters. So let me bring in a default cube. So you see this default cube is two meter by two meter by two meter in every scale. So let me do the preparations first. I'm going to set the Z to be 2 meters and then X and Y. Let's go for 10 centimeters. Okay? This is more like a beam that we might need to create. So let's go and set this one to two now 25 centimeters and 0.8, 0.08. So now, scales are in meters, so we need to have that in mind. So this plank is already 8 centimeters by 25 centimeters by 2 meters. So when we created that, we will create kits with it. For example, let me go for a short demo. We will create kits. And then let's say that we take this one and try to create the buildings with it. And then we have different sides. For example, we go for that side and then take bring them here, rotate. To get another variation and try to create the building with it. So why are we using these modular meshes instead of going for tiling texture? Because going for tiling texture is a good one, but it doesn't go for the quality bar that we needed. We need to have a bit of silhouette read. For example, you see in here that silhouette has a has an important role in the creation of the mesh. We are seeing that these shingles are actually contributing to the silhouette. But if we go for a tiling texture, it's going to be so flat. Again, nanite is going to help us distribute the polygons and go for higher quality polygons a lot better, and the geometry should not be a concern. Of course, we will optimize the meshes, but optimize them in a sense that we keep the silhouette perfect. So now I'm going to save a new file because I'm going to start creating the base meshes relative to scale of these buildings. We will first create different planks, and then later, we will use blenders geometry nodes for distributing those planks on surfaces and create modular kits. Do not worry if you are not familiar with the geometry nodes, we will just go step by step and create simple graphs so that everybody could follow. You do not need to be a professional in geometry nodes to create such results. Okay? Now, there's one more thing for deciding the scale of the wood planks that we're going to create, it's really up to you. We could create, for example, two meter planks and array them or tile them, or you could create, for example, a four meter plank because if I select this one and let me go. If I select this edge, you see the height of that is 4 meters. So you could go create 14 meter apiece, for example, like so, or you could go create two meter pieces and then try to rate them or duplicate them. So it's really dependent on you on how you want to create. But for now, I have three meter pieces and two meter pieces in mind because if I create one, two meter piece, I could duplicate it over Optop and create new variations. Or I could simply scale that and use it as a four meter piece. So let's start creating and I'm going to just take all of these and bring them back. And for the first one, I'm going to create planks. Okay. Let's start by creating the default cube. Okay? Now it's 2 meters. Let's bring the pivot up top. Now I'm going to make this one or two meter piece, and let's go for 25. No, this is not a good plank. It's more like a beam. So let's go for 0.1. Okay? Now this is a good default plank that we could use. But of course, we could now let's go for 8 centimeters or 5 centimeters should be okay for that lnk. Okay. Make sure the pivot is in the center on the ground line. Now, I just duplicate it and try to alter the variations very easily. So let's go for 0.3 now let's go for another variation. Later, when we go in Zi brush, we do not start to sculpt all of them uniquely. For example, when I started to sculpt something on this one and I liked it, I just duplicate it and bring that over and try to rescale the proportions of this one in order to save a bit of sculpting time. You know, reusing stuff is a great thing in terms of creation. Okay? Now, let's go for 0.1 on this. And 0.80 0.08 on this. I want to have different variations of planks. Looks like four plank is a good one. Now, this is a two meter kit, I'm going to duplicate them and scale them to be 3 meters. But I'm going to scale them proportionally so that all of these scales, X Y and Z get scaled at the same time. So I scale and roughly bring them to the boundaries of 3 meters. Okay, let's go for three. Now we have three mid kids. For bigger buildings like this one, these ones for smaller buildings. Okay? As I said, later when sculpting them in Z brush, we will take, for example, sculpt this to 50% of completion, and then duplicate it, bring it over to here, rescale it, and start sculpting from there so that we reuse as much as possible to save a bit of time. Okay, for creating beams, let me see I'm going to take this and let's see, I'm going to select this edge, and the height of this one is 7 meters. So I'm going to create a default cube. Now, let's reuse this one. So this is going to be 7 meters, and then 0.25 0.25 on each one or 0.3 0.3 on this one. Okay? Now one beam, and then let's duplicate it for variations. And of course, we could create smaller beams for these ones as well. Or we could just when creating the geometry, when we use that seven meter piece in here, we just cut that in half. So nobody's going to see what is going on in here. So in order to create that, we will save a bit of sculpting. But in order to have some variations, let's go for this one and go for a three meter piece, like so. Then I'm going to call these planks So let's go to edit and rename. And I'm going to set the name to planks. Of course, now this is the suffix. So let's go set it to new and planks. So our planks are created. And now I'm going to take this one and call it beams. This is good for later reordering in Z brush. Okay? The next one that we wanted to talk about is these cylindrical ones that are so useful. So these ones that we're going to use to tell the curry that they have been cut off from a tree or something and have been used in creating these kits. Okay? This one as well, is going to be created from different variations. So I'm going for a cylinder and for the sides, it doesn't matter because later we're going to subdivide that in Zbrush. Anyway, so let's do something. I'm going to delete that. And let me bring the cylinder and scale that to 128, okay, so that it has enough subdivisions there. Okay? Now, two meter, let's go for 0.25 0.25. Okay, regular one. And now let's try to scale this one to reach the boundaries of 3 meters. Okay. And now another variation of this one. So now I'm going to bring the all to here exactly to the center of the world. Okay. Now I need to rename these to bark. And we need to export this as OBJ because this one has gun in here. So if we select OBJ, we are able to try angulate that upon export because if you import endguns to Z brush, it should have a bit of problems loading them. Okay, I'm going to export as OBJ. I have plugged them to Quick favorites in here. So whatever you want to use in Quick favorite menu, just go and, for example, export OBJ. It's here. Right click. It should be add to Quick favorite. For example, let me select this. It's add to Quick favorite so that every time you press Q, you're going to get them here. These two are for imports and this one for export. Okay? Make sure you select only this should export only the meshes that you have selected. And there's a triangulation mesh, triangulate mesh. This is going to convert them to triangles so that we could easily import them to Zbrush. Okay? Export Oh, here we are in Z brush. Your UI might be different than mine because I have set up some of the regular brushes and options that I use regularly in the viewport so that I can access them very easily. Now, I'm going to import and bring the OBJ file that we created previously. And bring them into Viewport, go to edit. Now you're able to start sculpting here, and this icon tells us that we are looking at the front view. Here are the meshes. And you see, they are imported as one mesh. So the one option that I use regularly is called split two parts, okay? But this one exists in the geometry, and it should be in a split menu and then split two parts. This is going to split them to different measures so that we could only focus on one of them and try to sculpt. So if I press split to part, you see that it's going to highlight here, and it means that the option that is available here, I just drag that to here so that I could use it regularly instead of going to men and try to find them. So in order to just change your UI, you need to go to preference, Covic, and you should start enable customization. Now, every time you hover over a button, for example, let me go for split two parts. You go Control, Alt, hover over a button. And if you want to remove it, just drag it to Viewport. And if you want to bring that to Viewport, you bring that with the same control Alt drag, bring it here, and you should be able to use it like so. And for the brushes as well, they are regular brushes that I bring in. For example, if they're present in here, you could just take one and bring it here and start to use it. Except for trim smooth border, which exists in the brush tab, and it's in trim and trim smooth border. You could find it here or you could go into Zbrush directory and try to copy that trim smooth border and ring it to startup brushes because it's not included in the startup brushes. Now you go to Zbrush directory, and there should be Z brushes, and now in here, trim just like the folders that you see there in Lightbx. And this is the trim smooth border. If you want to use it, you just copy and return back. You go to Z startup and brushes. Brush presets. Okay, these are the brushes that I have copied here so that every time I press B, I'm able to see them here. So I have pasted the trim smooth border there and that's here and you can see that. Okay? Now, every brush that is present in the default palette, when you press B, for example, let's say that I want to use the crumpled brush and bring it here. Just select it and from the brush menu, control all, bring it here, and you have that brush here. If you want to move it, just drag it into viewport and it should be gone. Some of these ones, for example, back face mask or in other areas. For example, back face mask exist on the brush and auto masking, and then the back face mask because when a mesh is, for example, like this one, so thin, if you try to sculpt, it's going to affect the backside. We do not want that. So you activate backface mask so that it only starts to sculpt on the side that you are seeing and completely ignoring the back faces. We are trying to explore all of these, but now let's go and if you want to save the same config and use every time you want to go to preference, Disable customization and store config. And this one tells you that the config has been saved and every time you load Zbrush, you're going to see the same config. And if you want to save that to an external file so that every time you lose it, you just want to load it, go to save I save it on a hard disk or something, and every time you lost, you're able to load that with one click. Okay? Now, let's go for the same split two parts. And for example, let's go to this wood beam and the process that we're going is so straight. We just take these meshes and try to sculpt them. And one regular method that I really like to use is using the sculpting Alpha. And I have prepared some Alpha brushes. I'm not the author of the original image, but I extracted Alpha from them for starting to sculpt. For example, let's try to dynamite this, okay? The resolution needs to be higher. Okay? Now you see we have a bit of better subdivision on mission. It's quite a lot subdivisions there. You want to go to drag, rectangle, and Alpha, you want to go import and go to the folder where you have saved your alpha brushes. So now let's see about this one. As I said, I'm not the original author of the image. I just download them, downloaded them from free resources and extracted sculpting alpha from them. Okay? Now, if I try to drag, you see, it starts to create something like a wood pattern in here. But of course, it needs a lot of manipulations and things like that. Let's try to use that on this one. Okay, let's go for dynamesh. And if I try to sculpt with that, you see, it tries to create a very rough wood pattern that, of course, needs a lot of manual work to look good. But you see, it prevents a lot of the extra time that we need to put in creating a lot of details. But you see when we try to sculpt on this side, it's going to get sculpted here as well. We do not want it. So the backface mask is here to prevent that. If I try to sculpt now, if I take a look at here, you see it doesn't sculpt. And then I think it's enough for this lesson in here. Let me go find this one as well. Now we're left with the default meshes, and I'm going to pause right now and see you in the next lesson where we try to sculpt these and try to reuse as much as possible from the resources to be a bit faster on the production. Okay. See you in the next one. And do not worry. The brushes that we use, the Alpha brushes, I'm going to include them in the project files so that you can use them to continue with the same lessons. 9. First Pass Of Wood Sculpt: Okay, now, finally, it's time to go and start sculpting. But before anything, you said, these edges are too sharp. If I just take that and zoom, you see the edges are too sharp and they are not actually well defined. So for creating a good amount of wood planks, we need to first go for a bit of edge variation. And then after that, we will go for surface variation. Okay? Now, it looks like we need to go for a better resolution, okay, something like this. Okay, I just set this resolution because this mesh is a bit small, it's just going to keep the resolution small as well. If you go on this resolution on a bigger mesh, you're going to get a lot of more polygons. And it's really recommended to start with lower resolution if you are starting to sculpt. Okay? Now I'm bringing the trim smooth border, and in order to make that a bit rougher, I'm going to bring that Alpha, and what I'm going to do is trying to add a bit of edge variation on these because these edges need to be captured in normal map. So that way or this way we are able to add the resolution that we want. You see, by just going for a bit of edges sculpt, we are able to go for a better normal read later that we export them to Unreal Engine. Okay? And you don't want to sculpt all of the edges and you don't want to leave all of them. You just need to go for something in between. You want to leave some places unsculpted and sculpt other places because if you sculpt everywhere, it's going to be noisy and it's going to be bad for composition because nobody's going to focus on where that detail is, and it's going to be too noisy. So for now, we are going for a small resolution and just trying to sculpt on some of these edges. Okay. And then because we need to sculpt all of the sides, we need to take that in consideration because later, we need to rotate these all around so that we get as much variation as possible from each plank. Okay. Now you see we have done sculpted some of these here and some of them lesser, and some of them we just left them to be. And this is the way that we go. You don't want to over sculpt your measures because that is going to take a lot of time, and it's going to introduce a lot of noise into your composition. So you want to keep that in check if you want to have a good composition and avoid a lot of noise. So for now, we only go for edges and try to add a bit of edge variation here and there. Some were stronger, some were weaker, and some were not at all. Okay, now let's go and check and you see, we have a good shape in here. Okay? Now I'm going for this one. Let's bump up the resolution. And so we get more resolution in the same resolution because this mesh is a bit bigger. And then it just adds the resolution that we need. Okay? Wood is something directional, so you want to keep your scalp directional as well. And start with lower resolution in the beginning stages to keep the polygon amount managed. And this white alpha square alpha will really help to make the result more rugged and rough. No controls to go back. Okay. Just go for the edges and try to sculpt. And whenever you dynamesh, it's going to add more polygons so that the resolution gets bigger and the quality gets a lot better. Okay? We haven't sculpted it yet in here. And it really depends on you on how much detail you want to add because the wood is an essential part of this environment. It's a good idea to spend a bit more time sculpting these wood kits because that is going to be the bare bone of the environment. Probably 80% of the environment is going to be made up of wood. So it's going to be a good idea to sculpt a bit of wood and put a bit more time and invest more time on them. Okay. Now let me take this one as well, bump up the resolution. And then try to sculpt these edges. Later when we bake normal Map, these edges are really going to define the building. And in blender, also, we could add variations, for example, to cut the wood in half and create another variation. We're not going to do that in zebras because that is non destructive in here. But in blender, we could take one of these variations and try to add more variation to it without destroying the original mesh. Okay. And to save a bit of time, I'm going to duplicate these measures and replace them with those bigger planks to save a bit of time because the tutorial time is a bit limited. So if you want, you can dedicate more time to sculpt those wood lengths. Okay. Now let's do something. I'm going to take these and I'm going to take this one first, and I'm going to duplicate. Duplicate is in the geometry tab, Subtool, excuse me, and duplicate. Okay, I'm going to duplicate and bring the move brush out left click on the geometry, and I'm going to bring that here and just try to scale to fit to the borders of this geometry to save a bit of time. And also, we could add more variations to them. Do not worry. So I'm taking this one and delete. To save a bit of time later we will return back and add more details to these. Do not worry. So let me take this one as well. I'm going to duplicate. Then again, use this brush out left click to bring the pivot to here and then bring it to the center and just try to change the mesh. Okay? This is good. And now I'm going to take this one and delete. This process will help a lot in optimizing the time. So now I duplicate this once more and bring that here and try to scale. And delete. And this is just to save more time for other pieces. Let me just take that and then re dyna mesh. And you see it adds more resolution because now the mesh is a bit rescaled. And now I could take these and try to add a bit of variation to the surface so that they're not identical totally. And trim smooth border is a Z sub brush, and it means that whenever you're trying to sculpt, it's going to subtract from the shape. But if you hold out, it's going to add to the shape. If that is something that you want, you really want to use that, and it's going to be helpful in sculpting process. Okay, now, this one, just to add a bit of variation so that they are not identical with those other wood pieces. Okay. It's good for this one. And now let's take this and go for another pass. Looks like we have sculpted that one. We need to go for this instead. Okay, re dynamic to add more resolution and try to hide everything else so that we can focus on this one instead. Okay. Okay. Looks like there's a bit of possibility in here for sculpting the wood. Okay? Now it's good for the first pass. Let's see. I'm happy with what we have sculpted so far. Okay? Now I'm going to sculpt on this. Let me bump up the resolution, okay? And then we need to add a bit of edge variation in here as well. Then we will duplicate that other so that we save a bit of sculpting time. Okay? Because in the context, this is a wood that has been used as beam and is old and rusty. So it provides a bit of space for us to sculpt even more on this. If the story supports that, or if you want that to be relatively new, you could just sculpt less or with less intensity. Okay, now, and let's look from every side. Okay, it's good. But now let's go for this one and start to sculpt uniquely. I don't want to duplicate that. So let's hide everything else and then try to sculpt on this because we have a couple of beams to be used for a lot of situations. So it actually makes a bit of sense to add maximum variation to the surface. And now, these are all raw sculpt. Later, we add Alpha brushes, it's going to look a lot better and more natural. And even after the texturing phase, it's going to be right. Okay, now let's do something. I'm going for these. And I'm not going to sculpt on this because later we will add Alpha brushes on these so let's just add a bit of edge variation so that the edges are not too sharp. And the heavy hand for these barks, these cylindrical pieces is done using Alpha. So let's take this one as well. Just to add a bit of surface variation. Okay, now that's one. Just a bit of edge variation, and the rest of it is going to be done using Alpha brushes. And for sculpting, we are going to use the big medium and small mentality. First, we will add big details, the ones that are readable from far away. And then after that, we will go for medium details, the ones that are visible from medium distance to complete those big shapes. And then after that, we will go for smaller details like really tiny wood fibers. Okay. Now let me just take a look. And the first pass of sculpting is done except for the sam which needs a bit of edge variation. And this edge variation is really important. If the edges are too sharp, it's going to look not that great. Okay. Now, let's re dynamish once more. And since dynamish has a blur, if you use the blur, which is the default of two, it's going to blur your edges a bit. So if you want to prevent that, just set the blur to zero so that it doesn't blur your result if that is something that you want. Okay. Now the first pass sculpting wood is done. And then in the next lesson, we are going to go for bringing alpha brushes to define the surface of the wood. Okay. See you in the next one. 10. Mid Level Wood Sculpt: Okay. Now we are in the second pass of wood sculpting. Now it's time to go and bring in alpha brushes to start adding wood fibers. Okay? Again, I'm starting with this one, and I'm going to standard brush, drag rectangle, and I'm going to bring some alpha brushes that I extracted from free images that I downloaded from Net. I didn't create those images. I just converted them to height maps. And I'm going to share them with you so that you can sculpt the same thing if you want to. Okay, I'm going for import. And let's bring something like this. And if I try to bring that, it tries to add wood fibers, but it's too noisy. So the first thing is we need to disable the back face mask so that when we bring that, it doesn't affect the other side. And the next thing is that we need to bring down the intensity. No, not like so. Okay, something like this. And then later we will return back and try to add more details and try to sculpt on that piece. So let's do something. I'm going to bump up the resolution to four K. Okay, now we have more resolution to work with. And you see now, it's more well defined like so. Okay, now, It's like adding these details. And that in here as well. We could add the same brush. But you see in here, it causes some of these to be buggy. So we need to prevent that So let's go back. Dynamesh once more. When I'm trying to drag one of these again, I dynamesh to bring all of the polygons back on their place, so let's disable the blur so that it doesn't blur the result. Okay? So now we have a wood plank that we could start sculpting on, okay? Let me bring the alpha again. And then you see there's a lot of noise in here. We don't want that. We want to laten some of that. Like so using the trim smooth border to reveal the possibilities for the medium and small shapes. So let's do something. I'm going to just try to go directional on these because we don't want to bring a lot of noise. We just want that to be a bit subtler because later we're going to texture that, that is going to be too noisy for texturing because texturing itself is going to add levels of noise. So you want to prevent over noise. Okay. You see? I'm just trying to flatten some of these And then after that, we will try to bring more details there. For example, I'm going to bring the Dam standard brush. Let me bring the trim smooth border. Shift, click on that so that every time you press Shift, dam standard brush is going to be there. So like creating some wood fibers to connect this wood in such a manner. So let's just try to sculpt. Then again, I'm bringing that brush again. And then let's dynamesh once more, make sure the blur is deactivated so that we introduce some wood links here. I just go and try to flatten some of these. And we could also bring some details in here. I just brought a damn standard brush and tried to sculpt on this. And you don't want to bring specific details. For example, you don't want something like this all over your mesh because the mesh is going to be instanced a lot, and that makes that repeated. So we don't want the repetition to happen. So make sure that you go as generic as possible. Okay, Dyna Mahwce more. And now I feel like it's enough for this pass on this wood. And let's just take a look. And you see, we have some great details even from far away, we are able to read them. So let's go for this one. Again, I'm bringing this standout brush and bump up the resolution. So I'm going to use another alpha brush for more variations. So let's just take a look. And I see that this one has a good potential. Okay, re dynamis every time to prevent that work from happening. Okay, now we have a base that we could try to sculpt on and reveal some of that shapes. I just don't want to keep these shapes. I just want these to be a base for our shape. Just try to flatten them Like, so, and you see how well we have added that detail. And if you want to be faster, you could just increase the brush scale to bring bigger strokes on your mesh. Okay, redna mesh once more. So let's do something I'm going for import, and I'm going to use this one. So open and on a lower intensity, just try to bring that. See it adds a lot of good wood fibers. Rina mesh. Okay, now I'm bringing Trim Smooth border plus the dam standard brush. So it looks like there's a bug. Just try to sculpt and it should be right. And because wood is directional, you want to be sculpting directional as well. Something like this is not accepted in most cases. So let's see and compare that with the other ones Okay, that's great. And later we will add more details as well. Do not worry, for now it's only about adding medium details. Later, we'll return back for small details as well, and we'll leave tiny details for painter for texturing. So again, standard brush, set it to rectangle drag Import. So I'm using this one now, and let's hide everything else. Blur down, bump up the resolution. Okay, I just dynameshed and now we have a good resolution to work with. And let's bring the intensity down. This is a good rough wood texture. Okay, we need to go back and reactivate the back face mask. I was wrong, so we need to activate once more. So in here as well. This is just for revealing the potentials on this wood. So re dynamesh and just try to flatten the result. Okay, flattening that will reveal a lot of possibilities. And this is giving us a direction to go with. We are removing some of those noise. Okay. And all you need to do is going directionally, sculpting this. And later we will convert these to low poly for engine use. So this is repetitive. Let's remove that. Okay, not too bad. Let's just compare. Now, not bad. So now I'm going for these. Okay. Now I need to go for a dynamesh. Okay, let's hide everything else. I'm going to bring a new brush for this one. So import, and I'm going to use this one. Now this is rougher. And later it's going to be good for texturing and adding variations Okay? See how many details it adds for free. So just try to flatten some of these. I'm not going to add extra wood fibers because it already has some wood fibers. Okay. Down in here. Just try to go directino. And now it's okay. The first pass, excuse me, the second pass is done. Let's compare. It's okay. So now let's go for this one. And I'm going to bump up the resolution and bring another alpha brush imports. And I'm going to use this one for here. So see the wood fiber is totally different than here. Okay, dyna mesh. And now we have a terrible smooth excuse trim smooth border for sculpting. You could go negative and additive in sculpting if you want to. You could add or you could subtract from the details. And let me bring the damn standard brush, rescale. No, it was not okay. So here as well? It's a repetitive process, and it might be a bit boring, but since wood is an essential part of the environment, we need to bear that. So just wait a moment and then try to sculpt because that is an important part of the whole tutorial. So let me take this one again and I'm going to use one of the existing brushes. Okay. Now bump up the resolution. And then on top of that, I'm going to use another one to mix between both of them. So that's too noisy, but we're going to use trim smooth to smooth that. Okay, directional and done so there's a heavy noise in here which we need to flatten. Okay. And you see that I'm adding and subtracting at the same time. And by mix of couple of Alpha brushes, we were able to create a good result. And you see we are removing some of that, we leave some potential for later sculpting because that's how we work. Okay, now let's see. It's done in here for the second pass. So now it's time to go for these beams and then the round the cylindrical ones. Okay? Now, in order to make that easier, I'm going to hide everything else and I only focus on this one. And maybe if we sculpted one of these, I duplicate it for the other instances. Okay? I'm going to bring another Alpha so I'm selecting this one and we already need to go dynamesh even more. So now, it's going for millions of polygons. Now it's time to again activate the backface mask because I don't want to affect those other sites. So now, it's too strong. So let's bring the intensity do something more controlled, not so much. Let's go for such a value, okay? I'm liking this one because it has some really good bumps here and there, which we could control the silhouette with. Okay? It's bumpy, and now you see because of the amount of height map that we added. You see there's some bugs in here. So it's really recommended to re dynamesh once more to bring the polygons back together. Now you see it's a bit blurred, but the geometry is controlled a lot more. But if you want to prevent that from blurring, let me control Z. You see now unblur that, and it's going to be a bit better. Okay? Now, let's do something. I'm going to bring the trim smooth border. And this time, I'm going to pick up this one. This is the ultimate square of that is sharper than the other ones. It's more rough. Okay, let's just change the brush scale. And the more you go into details, the smaller the brush scale should be, because that way you're controlling more and you need to really decrease the brush scale to really focus on those tiny details that make up the details. Okay? Again, wood is something directional, so we need to go directional on this one as well. So the key is to keep that directional. And because that belongs to an old age, we need to be rough when sculpting these details. And you see, when I'm sculpting, I have the edges in mind as well. And we have these ones in here. If you want, you can go and try to sculpt them. But because they are hidden under the structure when we place them, it's a bit of saving time when it comes to not sculpting those parts. Okay? A bit of sculpting in here. You see I'm adding and subtracting at the same time by shifting out time and time again. Okay, now let's do something. I'm going to take this. And in order to save a bit of time, I'm going to duplicate it for these ones. So I'm going to duplicate and bring the transform gizmo and since these are equal in X and Y, I'm going to scale that only in Z because if I scale that uniformly, you see it's getting out of control. So we need to scale that only in Z. Of course, I believe Zbrush vectors might be a bit different than we had in Blender. Okay? Now I'm going to take the other one and deleted out control on that. So let's hide this one. Take this and easily delete. So now, if I bring that back, you see, we have something like this, but we need to add more Alpha maps to control it. So because now the mesh is a scale, if I go on dynamesh, you see we get more polygons because the mesh is just another scale format bigger than the previous one. Now I'm going to bring another Alpha to add some more details to this. Okay, Imports, and I'm going to use this one that we have already used for the previous ones. Hold Shift, click on this so that every time you hold Shift, it brings up this one, and then I'm going to select this one for the standard brush. Every time I hold Shift, I'm bringing the standard brush with Alpha. So we need to bring the intensity to something more controlled. And this reusing of geometry is really recommended. You see, if we go and try to sculpt each and every one uniquely without reusing what we have already achieved, it should take longer to get a good result. Okay? It's a standard way of getting result plus saving a bit of time. But if you want to, you could just try to re sculpt everything manually and together at the same time. But since we are a bit limited on the time, and we need to get a better result, and our focus is on environment, not sculpting. There might be an instance where you focus on improving your sculpting abilities. That way, it might be advised to start sculpting everything manually, sculpting everything uniquely. That way is recommended a bit. But for such an instance where you have the environment in mind, not sculpting, it's advised to go and reuse as much as possible to manage the time. So I'm dynamiing to bring the polygons back together. And then I'm trying to sculpt and trying to remove some of that So now that I have used that Alpha, I'm holding down shift and bringing the dam standard brush. So every time I hold shift, I'm bringing a dam standard brush to introduce some extra wood fibers. Okay, the sculpting process might be a bit tedious and a bit time consuming, but that is an important part of the process. You know, it might be especially a bit boring. But there's a good added value in this instance where you can add. You know, without sculpting, all of this would be just some square polygons here and there. But with the sculpting, you can take your environment to a new level. So it's a time that you invest on your project. Okay, I'm just focusing on directional strokes. Later, we might add the third pass of details or we might leave that for substance painter later for texturing phase. Of course, the tiny details are always good to be added procedurally inside painter. We have different levels of details that we could add. There are big details that we do in blender or there are big shapes. The better word. There are big shapes that we do in blender and Zi brush, and there are medium details that we could also do in blender and Zibush. But the small details are good to be done in Zbrush, especially for these natural props, like wood. But always tiny details like scratches, and those texture details are good to be done in painter because procedurally that shouldn't take too much time. Okay, you see, I'm adding and subtracting at the same time. By removing some of that noise, we're able to bring the focus to the details. And if everything is detailed, nobody's going to see that detail. You need to have some places where the detail is not present. And because wood is something directional, you see, I'm going all directional. And because we're going to use this in many instances, I'm not placing a lot of really specific details. And I'm going generic because if I place something like this and instance that a lot, the player is going to notice that I reused one thing again and again. So in order to keep that a bit more under control, I'm not placing so much details in here, so much specific details. Okay. Now let's go back. And compare and I'm happy with the result. So let's do something. I'm going to level that with this. It's it's not that crucial, but it's a good method for later if we apply the pivot, all of the pivot should be in the center. So now we could do one thing. I could duplicate this and bring this over to here and add details there. So copy that. Let me duplicate. And then I'm going to bring that over here and then take this one and delete. Let's bring that back. Now you see, it's repetitive a bit, so we need to go and find those areas and delete. Excuse me, edit. So I'm not fighting those other ones because I need to see what is going on here. Okay, let's change to that offer that we have been using so far. And I'm just bringing some detail. Do not worry later. I'm going to bring another alpha, different Alpha to here to hide those repetitive parts. And then after this process, I'm going to end this lesson. And in the next one, we will go for other passes on the wood and especially those cylindrical barks. So now I just focus on this one. Okay. Now we have a generic piece of wood that we could add new details too. Okay? Now I'm going for another Alpha. Let's reuse the same Alpha 01 that we have been using for some of the other pieces. So you see now it's getting some new details. Now, let's not make that repetitive. I'm adding here and there, and I bring a new Alpha to accompany these details. Okay. Now we see it has a different wood texture. And now let's go bring some of the other ones to mix and create new wood texture. Okay, now we see the geometry is a bit buggy, so we need to dyname before sculpting. And then after this, I go again, removing some of those details and then this lesson because it's just taking too much time, and we need to focus on other points in the tutorial. Okay? Again, I'm going for trim smooth border, a rough pass, of course, after dynamesh. And then I'm using shift at the same time as well to bring some wood fibers here and there. Okay? See now, I'm going so directionally based on the Alpha strokes that we have added. And because this is a tutorial, I'm a bit limited on time, you could spend just the amount of time that you need to get a perfect result. And it's your choice of workflow. You could just sculpt all of that by hand in Zbrush, or you could leave some of the details for painter when texturing. Okay. Now, I could call this lesson done. Let's zoom out to see what we have done so far. So there's a bit of repetition in here that we need to address. But I'm going to leave that for another lesson because this is taking too long. Okay. See you in the next one where we go for these bark, planks, and a bit of hiding details on these. Okay, see you there. 11. Finishing Wood Sculpting: Okay. Now, in previous lesson, we sculpted the medium details on these planks. Now it's time to go for these bark, these cylindrical ones. But you see already they are just like a manufactured piece of geometry. So we need to just change the silhouette a bit. So again, I'm going for drag rectangle, and I'm going to bring Alpha. And just one quick disclaimer, I'm not the author of these four alpha maps that I'm including in this tutorial. They are in no way created by me. These ones, these were downloaded free from net, and I just extracted height maps from them. But these ones are just from free PBR textures that I found online, and I'm sharing them with you. And I'm using them on this project as well. So let me take this one. And you see if I just bring that, it's going to go for a quick variation in the silhouette. But let's do something. I'm going for a lower resolution because with a smaller resolution, we're able to just focus on big shapes. So I'm taking that and see if I just bring it, it's just trying to just change the silhouette a bit. So let's go for back face mask as well. And if I just smooth, you see, it's just trying to change the silhouette a bit. So I'm going to go for better the intensity, like so, and I'm adding and subtracting at the same time. I don't want that to be just like a hard surface prop. Okay, re dynamic once more. It's going to change the silhouette a bit and I'm happy with it. Because we have a lower resolution, the shapes are not getting changed a lot. I just wanted to have a bark shape. I want it to be natural. And you can already compare that with other pieces that we have, including these ones and see the changes. And then I'm going for the next ones. Let's just go for a smaller resolution. Okay? It needs a bit of smoothing. So you see I'm adding and subtracting at the same time on the silhouette. And re dynamesh once more. Take a closer look. Okay. Now, let's see. Let me go for a bit more detail. Because I believe this way, it would look a lot better. Okay. Now, this one, I'm going for a smaller resolution. Let's dynamesh. And you see I'm adding and subtracting again. I just want the silhouette to be stronger, not something like a slender out of blender. Okay, now I'm happy with these. Let's re dynamesh once more. And now, again, I'm going to reuse the same Alpha, but on a better resolution. So if I bring that, you see, it's just not going for a good result. So first, we need to go for a better resolution. Let's go for 1024 and see what happens. Okay, we need to go for four K already. Okay, close to 1 million polygons. And if I bring it, you see, it's good, but it's not that great. So we need to bump up the intensity. And you see it's going for a good result. But we need to have more separation for these individual borks. You know what I mean? Let me go for changing the Alpha. I'm going for the modification, and in here, there should be an option for adding contrast. Okay. Now you see more separation between those chunks, and it's great. So let's do something. I'm going for a more controlled intensity. And you see now we are getting a lot better of a result. And let's re dynamish to bring the polygons back together because that is a really strong Alpha, and it changes the silhouette a lot. And you see, we are getting good results here. But also, we need to go and change some of that silhouette later, maybe but first let's deal with the silhouette itself. Later, we will go for details. Okay. Now, I'm happy with this. Let's do something. I'm going for Let's go for adding details on these ones as well. Let's go for Dynamesh. And then I'm going to bring the same Alpha. Now, let's go for another one imports. And this time I'm going for this one. Let's go here. And already, you see it has good shapes there. And just make sure that you do not get that repetitive because these alphas or these alpha brushes are just tiling height maps grabbed from resources. So you want to make sure that you do not get that much of a repetition. Of course, there's a lot of sculpting that needs to be done. But anyway, you already know. So now let's do something again. And we have an option. We could use this one on here or we could go for another one. Let's go for another one. Dynamiin and a I want to get different silhouette on here, so I'm using another Alpha, another excuse me, another completely different mesh rather than duplicating these meshes over and over again, just like those planks. But also, there's a lot of variation that we need to add. And in order to add more separation in between these, I'm going to add the dam standard brush with a trim smooth border. Add those variations that we needed. Okay? Now I'm happy with these, and you have these Alpha brushes in your project files. And you can use them for your advantage. Okay? Now, let's do something because we have already reached four K in DynamishUm pressing Control D, the subdivided one level. You see from 1 million, we go to something like 4.5. So in here as well, we have the subdivision slider to change between the subdivision levels. If you want to see where they are, you want to go to Geometry tab. And in here, you see that there's a subdivision level. And if you press Control D, it's going to divide that. So I have the divide in here and make sure that you press you activate the smooth. This is going to smooth, and without it, it's going to just subdivide it without a smooth, okay? And then you have the slider. If you want to optimize your viewport, you could sculpt on the first level, and then if you want it later, you could upress that for export or something. Okay? This is a good thing about that pressing Control D. And then now let's do something. I'm going to press Shift, select a dam standard brush, and pick the trim smooth border as my main brush. And then I'm going for sculpting on these and I'm going to separate these chunks. Okay. Just like the planks that we sculpted. You could just try to change these chunks. Okay? Now we are sculpting on 1 million polygons, and later, let's say that you're happy with it, you bring the slider up and get a better resolution. And it's your choice if you want to add these chunks in the first place. If you don't want and you want to just already exported like this, you're more than welcome to do so. But I'm adding some chunks in here for a better readability. And also adding or removing some noise from that chunk. Okay. And it's because we have a lot of noise in here, we are removing some of that or a better readability. And it might take a bit of time, but it's going to be worth it because when you zoom far out, these chunks are the one that give a good readability to this result. So first, I'm going for adding those chunks. These different chunks. And then later we will return back and use the trim smooth border to finalize those. And it should be maybe one of the last lessons in sculpting the wood because the wood is something important in this course. So we want to make sure to include a good amount of information in here because that is what all of the environment is dependent on because everything there is going to be made of wood. So the wood is going to be a good a good place to even learn something and apply that on the environment. Because maybe 80% of the environment is made up of wood, and we're going to use that later. So it makes sense if you invest a bit more time on that wood. Now, I'm just adding and subtracting from these and see where there's possibility for adding those chunks and then go and try to add them. Okay? Now I'm going with the trim smooth border trying to flatten out some of these details. Because later we're going to add some of those details using Z brush, excuse me, using painter. So we're flat we're flattening them to add a ground for those details to be placed on. And later for when we go for decimating these measures to make them a bit easier to unwrap, we might not decimate them to a very big percentage because Nanite is going to handle that amount of polygons and I'm not going to decimate them too much for creating high poly. I'm just going to go for a moderate amount of polygons. Okay. And we're not going to import these directly inside reel engine. Because these are the high polymhs and we're going to instance them a lot to create the environment, so that way, it might be a bit heavy for performance. But definitely, we're going to reduce the polycunt, but we're not going to reduce that much. We just keep it something controllable to keep the silhouette and go for good results. Okay, let's pre dynamic to bring everything back together. And then I'm going to add those wood fiber lines using dam standard. Okay, just like so. And I'm going to keep every bark different. And I want each bark to have a different identity. So this way, we could add the variation that we need to the environment. Okay. Let's re dynamesh, and then I'm going to bring the trim smooth border and try to flatten you see I'm adding and subtracting at the same time. So we have press Control D to add a subdivision, and then I'm bringing the subdivision level down. And sculpting might get tedious a bit if you spend a lot of time on that, especially if there are a lot of instances. But it's going to be an important part because without a sculpting, you're you're not getting perfect results. So these lines results of the dam standard brush need a bit of latening because they look smooth. Okay. Let's see. Okay, not so bad. Now let's go for this one. Because I want every woodbark to have a different identity, I'm going for a different approach in here. So let's go for smaller chunks. I don't want that to be so pronounced like the previous one. Something medium. And see where you have brought those Alpha jokes, and then check for possibilities. To see where you can bring those alpha brushes. And I just said that if you have more time, you can spend more time on these. No problem. But since we are a bit limited in the time, we need to keep it controlled and not bring that much time into these because that is going to make the tutorial go Something like 100 hours if you want to make everything perfect. Okay? So generalized chunks. And if you just zoom, you see that these chunks get better readability. Okay. Now I'm just trying to laten those later we will add those tiny details in painter because procedurally, they are going to get a better quality plus taking less time to create. Okay, now, just try to flatten all of those and leave some noise to be there. And whenever you see, just add chunks. Okay. Now let's do something. Although the sculpting could never end if you just go sculpt whatever detail you want. But since we need to keep the tutorial managed and you already have picked up the skills for sculpting these planks and barks, I'm going to end the sculpting right now. And from now on, we're going to create low poly from these high polymehes for a bake later. So the process is going to be like so. We're taking these then duplicating and then creating a low polyversion of the same meshes. And the low poly creation is going to be dependent on your workflow and how you want to create that. For example, one way of creating Global is to go using the decimation master. You just preprocess your mesh to something that you want, okay? Let it calculate. And then you have the option to see how much decimation you want. For example, on 20%, you're not getting any major changes on the silhouette, and it's going to be perfect. But if you go on the wireframe mesh. You see that it has decimated quite much, and it has kept details on places where we have the most details and removing from the places that have no detail at all. And you see in here, that's so prominent. And you can already just try to decimate to get a better low polymesh based on your preferences. Okay? I just went back to the scope that we had. Now, the option that we're going to use maybe might be the ZR measure because it just keeps the polygons quad, and it gives us quad mesh. So now let's do something. I'm going to just press the Zvi measure and see the results. So now you see we have a perfect quad mesh with a not so bad topology. And an important option here is the target polygont. And if you bring it to something like two, it's going to make it even more optimized. So I'll let it calculate. And sometimes it might not give you the result that you want, and that might be because of the sculpting and manipulating polygons too much. So in that case, just go re dynamesh once more to bring everything back together, and then go to ZR measure for your sculpt. Okay? Now, see, we get lesser amounts of polygons. But if you compare that to the high poly, you see, it's very close and it's going to bake perfectly. And because Unreal Engine is going to handle these amount of polygons, we could keep these or let's go back and go for one K. It's going to calculate your mesh, and we're telling you a smaller polycon. Okay? You see now it's even getting better. So you could go, for example, to 0.5 as well to half of that value. It's going to re topologize the mesh and give you quart mesh. And here you see we get a quart mesh with lower amounts of polygons. And if I just compare that, you see it's quite right. So the way that I'm going to create low poly is just like. And if you want to bring that even closer to the high polymsh, there's an option which is called project. So the project should be in here in the geometry and project, here, and the options that are usable are project and the distance and the mean as well might be. And then you bring the high poly and low poly visible, select the low poly, which is this one and this one in the background, and then go project. It's going to bring them close as it could. Okay, let me go back. So now I'm going to keep that. And I'm going to take the meshes, duplicate so that I have a backup version from everyone to create the low polypro using the decimation or the ZR measure. Okay. And then the final one. Now we know which ones we should select. Okay? This is the low poly that we created. Now let's go for this one which is visible. Again, without any changes, I'm going for Geometry, ZR measure, and go 40.5. And let it calculate and we already get a good result. And I'm not going to change anything. Okay? This way we're going to create low poly very easily and get a clean quart mesh. Okay? Now, just go for 0.5 Z remeasure. And there are options, for example, if you want to separate these edges to be retpologized, in another way, you could select them, mask them, change different polygroups and use the polygroup feature but we're not going to use that because these are generic meshes that are going to be instanced and not hero meshes that might need some specific details. Okay? I'm just getting every mesh 0.5, and then Z will measure until I get all of the low polyphils that I wanted. Okay? This is the mesh that we are getting after that. And you could also go for something like 0.25 if you want to get a low polymesh like this. Okay, it looks like 0.25 is okay for planks because the planks do not have that much change in the silhouette, but a lower number of polygons will do to capture all of the details. Okay? Here's another one. Perfect. And even the low polymshes have silhouette. And that's great for later, if you instance them and make results with them, it's going to be very high quality. So now let's go for 0.25 Z remesh, and that is perfect. So these ones are easily remeshed because they are not type of comp. They're not a complicated geometry. They're very simple. In terms of silhouette, I mean. Okay. And you see it keeps these silhouette changes as well. So I'm going again 4.25 and Z remesh. Okay, this one is good as well, and 0.25 on this one, as well. And for these, I might go for 0.5 first to see what we get because there's some complexity in these silhouette parts, especially on the edges. So we want to capture all of that. First, I just go for 0.5. And then if we liked, we will keep it. But if it was too much, we could already just go and try to reduce the poly count. Okay? This one is good as well. And you see the silhouette is great. Now let's do something. I'm going for this one. We could capture all of the details using 0.25 because that is not a big mesh compared to these beams. Okay. It's great. And now let's select this one. And I'm going for 0.5 first. And if it was too much, will decimate it down to 0.25. But if it was okay, we will use it. So it's good. Let's use this one. So again, I'm going for 0.25 on this. Now, let's go for 0.5 and ZR mesh. Okay? Now the low polycreation is done. We could now export these or whatever. But then for hi poly as well, because now we have something like 17 millions of polygons. So if that is something that you want, just go keep that. But if you want to change, you can go select low poly that you want, hipoly which is this. And then you could decimate it to let me see. You see this is the mesh. You could decimate it to 20% to decimate the mesh while keeping the details. You see no major change has happened. Again, I'm going for these just trying to preprocess and decimate it on 20% to optimize them for later. And why am I doing such a maneuver? That is because if we import these to blender, it's going to be heavy, even for baking. So I'm going to optimize it later. But if you want, you can just already use these meshes without any problem. So just preprocess. And depending on the complexity of the mesh and some other factors, it might take longer or or faster. So decimate and just preprocess decimate. That is all you need to do. And the Z brush is going to take care of all of that. And then decimate. Okay? And even with iPoly we're not going further than 5 million polygons. And if it's going to be even more optimized. So decimate once more. And this one as well. So this one pre process depending on the complexity of the mesh, it shouldn't take that much. And you see high poly and low poly are matching quite well, and that will bake perfectly. Okay, 1 million, and it should be decimated to something like 0.25 or something like that. 0.25 thousand polygons. So decimate Okay. And here we go. So now you see high poly and low poly and everything. They're all closer to 2,000,000.5 polygons. And we're going to get perfect results when we bake them for texturing. So now I'm pausing right now and in the next lesson, we will export the low poly to blender and wrap them there. And then we will import the high poly as well so that we could bake the results in blender or in painter, excuse me. Okay, see you there. 12. Unwrapping The Wood Meshes: Okay. Now, I just set up two folders in here each with 12 sub objects so that I could just separate and see the high poly and low poly separately so that I can export them individually or manage. So now, while selecting these ones, I mean, by changing the visibility mode of these ones, we could go on Zip lug in and then FBX export, select the export visible option. Now we could export the visible subtols. Now, one important thing is that because we have set these to be quad by converting them to zero measure mesh, you see they are all quads. So there's an option in here, which is triangulation. We need to turn that off because we don't want to triangulate these. Of course, it could be fixed and blender by just press of one button, but we do not need that extra hard work. So now I'm going to export visible and export. And I'm just going to call it wood sculpt low poly. Okay? Give it a bit of time to calculate, and it's going to calculate and export so fast because these measures do not have a lot of topology, so the exporting is fast. But for these, let me check the topology in here because you see there's a lot of topology that is triangulated. We could set that to triangulation. Because these meshes are triangulated anyway. So now, while these are visible, I'm going to export. And let me just call it HiPoly. And this is going to take a lot of time because these meshes are relatively heavy, and I'm going to pause and return back to you when the export is done. Okay, I was exported, and now the rest of the work is going to be done in blender. So now here we are in blender. I'm going to import. And here it is the locally leaded import. But there you see a bit of scale mismatch in here. S the meshes are too small. So if you want to fix that, you could go to Viewport Menu in here. Let me select one of the measures, okay? And then you want to go to item, and you see in here the scale is set to 0.0 ten, it means that the scale is of a lot. So you want to select all of them and change the scale to one by one by one or all of them. So now you see one of them is back to its scale. Or if you want to change all of them at the same time, you could bring the search menu, and there should be a reset scale or clear scale. It should be Okay, clear scale. Now, you see, they're all back to the scale that we wanted. Now I'm going to save, create a new collection. Just select and press new collection. I'm going to name it low poly. Now we're going for unwrap, but for testing and seeing if everything is going to import properly, I'm going to bring the high poly as well and test it to see if they are all overlapping. So it should take a bit more to load. So I'm going to pause and return back when the loading is done. Okay, now they're all imported, and now I'm going to select and bring the search menu again and reset scale, and I'm going to compare them against the low poly that we have. Okay? You see they're all overlapping and they read well, it means that we have done a good job importing these. So I'm going to take the high poly and delete them for now because I don't want to put extra pressure on blender when we are unwrapping these. When we unwrap them, we will return back and bring those. Okay, now I'm going to create two materials, and I mean to texture sets. One is going to be for the beams, whether they are these cylindrical beams or these square beams, and one these plank pieces. So we're going to have two textures created finally. So now I'm going to create a new material for this. Let me call the material M representing material beams. And then I'm going to select these ones and create a material. I'm going to call it rescue wood planks. Okay? Or let's select these ones as well, and I'm going to call it wood beams. It would be more descriptive. Okay? Now, because these are imported from Zbrush, there should be a UV problem because we do not have a UV channel. So I'm going to select all of them and create the UV channel. It's not going to take that much to create a UV channel for them. But you need to make sure that the name of the UV is exactly the same across the ones that you want to make a unique texture with. So now I'm going to start on wrapping and let's see the topology, and it's right. So we could go bring the face orientation menu, and you see everything is right. There should be no errors because everything is facing the correct way, the normals are right, and everything is ready for unwrapping. So now I'm going to start with the most simple one. Let me select this because that is the most straight one when we are going to texture it. Excuse me, unwrap. So now let me bring an extra viewport. We are going to UV Edit. Then I'm going to take these one by one and start to unwrap. So now, you see, it's not unwrapped, actually. We need to separate it into different chunks so that when we texture that, it's going to be correct. So our work is going to be dividing the mesh into its sharp edges. Going to take those sharp edges and convert them to seams so that we could separate them based on the UV seams. So it's going to be just like, so we are going to select the edges that are going to be sharp and right click Mark Seam. It's going to convert them to seams so that later we could unwrap them based on that. So now, let me take for example, this one, and then we have an option to control, select the way. So you see it selects all of the edges in between in short path selection. Okay. Now, if I just try to select from here, you see, it does a good job in selecting those edges. But if this is not what you want, you can Control Z, go back and select the way that you want. Okay? Like so. And then let's do something. Let's start from above from here and then right click Mark SM. But because I use this one a lot, I just set that to be in Quik favorites. So it means that if you select something and right click Add to Quick favorites, when you press Q, it's going to be there. Okay. Now I'm going to select through here. And let's select these two edges. Okay? No, looks like we could have a better selection right here. Okay. Now I'm going to select that Link selected, right click and on rap. So in UV edit, go to face mode, right, click, Unwrap, or you can press tab to go to UV sync mode, right click again and unwrap. Okay? See, now we have an unwrap of this pace right there. Okay? It's going to be the same. We are going to select these meshes and try to unwrap them the way that we did for that phase. Okay, I'm going to select one edge there and control select one in here. Right click Mark SM. And then I'm going to select my way from here, see where your topology goes. And select the sharp edges and Mark Sam. Okay? Now, Mark Sem I'm going to select this one right click Unwrap. And then this one should be a separate part as well. Okay? Do not worry if the scale is off. We will return back and fix the scale. So now we could go for that side. Okay, easy. And then from here, So let's mark Sam, but I'm going to select this edge and this one join them, and mark Seam this one as well. Okay? Now right click on rap. And now this one. Let me select this. Okay. And then select whatever that needs selecting. Okay, now the wrap in here is done. So now, we're going to do this later. But for a demo, I'm going to bring the menu and we're going to use UVPacker. The link is in the project files. You can download and install it. So now, I'm going to press Pack, and you see it has packed all of them according to their scale because we have set a scale to be let me go back. Scale is scale is corrected, excuse me. And now you see they're all unwrapped based on their scale. And because we have a quad topology, it's done a good job in straightening these. But you can go for UV square and select one of them. Let's deactivate the UV sync, select one of them, and you see it made that straight as possible. Select this one. Okay, so if this is something you want to get more optimal UV for price of a bit of distortion, it's going to be right. So now we're going to test to see if the textile density is right. We're going to apply a checker map, and you see we have squares all over the place. Okay. We want these to be a square. So for demo, I'm going to select one of these. And let's say that I'm going to scale it non proportionally. So scale, you see, we don't want something like this. We want all of them to be a square, no matter how the scale is. Okay? We are back, and now we're going for these extra ones in here. So the process is going to be the same, and I know that the unwrapping isn't the best part in the production, but it's an important one. It makes sure that later, we apply the best possible textures on the meshes. So although it might not be the best part of the protection, but it's an important one. Okay? It's just like, so let me deselect this. No. Should deselect that one. And then Control, select your way there. And because these meshes are straight quad mesh, and with no actual change in silhouette at all, wrapping is going to be so easy. Just select the edge meshes, edges, excuse me, and you're good to go. So let's zoom back, and it's perfect. Control click to select your way through that part. And now let's do something. I'm going to select everything wrap, and you see it's perfect. So let's apply a checker map, inspect the mesh to see if there are any unwrapping errors. Okay. No errors exist. And now I'm going for these. And you see, because we have used Z remesh, we have a good mesh topology. And the selecting is not that difficult. So let's just select these and convert this one to a seam so that we could select our way through there. So I'm just selecting these meshes, and you could go and learn techniques to better use the Z remeasure or re topology by creating curve lines and by using the polygroups feature to direct the topology to go where you want it. You could reuse ZR measure. But since these measures are so generic ones and do not need that special topology, we just love that. But if you want to create a sophisticated wrap, you could really use the Z we measure and use the guiding curves and invest a bit of time to learn how it works to create a really sophisticated wrap. Okay. Now I'm selecting everything in here and on wrap, and it's right and perfect. So Let's select everything and it looks right. So now let's apply a checker map to see to check and inspect to see if there's any errors in here. So no. Okay, three meshes have been unwrapped. Of course, later we will return back and apply good material on these. You see the material has been changed to checker material. Okay? Now, for these as well, the process is going to be the same. And I know that the unwrapping isn't the best part. But there's no way around it if we are going to use this workflow. And of course, you could use world aligned materials if you want to skip the unwrapping. But that is going to have its drawbacks as well. That way you could apply a material to the world, not the object. So whenever you bring that wrap ununwrapped mesh, a mesh that is not unwrapped, it's going to pick up that texture from the world, but it's going to be heavy for performance and not that optimal, especially for these parts. But that is a possibility if you want to skip the unwrapping. Okay. Now this one is done as well, so easy on wrapping. And take a look and everything is right. And later we will return back and just mix all of these into one UV shell. One UV texture, excuse me. The ones that we wanted to separate them to be one mesh. Okay. Now, these wood pieces are barebne of our environment creation, especially for the modular kits that we're going to create later. We create these kits, and then later kit bash and create a lot of things with them, including walls, doors, and a lot of things. I'm not going to delete the hi poly Zbrush sculpt because later we're going to reuse those as well. For example, if we wanted to create something composed of wood, we're not going to re sculpt that from the beginning. We reuse stuff as much as possible. So that way, we save time in the production and spend it on a wiser place. Okay. This one is done as well. Let's apply checker map. And one thing, if you apply something like this, you might not see a lot of errors because that is small and you think that is everything quad. If you want to really stress test that, you could apply a smaller checker map to see if there's any errors or not. Okay? Now the final one in the wood planks category, And all we are doing is control click to select the shortest path between the edges Okay. Now, for example, we could select these and select these two edges, right click Clear S. That way it clears that so that we could use another path. So let them select that wrap, and the perfect. So it looks like we have missed one edge, okay? It's in here. Mark Sem And want to unwrap. Okay? You see they are separated. Let me see. Okay, one, two, three, looks like there's still this one. Looks like we forgot to unwrap that. No. We could select another path. Now it should be perfect. Okay? It's perfect, and now we have different UV islands, and everything is looking all right. So now I'm going for the beams which are similar but in form of a square rather than being rectangular. I mean, they are rectangular as well, but, I mean, in their base, it's something like that. So again, our work is to select the mesh edges, and then mark Seam Okay, we could select these two, join and select from here because it didn't have that edge. So I'm selecting again these corner edges. Because wood is something directional later when we unwrap or later when we pack the UVs, we make sure that the UV shells are directional as well. We want all of them to face the same direction, so that when we apply textures later, it's going to be accepting a directional texture. Okay? Let me select and it's okay. Apply checker map, and you see it's working all right. And let's select this one. So there's a more automated way for unwrapping this, and that would be selecting based on sharp edges. Now you see it select based on the angle input and selecting different sharp edges. But there are different edges that you need to select and remove. And the more straight the mesh is, the easier it is to unwrap based on that. Okay. If this is something that you want, you could use it, for example, if it was really straightforward mesh like something like a cube, if we return back, go to select sharp edges, it would have selected the best possible way. But since these meshes have a bit of irregularity, it might not be the best option to use that. But that would give you some options to work with. If that is something that you like, you could clearly So One benefit of using So one benefit of using Tsimation master and making a triangulated mesh is that the edges are preserved more for unwrapping. I mean, sometimes there are problems when we unwrap a quat mesh from Zebush including some edges going off. But if you go and try to triangulate it with decimation master, you're going to get a better result when comparing the edges because it preserves the edges and the selection becomes a bit easier. For example, you do not have something like this. We might exactly I'm talking about this because that way the edge is triangulated. It would have created these lines as well so that we have an easier selection. Okay. Um, Now, I believe we could unwrap that easily. So let me select to see if they are unwrapped correctly. Yes. So apply a checker map. And, of course, for the UV Packer UV Square, UV toolkit, Text tools, and Magic UV, I have placed the link to download them in the project files. There are resources and you do not need to pay anything. And just select the shading. The shading is going to help you to have a better selection. Okay. And now I will leave it should be Let me select those, and then I'm selecting these to join so that I could select based on that selection. So the result is a bit tricky. So finally, I believe it should be the last selection. Okay? So now apply a checker map, check. Everything is right. So now we are going for these ones. So there's something looks like there's some geometry errors in here. So you see these floating geometry pieces. I'm going to select my mesh control eye to invert the selection and easily delete those. Okay? For unwrapping these, it's going to be so easy as well. All you need to do is selecting the caps and one vertical line. Because if you do not place that vertical line, it's not going to unwrap properly. So let's see a demo. I'm going to select unwrap. And you see, because we do not have a vertical seam, it's not going to unwrap properly, but the caps are separated. So you can go and try to select one line and select your way to top. And now if I select these, you see, now the wrapping is a lot better because we have one line in here to allow for cutting these two chunks. So now let's apply a checker map, and all right. Everything is perfect. So now I'm leaving this for the end. I'm going for easier one. Just select the caps And for something like this, you could separate it into different chunks, but I'm not going to do that. Okay. And then one vertical line all the way to top unwrap and apply a checker map and everything is looking upright. So for this, you could separate these chunks into different UVs, but I'm not going to do that. I'm just going to select and like it's a normal cylinder. O line here. And select this right, click Clear SM. Okay. And check when everything is looking all right. So now, all of them have been unwrapped, and there's one more step, and that is combining these into different UV shells and different UV textures, excuse me, and unwrap pack them, excuse me. Unwrapping is done. We have the packing to do. And because wood is something directional and it means that all of the wood fibers are going in the same direction, we need to make sure that the UV shells are going to be directional as well when we pack them. So it's going to be done in the next lesson. I'm going to pause right now and in the next one, we will apply wood texture for testing and to make sure that all of them are facing the same way to avoid a lot of headaches down the road when we texture them in painter. Okay? And the next one is going to be packing and testing the bake in painter. Okay, see you there. 13. Baking And Testing Textures: Okay, everybody, now we unwrapped the wood meshes. Now it's time to pack them. Already know that for packing these, we need to go to UV Packer and Press Pack. But there's a problem, and that is some of these measures are not aligning to the direction that we want. So how do we fix this? First, let's talk about wood because wood is something directional. So it means that whenever you apply wood texture, it's going to be in a certain direction. So you want to match all of the wood measures to go in the same direction. But you see in here that some of them are horizontal and some of them are vertical. So in order to see and test, I'm going to apply a very simple random wood texture. I'm going to apply a material, call it random wood. Okay? Now, just in the material viewport, I'm going for base color image texture open and bring wood texture there. So now, you see some of them are looking all right. For example, this one is looking all right because you see the wood fibers are all in the same direction that they should be. And here's the wood texture that I have applied. But in here, you see on this mesh, the wood is not rotating to the direction that it should be. It's lipped, and it should be rotated 90 degrees. So now let's select these and compare the UV shells. For example, this one particular you see, it's going in the same direction that it should be. But for this one, it's rotating. But if we rotate that 90 degrees, you see now these are looking upright. So we want to make sure that all of them are facing the way that it should be logically. Okay. Now we want to pack all of these into different UV, so I'm selecting all of them scale by two so that we see the tiling a bit better. Now I'm going to look to see if there's any tiling issues or problems or if the UVs are correct. Now, this one is correct. All of these are facing the same way, except for this one. You see, in here, these are going in opposite direction. So I need to select this and rotate at 90 degrees so that you see these fibers are continuous there. And for this one as well, we're going to rotate that 90 degrees. Okay? This is just to make sure that we see more texture. We could have tiled the texture using the material, but I decided to rescale the UVs to see better in the viewport. But later we will pack them all in the zero to one UV space. Okay? This is correct. Let's hide it. And now let's look for this one. They are facing good direction, except for the caps. Okay? This one and this one should be rotated 90 degrees. Okay? Perfect. Let's height this one as well. And this one is okay, there's a problem in here. And that is because we need to rotate this 90 degrees, and we already know that this one should be faced or rotated 90 degrees to match that. Okay, let's height this one as well. And that is easy just select the meshes and see if they are rotated in the correct direction. Okay? Only the caps need to be rotated. And do not worry for overlaps or the UV shells being outside of the UV zero to one UV space. All we need to do is selecting the correct direction, and later we will pack them in a good way. So we already know that these should be rotated 90 degrees as well so that the fibers are continuous. Okay? Now, this one is a bit tricky. So let's see all of them are So this one as well. Plus these. Control T link, selected if you haven't changed the shortcut. Okay, perfect. Now, let's hide this one as well. Okay? These are all facing the correct direction. Leave them B. And I'm going to hide. So these are all facing the correct direction as well. So these are all vertical as well. We already know that they're looking all right. H so let's go for these. And you see these are already facing the correct direction, and the caps as well are okay. So now, let me bring everything back. And now we need to make sure that we pack them accordingly. So we planned that we wanted these planks to be in the same UV and the beams are whether they are square beams or cylindrical ones. Okay? Now I'm going to select these and I'm going to use the UV packer. But we want to make sure that all of them are pacing the way that they should be. We need to disable the free rotate and press pack Now, the rotation is deactivated. So let's press the UV rotation to zero as well. So the link is in the file, the project files, you can download this and use it. Okay? Now you see they have been packed and the scale is correct and the rotation, excuse me. But there's a bit of wasted UV space. So, let's bring the padding to one and set it to high quality. So it looks like this is the best that it could do. Because it couldn't rotate and use more of that. So let's select these. And I'm going to pack with the same settings. I need to disable the rotation and pack. Okay? They're all packed in the same UV shell in the same UV texture, excuse me. So we could do something. Let me take all of them and pack them once more. Okay? This way, we get a more optimal texture. We get one UV texture, and we could apply a four K texture to all of them so that they use only one texture rather than having two textures. Okay? This is a choice. You could separate them or you could use them all in the same UV texture. So now, this is what I'm going to do right now. It's a choice that we need to make so you see now we have this percentage of the texture being used. The more towards the hundred percent, the better it should be. So because we have disabled the rescale UV, I'm going to scale them a bit and pack once more to see if the percentage improves. Okay, now you see we want a couple of percent more luckily I had that save pile, and I returned back to 78% of UV. So there's, of course, one way to add more to that and use more of that, and that is straightening these. You see, there's some jagged edges here and there, and these are causing the UV to be less optimal. So I'm going to select these. Okay, and looks like we could select now. Okay? You see now, it has selected all of these except for the caps. I don't want the caps to be straightened. So we need to go to UV squares and press Okay, we need to deactivate that first deactivate the UV sync mode. So let's do something. I'm going to select them. And only pick these vertical ones without the caps because I don't want to straighten the caps. Okay? Now, just see what happens. I'm going to apply a checker map. Let's apply a two K checker map. Now I'm going for UV squares and press SNAP. So you see now there's a bit distortion in the face of the wood textures, but it's not a problem because it's wood texture and wood is expected to have a bit of distortion. So, for example, you see in here, we have a bit of distortion, but it's going to be better for UV when we pack them. So let's select them. I'm going to select everything. UV packer pack once more. So let's go for efficient and let's reapply the same random wood material. Looks like there's something off. So let's select that. So it looks like there's a bit of problem there. Okay? It didn't work. I'm going to control Z and go back to where we were. And now I'm applying all of them into one texture and forget what we did with that. Okay? Now, I'm using the same result. Okay? Now the packing is done, and let's select everything to make sure that our UV is working right and we have no UV bleeding at all. Okay? Not bad. Of course, you could place them in different textures if you want to, but in order to make that a bit more optimal, we're going to reuse or we're going to replace them all in the same UV texture. Okay? Now you already know that these need to be one texture. Okay? Apply a UV map. I'm going to apply material wood tiling. Or would kit because it's not soiling it dependent on the textures. Okay? Now we need to bring in the high polymshes as well and try to match them for baking. Okay? I'm going to hide the low poly collection, and I'm going to import the high poly. Oh, imported. And now we could bring the search menu and reuse the same clear scale and create a new collection, call it Hi poly. Very easy. Okay? Now let's bring the low poly and you see they are matching. But again, one more thing that we need to match is that these are all using the same material like the previous one. And it means that we're going to use the wood kit material, and we need to make sure that all of the hi poly and low poly are using the same material, okay? This is wood kit, and now let me bring the low poly and that is using the same wood kit material as well. It makes sure that the baking is going to be perfect. So now let's do something. I'm going to because you see, there's a bit of of course, there's not much distance in between these meshes. And if we bring them to painter, we either need to rename all of these, which is going to be a time consuming process, or we could bring them and bring a bit of distance between the UV shells, between the meshes, okay? So that they do not apply the ambient occlusion causing some of the meshes to get buggy. Of course, another workaround is to rename the meshes, but since it's going to take a lot of time, I'm just going to skip that. This is a lot easier. Okay? But you need to make sure that the low poly and high poly are all in the same place. Okay? Now, let's do something. I'm going to poly take all of the low polymshes and I'm going to export them FBX. Let's create a folder. I'm going to select objects, and we do not need to triangulate measures because these measures are correct. So would kit LP representing low poly export deselect and bring these would kit Pipoly. Make sure you're limited to select objects. And it's going to take a bit more. I'm going to pause and we'll turn back to you when the export is done. Okay? They are exported, and now I'm going to create a new project in painter and test the bake to see if they're working right. So just create a new project, import the low polyphyle which is here. Okay, we don't want to change any of these. Okay? Now, these are the low polypils and we need to go import the high poly and test the bake to see if everything is working. So import, here's our high poly. Let's calculate to bring the meshes, okay. Now the cage could be changed because you see, we don't want to get an error like this. We don't want anything except the blue color. But we don't want to over extrude that because it might cause some errors. And it's right. So now let's do something. I'm going to go for test bake only the normal. So normal on two K. With these settings, I'm going to see if that is going to read all of the normal information on the high poly and to the low poly. So bake and let's return, and you see all of the bake information is done flawlessly. Of course, the quality is not that good because we need to bump up the textures. But you see already all of the hi poly is baked flawlessly, and it's great. Okay? Now we know that it's going to work right. So let's go to bake meshes. This time, we need to bump up the texture to four k and bring different textures. We need to activate different texture bakes. Okay. And then let's go to comment settings, and for anti aliasing, I'm going to bump up the resolution and bake textures. And I'm going to pause and return back to you when the process is done. And after the baking, we should be able to use smart materials on this. Okay, I'm going to pause and return back to you when the baking is done. Okay, now the baking is done and you see all of these textures applied. Now, in order to test it, we're going to bring smart material, something like wood. So you should read all of the edge information. It should read cavities. Like so you see in these areas, it should collect dirt. Okay. And you see it's working right. Of course, we're going to create our own texture, not using these. And let's apply still material which reads the edges, you see, and it means that the bake is done perfectly. So now we have a couple of ways to go about this. We could either texture this completely and then try to kit path with it, or we could texture very simply and kit bath and later we turn back and refine it. So this is what we're going to choose to do. My current choice is to use some simple textures to represent the final idea that we're going to apply, and then kit bash and create some meshes and later return back with easy mind to texture that completely. So now let's do something. I know that these are going to be more of exposed wood and have rougher texture. Let's apply there's a K. Of course, there's this one, which we later fix. Add a black mask, and we need to go to mask setting. Use object so that we use these for the same texture. We created a mask and masked out these parts that we want to be using that texture. Okay, now let's bring that. I'm going to apply a black mask to remove everything and go for white mask, select these. Okay. And then a darker wood shade for these planks, which is this one. So now, this is going to be only for testing. Later, we will import these to painter. And create sophisticated textures for them. But for now, we need to apply a primary texture so that we test the idea and kid bash in painter while having some colors to look at. Okay. Later we will return back and try to fix this. But for now, this texture is looking right, except for this one, which I think it should use another color. Let's bring this. No, it was the same Okay, it's better. So now right click add a black mask and select these. Okay, I'm happy now. And we're going to export this. I'm going to use this material painter in Blender, excuse me, when we try to kit Bash these and make different measures with it. Okay. See you there in painter, in Blender, excuse me, when we try to Bash. But before that, we need to export these textures to use. So you could go export textures and just fine the directory that you want to output these. Output format for now doesn't matter because we only need the base color and normal map and roughness. So format, let's set it to Targa Texture should be four K and now exports. Here's our textures that we're going to use in blender for kit bashing. And later we will return back and create sophisticated materials for them. Okay, I'm going to open base color for texture and then select my base color. And you see we are getting the same color that we got in blender. Okay? Now, let's go for normal again. So let's leave that B. We're going to use only the base color. Okay. I'm going to pause right now and in the next lesson, we start to kit bash these and create modular kits with them. These are our kits, which we're going to create a lot of meshes with. And then later we will return back and create a good texture for them as well. This is only a primary texture for you in blender when we kit Bash. Okay. See you there in the next lesson. 14. Start With Modular Kits: Okay, everybody, now we are going to create modular kits. So we have been creating these wood kits for some time, and now it's time to use. Of course, we might later go for a tiling texture plus the baked details. Or we might throw this texture completely because this is only for testing. And then later we will decide what we're going to do. So for now, we have these kits, and it's time to start creating. Of course, we will add to this kit something like, for example, rope or extra kits that we decide later. But for now, you already know that we have created some blockout buildings and placed them in the environment. So we're going to bring some of those blockout buildings and try to create messes that tile across those buildings. So this is exactly what we needed. And we're going to start with the first one, and we're going to create tiling measures that tile across these buildings to create modular kits and then later distribute them in nra and Geno world build with them. So these shingles that we have not created are going to be created later. But for now, we have the wood that we're going to create kits with it. So I'm going to copy this and paste it here so that we can try to create kits with it. This is only for testing and we're not going to use this mesh in the final production. So now let's go for seeing how the dimensions are on this building. So the building is something like eight by eight by you already see the dimensions. So now let's do something. I'm going to take these edges, duplicate them, and I'm going to take this edge Okay. Duplicate, separate by selection to create a new mesh. Okay? Now the dimensions, you see, it's 6 meters. So it means that this building is 6 meters in Y, let me duplicate and rotate 90 degrees. Okay. And you see that by creating meshes that are three by three, we can try to tile and create new buildings with. So now the base of this is going to be a three by three mesh that is going to be tiling. So let me just do a simple demo. I'm going to bring a plane, and let's change the dimensions to three by three. Okay, let's say that. This is a final mesh. I'm going to bring that here. And let's rotate that 90 degrees like so, and then we create a couple of three meter meshes and then tie them to create this building. Okay? Like so. Now we are going to create three by 3 meters buildings, kitsc me, and then we are going to reuse this geometry as much as we could to create kits. So now let me create a new collection. I'm going to call this kit and let me delete these as well. Now we have this building. We are going to create a three by three mesh. And I wanted to use geometry nodes, but since we needed more artistic freedom, I'm going to create manually. Okay? Now, we know that it's going to be a three by three, so I'm going to create a plane to define the borders. We do not want to go outside of these borders. Okay? Let me rotate that. I'm going to bring the pivot to here. Okay? And then I'm going to bring these and then I'm going to place them, so you already know that the pivot is wrong because we exported these meshes from Zebras you see the pivot is all in the center. So I'm going to select all of them and bring the pivot to the center. It's going to be found in interactive tools and quick origin. So you want to make sure that the pivot is in the center. So I'm going to duplicate, bring to the center, and I'm going to just try to kit bash these and fill this border that we have. Okay? The first one is going to be the simplest one. Okay, now we could duplicate, try to rotate And then you already see that we could bring this to here. And we could also duplicate these. And I'm going to rotate around Z by 180 degrees to get the other variation from that side. And it looks like this one could be rotated as well. Okay, now let's do something. I'm going to take one of these, bring it to the center, and try to rescale it to match to here. Okay, now we have created our first kit. Now we have this. I'm going to select all of them except for this plane. Let me just deselect that. Okay. And then we have all of these. I'm going to press Control J to join all of them. So we need an active object. So Control J. Now, the pivot is wrong. You see the pivot is in here. I want the pivot to be in the center exactly to the ground. So you already see that our plane is just on a good pivot. So I'm going to copy the pivot from there. So first, let me bring that to here because I want that to be exactly on the border. And then in here looks like we have some geometry that needs to be manipulated. So I'm going to select that and then rescale Okay. Now we have a kit created. Of course, later we will add more complexity to these. For example, I might bring another wood and try to randomly place other wood pieces on these buildings to make them look more complicated. Okay. But for now, I'm going for bare bone of the kit. Okay? Now I'm selecting this one. Let's select the one that we want to copy the pivot from. I'm going to bring the origin to selected. And then I'm selecting this pivot to cursor. Okay? Now you see we have pivot exactly centered around here, which is okay. So now let's try to kit bath with it. I'm going to shift the duplicate and bring that to here. Let's rotate that. Okay. And then I could easily bring that over to here and call it a building. And if you wanted, we could duplicate that even more and just create a whole building with it. But I'm not going to do that. We're going to create variations. So now I'm going to take this. I'm going to call it as representing the static mesh and MOD representing modular, and it's going to be building kit and then it's going to be 01 representing the first kit. You see, this belongs to the first building or let's call it B then it's going to be wall three by 301 number of variation. So this is the naming convention that we're going to use, get used to it. We're going to use that. So now I'm going to create another one this is only for testing. This is the kit that we're going to export to Unreal Engine. This is a copy so that we see what we're creating. Now I'm going to again create a three by three. Let me take these meshes. I'm going to bring them to center and then try to place them to create another three by three building with it. And then these ones, let me bring and I'm going to scale them so that we have more variations with these. Okay. And this needs a bit of more scaling let's do something. I'm going to take these and rotate them vertically because I wanted to create another type of wall. Scale in X. And again, I'm going to scale once more. Okay. Now let's do something. I'm going to take all of these scaling Xs and bring them to here. Now, this is only your imagination on what you do. Just try to use your imagination and see the possibilities on how you could make buildings with these kids. It's like a Blacksmith mentality. You have kids and you can try to create new identity with them. Pardon. Okay. And then I'm taking some of these and rotating them around to use the other side of the mesh to create more variations with them. Okay. Now I'm going to copy bring one in here just to convey a message that they are held by these pillars. And let's rotate that. Okay, I'm going to go back, copy this name. And then I'm going to take all of these except for that plane, which was the border. Okay? And then select this one Control J. And because the pivot is exactly in here, I'm going to select and bring the pivot to cursor. Okay? And then I'm going to paste that name and call it wall three by three variation two. Okay, now let's do something. I'm going to duplicate, bring it over to here just for testing and seeing how we could create buildings with these? This is how you are able to create buildings so easy and so fast. So now, I'm going to create buildings in a way that the planks are smaller because you see, there's not the amount of planks that I wanted. So let me bring that to here and bring this to center, and I'm going to scale that in X by half, 0.5. Exactly. Okay. Now I could duplicate that, bring it to here, rotate that 90 degrees. But this will create a butterfly effect. It just looks like a symmetry. So let's try to scale planks to a better number. Okay, this is better and more convincing. And then I'm selecting a couple of these planks randomly selecting all of them and try to place them here. But first, let's rotate. And the good thing about wood is that because it's natural and a lot of these are accepted in something like wood. Okay, now I could easily replace that and see how well it goes using this method. Let me duplicate that and bring it to here. Okay. You see now more variation in terms of scale of the lengths. And this makes that even more convincing. And later we're going to add a lot of variations to these kits. Do not worry. I see that there's a window in here, and we could easily try to carve that window. So let me bring that back, and I'm going to bring another variation here. And then the window could be carved easily. Let me go to Edit mode, P, and by loose parts. This is going to lit the mesh to its existing parts. I'm going to bring the pivot to center and then try to scale that And let me just delete a couple of these parts and then try to bring that. Now, I didn't like the composition because that was repetitive. Okay? Now it's better. Let's take all of this and that as the active object. Okay. Now, we could either create the building with boolean or carve with something else. Let's test the Boolean for now. Let's apply everything. Base orientation and everything is right. So I'm going to bring a cube. Okay, and then I'm taking that plus this one, control minus. So if that didn't work, it means that you need to change the mode to something else. Okay? Now you see we get a convincing effect of that. So now I'm going to apply. And then we could go back and try to bring these, for example, and try to place that here for the building, for the window, excuse me. And because these are going to be converted to nanite it's not going to be a problem, actually, if they are too high poly because nanite is going to handle that amount of polygon for us. A, uh Okay. And then I could duplicate this, rotate 90 degrees and try to place that here. And then let me bring that as well. And this will make the buildings a lot more convincing. You see, now I'm very happy with this building and how it's going to look like. So let's scale that in Y a bit. Okay. Later, we will decide to see what we're going to add to that building. But for now, let's try to create a very simple silhouette of that building. Okay. Later, we will decide on how we're going to take care of that building. Then I'm going to take these measures, select this one active object. Okay. And then I'm going to rename that to 03. And then I could easily replace that with this. Let me bring this over to there. This is only for testing. 90 degrees, and then I could bring that and you see it creates a very convincing effect. Let me hide that. And you can see how that helps in creating a very convincing effect. Okay. Now we're left with this one, and we already know that if we want to create, we need to cut this building, cut this kit because it ends here, and then it's the roof. So let me take that and delete. And because these are for testing, I'm just going to leave them there to be. And then I'm going to take the mesh that we're going to use in engine. And you see now we have three variations. Okay, now we could either create a couple of kits for here, three meter kits or we could create a three by six kit to add even more variation. So I'm going to create that. We could duplicate to here, and then to here, and then we could cut. But in order to add more variation, I'm going to bring this here and let's bring that somewhere. Because I'm going to duplicate, bring that over to here. And then No, it should be in this way. Okay? Now I'm going to take these, bring them over to here, and then I'm going to create a new kit with that. Okay? Let me just bring them over to here because we needed to rescale these in X so that we could place more planks and add to the complexity of the building. Okay. Then we could easily bring these. Then I'm going to scale But these two definitely need to be scaled to create a better effect. Okay, now let's do something. I'm going to take these duplicate And then again, I'm going to duplicate once more and then duplicate here, to create that side. Okay. Now again, I'm going to bring the buildings, bring the kits. H, and try to place them like so. Okay. Now this is why I wanted to create a different variation only with this because now we could join them and try to create a new window here. So let's take these, join, and then I'm going to bring the pivot exactly to the center cursor there, and I could bring a cube now two by two cube might be something that we want. So let's try to scale that. That would be better. Okay. Now, I'm using Boll tool, which could be activated from preferences, add on, and then search for Bolt. Okay? And then if you press Control minus, it's going for difference. Now set the mode to fast Okay, and apply. So now I'm going to let's see what we could do. We will cover these with kits. So now let's go back, and I'm going to bring a couple of these to the center. And I'm using these because these are in shape of cube, and we could try to hide all of these with it. Okay. And now, this one is good as well. It could be definitely scaled. And then I could place them here to hide that one as well. Now I'm going to select everything, this one active object, and join only this and this one active object, join then I'm going to copy to here and use that to test it to see if we like the building or not. Okay, it's definitely worth it. And then later we will add a lot of different measures to make that even more interesting. But for now, we need to cut this. But we're not going to cut on this because let me take the naming convention and this one should be number four. I'm going to create another variation and cut. Okay. Now, for testing, I'm going to bring that here rotate and I'm going to bring that exactly to here. So let's scale. I'm testing different possibilities to see if we want to cut from the top or do we want to cut or do we want to rescale that to such a scale? So I'm going to use the rescaled version. Okay, I'm going to use this one. But we need to apply the scale. And I'm going to call this. This one is going to be three by 601. And this is going to be excuse me, six by 201. Okay. Now we have created four different kits that we could use for production. Now I'm going to pause this lesson, and in the next one, we're going to create more kits. And when we were happy that we have one building, we start to kit Bash that in real engine. Okay, and that is not going to be something like this. We will add beams. We will add a lot of cool things to make that even more interesting. Okay? It's not going to be Okay, something like this. We will add a lot of cool geometry and additions to make that even more interesting. Okay? I'm going to pause right now and see you in the next one where we go and try to create more kits. Okay. See you there. 15. Attic And More Kits: Okay, now we created some modular kits, which are here and later, we will import UnreLEngine, export to UnreLEngine, excuse me, and then we will use them there. But now it's time to create rest of the kits for this building. And now we can reuse kits. So based on the references and you already see what we have created here, we have a mesh that is going to contain a doorway to the building. So now I'm going to select these edges to see dimensions of the building, and I think it should be 5 meters. So go to Edit mode. I'm going to select these edges shift to duplicate and then separate by selection, and I'm going to select this. You see now the dimensions are just 5 meters. So we know that we're going to create a five meter kit to be placed in here. So now I'm going to reuse from these geometry kits that we have. So I'm going to use from this one. Shift D, and I'm going to bring to the center of the world. And let's take this one. Now it's going to be five by three. Okay. Let me see. Okay? This is it. Now I'm going to bring here, and you see there's a bit of geometry that needs to be filled. So first, I'm going to edit mode, P, and separate by loose parts. This is going to separate all of them into basically the creation parts. Okay? Now I'm going to select these except for that plane, and I'm going to bring the pivot all to the center. Because you see whenever I'm trying to just rotate these, they rotate around their centers. Now I'm going to just select these and just bring them over here to that center, and I'm going to rotate around X by 180 degrees to get that other variation, and then I'm going to bring that and place it roughly around that center. Okay? We know that we're going to create a door that leads to the building. So first, we know that because we have the player in mind. We want to see the player to be able to enter the building. So I'm going to create a proxy mesh, which is 2 meters, and I'm going to place it around here. Okay? We know that this is going to be the entrance of the building. So let me hide the wire frame. And I'm going to bring these here. Okay. And then we have these meshes that are not going to be useful. So let's bring them. We might use them in another way. So now there's a two meter buffer zone in here, which we're going to later create our door. And for now, I'm not going to create the door because later we will create a special mesh for it because I'm not going to reuse that geometry that often because that takes a bit repetitive, so we need to create a special geometry to hide that repetition. So now let me bring that to the center. Or let me take all of these, and I'm going to bring them to the center, rotate to create a frame for the door. Okay, now done. So now I'm going to bring that there. And let me see we have another mesh in here, which I'm going to copy right now. Okay, like this. Okay. I'm now going to take all of these, join, and the pivot is going to be corrected. So I'm going to take that and then pivot to cursor, which is going to bring the pivot there. And then let me just test and bring that here to see if that is going to be a good geometry or not. I'm now roughly going to test it. Okay? Now later, we will create a door mesh which is going to be a special mesh Okay. I'm happy with it. And later that we bring a lot of extra meshes like beams and things like that. It's going to be very good. So now, let me take this and I'm going to call it. Let me just copy the name from that naming convention because that is important. Okay? It's going to be static mesh modular building kit building 01 wall door Okay? Then it's going to be a five by three mesh. Okay, I'm going to bring that here. And then it's time to go and create this building, this attic. So we have options in here. One option is to use a mesh like this, bring it here and create the attic itself. Or we could create a special mesh that goes up to here and then cut these extra parts. So in order to have the usability in mind, I'm going to create first this one in here, and then we will create a triangular mesh for the attic itself. So now, in order to reuse because we know that the scale of the attic is going to be the same on this one. I'm going to take that mesh, bring that to the center, and then let me go for correcting the name. It's going to be 02, because everything is in the same, but it's another variation. Okay? Let me delete these let's see what we do. It's going to be a five by two mesh. Okay. First, let me change that to five. In X or if you have rotated that, for example, in here, yours might be Y. But because that is rotated in this, I'm going to change that zone. So I'm going to rename that to five by two, and it's going to be variation 01. Okay. Now let me test it here to see if you like it or not. Oh, I'm going to do one thing. I'm going to remove that window because that is repetitive here. And then we have one door in here and one window, it gets a bit repetitive. So now I'm going to take these measures and remove those and then let me explode the mesh to its construction parts. Then I'm going to bring the pivot to the center and let me change this to five by two and bring that here. Okay? These are the boundaries. Now I'm going to deselect that roughly, let me delete some of these and try to place them like so. And then I'm going to rotate that 90 degrees, rotate that in here as well. So that your repetition gets hidden. Okay. We could remove some of those meshes and then bring that to here. And it's good. So now, let me take all of them except for that plane and let me test, okay? Perfect. Now, do not worry if all of the measures are looking the same. I mean, in terms of plane directionality, all of the planks are in the same direction. Do not worry. Later, we will fix all of that. So I'm going to select that active object. Let me join them with Control J, and then I'm going to bring the pivot to that cursor. Okay? Now I'm going to test. Later, we will make these measures a lot more complicated. M Okay, let me hide that again and try to see. Okay, I'm happy with it. And you see, let me go to solid mode and you see how detailed the mesh is. You see, even without any texture and without anything, it looks right because we have this blacksmith mentality. We have these meshes created by different parts, and we're going to create them like a blacksmith. Okay, now let me I'm going to take this one and let me create a new collection. And I'm going to call it done. Okay. And then I'm going to place this one in the same collection as well. Okay. And then now we have this attic part, this triangular mesh that we're going to create. Okay? Now we have options. We could make this one horizontal. So let me just demonstrate what we're going to create. We're going to take these and place them like so and then cut the extra parts like that. Okay? This is what I'm going to do right now. So now, let me take this and first, let me rotate that in this direction because I want the starting pivot to be here. Okay? And then go to Edit mode, separate by loose parts, bring the pivot to the center. Okay. Now I'm going to just take these and try to place them like so. Okay. Now, let me just select some of these measures. And I'm going to bring, like, so Okay, once more. Now let's do something. I'm going to take all of these except for that plane. Let me deselect the plane. Okay. And then I'm going to join these. We need an active object control J. Okay, let me bring that to here. And then I'm going to bring the mesh right about there. Okay. Now let me bring the mesh to here. It's good. Okay. Now I'm going to cut this mesh using something like that plane. Okay, I'm going to duplicate that there. And let me just extrude the faces, so and I'm going to create a Boolean part. I'm going to remove these parts. So I'm going to take that. And I'm going to take this one as well, extrude, like so. And then I'm going to remove the part. Okay? And let me take this, create a new face in here as well. Okay. Now, we need to make sure that all of the normals are facing the correct way. Shift and recalculate all of the normals. Okay? And then I'm going to take that and take this one control minus, and we should be able to change the mode. So fast, okay? I removes those parts. But again, we need to take that mesh to remove those parts. Okay, now I'm happy with it. Let's al a boolean, and then I'm going to remove these, and I'm not going to do anything for these parts because they're going to be hidden and nobody's going to be seeing them. Okay. Now let me bring the pivot to cursor. And then in order to test it, I'm going to bring that around here. Okay. Now we need to copy geometry from that part. I mean this one. Okay, I'm going to take this one and this one shift D to duplicate and separate by selection. I'm going to make a boolean part from these geometry pieces. Okay? Take all of the faces out E to extrude along normals. Okay? And then no. Let's do something. I'm going to take these edges and extrude to here. Now let's go for a boolean to see what happens. Control minus, set it to fast. Let's apply to see. Looks like the order of selection was wrong. So I'm going to go back and select this one and this one as the active object. Okay, it needs to be inverted. So now what we're going to do is selecting this one that you see. I'm going to select this plane, these ones. Shift N to recalculate the normals to the other side. Now let's do something. I'm going to take these faces and Alt E extrude along normals. And this one as well. Alt E extrude along normals. Okay, now looks like that mesh is created. And I'm going to take that apply a modifier and looks like there's a bit of geometry that needs to be fixed. Like these ones that are expected basically. So I'm not sure why they're not getting deleted. Let me select the Control L, and then control I to invert the selection, excuse me, I'm going to take all of these, Control L, and then control I to invert the selection. Or I'm going to select these P separate by selection. Now these are not part of that geometry. Okay? Now you see this has been created. Let me bring that back a bit. And, of course, we could just take that and try to rescale and bring that to here to hide those parts. Okay, something like this. Now I'm going to take that mesh, and it's going to be building 01 attic 01. Okay. And then let me place that in the the folder and bring that to here. Okay? Another mesh created. Okay. Now, this looks right. Let's see what we have done already. And later we will add a lot of cool geometry parts to these to make them even more special. Okay. And these beams are going to be created as well. Do not worry. We're going to reuse these geometry parts to create that. Okay. Now, we have a shadow catcher to create as well, which is going to be this part. So let's do something. I'm going to duplicate that to see the dimensions of that. So it's going to be 3.5 worth of geometry in this direction. Okay. Let me remove that and bring that to here, and the pivot is going to be here. Okay. Let me bring that back. Then I'm going to just create geometry for this one. So now let's do something. I'm going to reuse all of these, shifty bring them to here. And let's see for the rotation, I'm going to match these to be rotated in the same direction. Okay. Now I'm going to just rescale these meshes. Let's rescale once more because I don't want the meshes to be that different from the mesh itself, okay? Let's go to local instead of global and I'm going to scale these locally. And local why? Just creates in a way that it has the best variation. Okay, now. We have left some more geometry in here to be laced. Okay, not too bad. Let's take these and bring them to there. And then I'm just going to select these measures and bring them over to there. And make sure that you make the most variations And let's rotate that as well. And you could even make variations in the rotation. Okay, now it's done. So now let's take all of these except for that plane. I'm going to join and the plane is going to be the period. Okay, the cursor, which is going to bring that to the center of the world. And let's do something. I'm going to test it here. So let's rename it. Course I should take the name from here, take the naming convention, building 01, and then it's going to be shadow catcher and it's going to be 01. Okay? A Okay, I removed that by mistake. Okay, now I'm happy with this. And let's take this mesh and remove it. Okay. You see, now we have a shadow catcher. That we could place here with some beam around there. And then let me bring that here, place it in the De boulder, and it's all right. We could duplicate the same one in here as well. Or we could just bring that there. Let's see the dimensions of this one by selection, and then it's going to be probably less than 2 meters of geometry. So let's do something. I'm going to take these measures and this one is going to be 2 meters. Okay? And then these ones are going to be separated by loose parts. And it's done. Okay? Now, let me take this mesh. I'm going to copy the name from here and then take all of these Control J to join. Pivot should be here. And the naming convention should be like that. And then if I bring that to here, we could rotate and test it to see if we like it or not. Okay, it's definitely a good one. Okay, very good. And let's take this. Now, let's leave it there. Later, when we wanted to bring them to real Engine, we will create that shadow catcher there with beams from these. Okay, let me place that. Okay. Now let me delete that. And then we have the side of the geometry we created, do not worry, it's not going to be just like this one because we're going to create five different buildings. Now that we have one building created and we have kits for that building, later, we could easily just bring one building, for example, and try to reuse the geometry to create that building. Let me explain, here's one example. I'm going to copy this and copy that to here. And you see, because we have this building created, we could go and try to reuse from the same geometry to create that building. For example, I could take this, bring it over to here. And then we could see the possibilities for modular creation with this building, okay? And that could be created so easily. So let's say that this building is bigger than the other ones. We could scale the kit a bit. So let's go for four by four by 0.25. And then we could duplicate, bring it over to here, create more variations, and make other buildings with it. Okay? Because this building is just the first one and we are creating kits. The first kit creation might take a bit of time, but the other ones are going to be easier because we're going to reuse and reuse and reuse more to create what we need. Okay. And then later we will create these parts as well. And now that we have created that building, we could, for example, take this one, bring it over to here, like so, and then call it done. Very easy. This is good about modularity because you could reuse from the same geometry and create what you want. Okay. Now I'm going to pause this lesson, and in the next one, we're going to finish this building and bring other buildings to create. Of course, without this roof part. Okay, see you there. 16. Finish The First Building: Okay. Now we created these two sides of the building. Now here's the cool part because now we could take these two, and because they are created on the grid and for modularity, we could easily bring them back and reuse them here. So with no problem. And you see very easily we were able to create the side of the building as well, and nobody's going to see that because when the player is here, they're not aware of what is going on here. So the modularity helps to keep everything organized and reusable. Now, you might wonder why these kits are too flat and they have no special effects on them. You see, later when we were happy with construction and all of that, we will go and try to add more details to these. For example, I take this one as an example. Let me take this plank, select that completely, and then hide everything else. Okay? Now we have this plank. Let me take these vertices, and I'm going to bring the proportional editing. Now, I could easily bring some of that to deform the shape. Now you see, we created something. Let me bring that back. You see now, we created a very easy variation with no actual effort. Let me bring everything back again. And then let's take this one and hide everything else. And then we could, for example, take some of these polygons and remove them. Let me go to polygon mode, and we could easily remove that and create a new variation. Okay? These are all going to be left for later usage. You see, now, with something like this, we easily able to create a lot of variation. So now for the first iteration, we're going to focus on what actually makes the environment. And then later we will go and create more variations. Okay? This is about variations. And then here, I'm happy with it. Let's bring that the front just a bit. Now, let's bring that back. I want that to be hidden under these wood planks. Okay? Now, for the rest of the building in here, we could do one thing. I could easily take this one and try to create a new variation with it and place it here. Okay? Now let's do something. I'm going to look for the original mesh, which is this one, copy, bring it to here, and then let me Rename, it's going to be wall by three variation number two. Okay. Now, let's do something. I'm going to explode the mesh. So while selecting nothing, just go press P and buy loose parts. Okay? I could easily delete these and bring the pivot to the center. Okay. Let's go to material preview so that we see what we are about to do. Okay. Then I could easily let me go to edit mode and the activated proportional editing. Okay. Now it's working alright. So now let's delete some of these darker planks because I believe we have too many of them. And then I'm easily trying to recreate a wall with this kit. Okay. Now let me join everything and bring the pivot to cursor, which is going to be in here exactly. Okay, let me bring that to D folder and place it here. So for testing, I'm going to bring that to the scene collection so that it's not in that folder. And then easily, we're able to create the side with it. And if you want, you can bring horizontal planks, as well to help you create that. Okay, now, we are left with this side, and that really depends on you to see if you are going to reuse these meshes again for the side or create new variations from them. So in order to keep that more manageable, I'm going to reuse geometry, and you see very easily this building gets completed because you see, using modularity, we're able to create meshes so fast. Okay, and bring this one here to create a bit of variation. Okay? Now let's look at that without any materials, and you see it's working right. And for this part, it really depends on you. If you want to create interior for these buildings, you could easily just create meshes. The way that we have been creating modular kits so far. So now for the time being, I'm going to call this building done. Let me create a new collection. I'm going to call it building 01. This is going to be for testing purposes. Later, we will create more sophisticated meshes using these kits. Okay. Now, I'm going to leave these B like that, and later we will return and create more variations for these. That is going to be easy just regular polygon modeling. And then the forming meshes, creating new variations, and so on. Okay. Let me bring that over to here. And then I'm just taking that medium polygon files that we created previously. And then I'm taking this one easily, just copy and paste it in here. So let's create a new collection already. I'm just going to call it building 02. Then here's going to be what we're going to create right now. So let's delete that Okay. Now you see the buildings are identically the same because we are re using from each other to create these buildings. So let me bring that here. But this building is a bit different because the dimensions are a bit different. You see? It's a bit taller. Now let me compare that. If I take this separate by selection, and it's 5 meters as well. So it's a five meter building just like this one, but with taller geometry. And the door placement is a bit different than this one. This is in the center, but this one is in the corner. And with these different shadow catchers and a bit different roof, we could already try to reuse modular kits to create that just like this one. So let's do something for this building, let me take this one and see the scale, okay? And the building is six by five by eight. So we should know the dimensions when we are going to tackle different environment pieces. And let's start with the front side and go about all of the building. So now, we know that this is going to be 5 meters, and this is going to be, again, the kit that we're going to use. And we're going to reuse geometry. So let me take that. I'm going to bring that here and I'm going to reuse the naming convention. So it's going to be building 02. Waldor five N three, excuse me, and variation 02. So let's keep the name to building 01 because when we import them in unreal engine, alphabetically, they are appearing one after another. And when we wanted to create new variations, it could be done with a single click. So later we're going to understand. So now, let me take that. I'm going to take all of these Link selected. And first, let's bring something here to guess the dimensions. So it's going to be five by three. And let me take these. And then we could easily just take these ones and bring them to here. Okay, so easily just one variation created. So in order to make even more variation in this particular one, I'm going to separate by loose parts and then bring the pivot of these to the center, rotate and rotate in this direction as well. Okay. And then just take some random planks and rotate them 90 degrees. And do not worry later. We'll return back and try to create more variations with them as well. So now I'm going to take all of these, Control J. Let's take this one as the active object so that the pivot isn't here. I didn't change the pivot of this particular mesh. So the name should be changed. Okay? Now, it should be in done folder. Let me duplicate one mesh. I'm going to bring that to the building 02. This is only for testing later. We will fix issues if existed. Okay. And in here, we have 6 meters worth of geometry that we're going to create. So let me take that. I'm just going to bring it over to the side so that we know that this one is a variation of this building. Okay? Now we have 6 meters worth of geometry. Let me just retest that. Okay, it's 6 meters. So we need to create couple of three by three meshes for this part. And then the top piece is going to be, I believe, 4 meters by 3 meters. So let me reuse from these three by three meshes. Okay. I'm going to just take that and try to duplicate. Let me rename that to variation two. No. It's the fourth variation from that building. Okay, and then let's bring this one. It's going to be three by three. Okay? We could already reuse this and place it here or we could make some changes to. So let's explode the mesh again by loose parts. And I'm going to take this one, bring that somewhere else, bring the pivot to the center. And then some of these could be rotated 90 degrees. Okay, change a bit of information in here. So now, these are going to be joined. Let me bring that back to here, and then to cursor. So let me bring that to here. And then I could easily just duplicate, bring it over to here, place it in the building 02 folder, and rotate that along Z by 90 degrees. Okay. One half of this building, the first floor is created. So now for the second one, we could easily just take that, bring it over to here, and then just carve a window like we have been carving already. So now let's rotate that 90 degrees. Oh, let's decide on the scale of the window. I'm just going to bring a cube and place it here. Okay, looks like this one is okay. Set it too fast so that it removes those problems and then take that and remove. So now we could bring these meshes and let me re scale them just like the same. And then we will rescale them just like the same again. And then it's very easy to create so complicated measures that would have taken so much time to create without the kid bashing. So this kid bashing part is so important in creating good geometry. You see, without that, if you wanted to create every building just like special. It would take a lot of time. But using kit bashing, although it might take a bit repetitive, but it's going to be a good practice. And later that we finished creating these buildings, we will go and try to add variations to them as well. And that variation is so important in order to make a believable result. Okay, let me scale that. And just a bit of shape change to make that more varied and grounded. So this is going to be the active object. And then let me see what is the name of this. I'm just going to call this wall window. Okay. Now it's going to be the second variation. Let me just copy the name because I want to bring that to here. Is going to be the first variation. So let's make sure that this is in that folder, bring it here, and then I'm going to place this copy in the building too, bring that to here, rotate 90 degrees and let's test In real engine, this is going to be snapped to the grid. Right now we're not using the snap mode, so it's going to take a bit longer to just join these. But you already see that we're going to create a good result. Okay? Now, for this part as well, we could just take these two and rotate 90 degrees if you want it or you could just take this one and delete reuse geometry from here, rotate 90 degrees to use the other side, bring it here, and you see there is a bit of butterfly effect. But it's not going to be that noticeable. Okay? See how easily we were able to create the first side of the building. So now, looks like here needs geometry as well. So we could take that and easily try to reuse that here. But we could also just make variations that later we're going to create. Okay? Now we're left with the top part of the building, which we're going to create in the next lesson. Okay, I'm going to pause and see you in the next one. 17. Variation For Existing Kits: Okay, everybody. Now we are continuing to create meshes for the second building. Now I'm going to select some edges from this building to gets the height of that. So let me separate by selection. It's 3 meters again. So we need to create measures that have 3 meters of height plus 6 meters of length. Okay. Now, let's reuse from what we have already created, I'm going to take these two, bring them to the center. And then I could easily just take this and rotate it 90 degrees. And then for this plane, let's go for the same dimensions and you see it's going to be right. Okay? Now, very easily, I'm just going to explode these bring the pivot to the center and then try to offset the meshes from each plank to make them look a bit more varied and not that repetitive looking. I could even create variations in the height of the kits. For example, you could bring one here and just create different variations in the height as well. Plus the variations that we're going to create later when we import these to engine and see where it needs to be changed. Now I'm going to take this one, Control J to join, and then the pivot because the pivot is already in the center, let's bring that to cursor. And then I'm going to rename this wall. And then let me just take that and test it to see what happens. Just take a copy. And then it's time to place that here. And of course, we could create a window as well. So let's carve that window by creating one variation. Okay, you already know how we are going to create that. We're going to bring in a cube. And then scale that cube to find the dimensions that we like for the window to be carved and then Holly and that. Fast, apply, let's bring some of these and I'm going to just scale them so that they are more like cube instead of rectangle, more like a square, excuse me. Okay. Now let's bring another one as well. If you wanted to create these meshes just uniquely, it would have taken a lot of time. But since we have created kits, and these kits are already great and fine we could just take these kits, duplicate them around, and create new geometry with Let's rotate that. Let's create a simple frame for that as well. Let's apply everything and check for face orientations. It's good now. So simple measures to carve that window. Okay? I'm taking everything, this one as the active object, and this is going to be the second variation. A and let me place that here. Okay. And then I'm going to duplicate to test it. Of course, we could use this one here. There's not actually a problem if we use that one here. And then we could bring this to here and Let me use that. Okay. Now you see, we have created that part as well. So now there are just a few meshes remaining from the second building kit. And then after that, we will go for other buildings as well. And for texture, I believe we could go for something like more lighter and more older basically. Okay? And then in here, let me see. We have a five by three mesh as well to be created. So a let me bring that to here. And you can see that already we could use this one in here with no problem. You see, there is no repetition as well. If that was a repetition, you could rotate that and use the other site because we have created them in a way that the other variation is available as well. So let me bring that one here. And you see, it's the great thing about modularity that you're able to create meshes so fast using this technique. Okay. Now for this side, let me take that mesh. Ship the duplicate. And the dimensions are five by three as well. So let me bring that to this to here. This is the pivot. I'm going to bring that there. And then we could reuse from that geometry to here. So again, let's rotate that And then I'm going to just place that, like here. Let me select all of the faces and extrude. Okay. So again, I'm taking these meshes, these pass, excuse me, and then out E extrude by normals. But before that, let's join these. Then I'm going to create new mesh from this. Extrude, right click, and then scale. It doesn't matter if that is off because by the way, it's going to be deleted. Okay. And then I'm going to take this part, remove, and just create faces here. Okay. Let's correct the normals. And let's go for Boolean to see what happens. So this one needs a bit of manipulation. So but before that, these need to be joined. Just take and apply Okay, now the measures are the same. Okay? Now, take that mesh control minus and set that to fast. Okay? It has created a good result, but with a bit of cleanup that we need to do, okay? Apply And then this one, as well. Let's try to take these and remove. And because the rest of the geometry is going to be hidden behind the borders, we're not going to care about that. Let's take the geometry, P separate by selection. Now this is going to be deleted. Okay. Let's bring the pivot to cursor, which is in the center of the world, and I'm going to test Okay. Okay, now you see it's working right. And I could easily just copy that to here. And now this building is done as well. Easily and fast. Of course, without the roof that we are going to create later. And whenever we create the roof, we duplicate them to here. Create another type of shadow catcher and it's not going to be like these just using planks. I'm going to create them using these roof shingles that we're going to create later. Let me take this one and place it here let me take the name from this one. It's going to be the variation too. Perfect. Now they're okay, except for the variations that we're going to create later. Okay? A couple of buildings created. Now it's time to go bring the rest of the buildings to create, basically. Now I'm going for the rest of the buildings. I'm not going for the third one because we're going to start with these that have similar geometry to these. And then when we just created these, we will return back for this one which has a different dimension than these buildings. Okay, let me take this one copy and then paste it in here. So it's going to be something like this, but with a bit of more variation in creating extra barn. Oh, we are in material mode. Let's create a new collection for this, and it's going to be building 04 because the building 03 is already skipped for last stages. So that's going to be building 05, excuse me. Now, now, the great advantage that we get from using modularity is that, for example, this building is somehow a variation of this building. So it means that if we take these, I'm able to bring them here and easily fit them into the blockout of this building. And it means that it's really easy to use the modularity to create different buildings. But for now, we're creating raw kits, and later we will return and create a lot of variations for these so that the modularity doesn't get repetitive, which is a major problem when making modular kits. So now we have a barn in here, which we need to take care of. So now, let me take these faces. I'm going to copy and then paste them, excuse me, separate them by selection, and I'm going to bring them here. So let's bring the pivot to here again. Okay? Now we have this geometry to fit. And we're going to reuse the kits that we have been creating so far to create that. So I'm going to bring this one and maybe this one. I'm just going to copy and bring them here. And then it's very easy. To reuse geometry. I'm just saying that this is the first level of geometry. Later, we will go and create more sophisticated geometry for these. This is only for the first level of modularity. So again, I'm going to separate them and bring the pivot to the center, now deleting everything. Okay. Now, just select some of them rotate 180 degrees there. And let me take this one as well. But I'm going to scale this up because I want the lengths to be the same scale. Okay? Let's go for three, and I'm not going to create something for this because it's going to attach to this building and the walls of this building are going to act like a wall, but I'm going to rotate them and use them here. So Then I'm going to take these and separate by selection. And then the other side of the wall is going to be using these Okay. Now there are some extra planks that we could easily delete. And then we're left with boolean delete the geometry that we do not want from this. Okay? Let me select all of them Let me join these. Okay, now the pivot is in here, let's check for face orientation. Perfect. And then I'm going to bring that and create a Boolean mesh from this. First, let's make sure that the vertices are welded, which they are Okay, I'm just going to copy these separate by selection, and go back to where we were. Okay? This is it. Now in edit mode, I'm going to make a geometry from this. So let me select all of them. Okay. And then I'm selecting all of the pass extrude by normals. Let's go to the other direction. But I see that these need to be scaled in Z to flatten them because I don't want these to be flattened. Scale Z. No, not. Like that, let's go for a solidified modifier. See if that helps set the mode to complex. Okay, this is better. Okay. Now, I could easily take these and scale them So first, let me select these faces. And then I could just select these, remove. And then bridge. Go to Loop tools bridge to create a mesh to cut. Here, okay? And if you do not find loop tools, you want to go to preferences, add ons. And then search for loop tools and activate it. It's right click menu that you can find and use. Okay, Loop Tools Bridge. So there's a problem. Let's see what is causing that problem. There should be a normal problem, no. So just extrude and bring it to here. So let's activate snap to vertex, okay? And then extrude to here. Perfect. Now we want to merge by distance and use this one as the Boolean. So I'm selecting that plus this one Control minus. Let it calculate fast. Oh, let's do something. I'm going to remove everything and go for easier calculations so that we get a better boolean. So I'm going to select these runt meshes and separate by selection, okay? Nowadays are separated. Now let's do something. I'm going to take this edge and separate by selection. I'm going to create geometry from that. Okay. And then I'm going to take this one, this face and these as the active object. So let's set the faces to face the other way around So let's do something. I'm going to take this face and extrude upwards. Okay. Now, you see the boolean has been created easily. So let's set that exact. Okay. And then apply a boolean and remove those parts. And there are some parts that are left, which we could easily delete. So take these vertices and dissolve them, and this should be good to go. Okay. Now, these easily could be scaled. To create that part. Okay, then join. Now these parts that are problematic, they could easily be fixed when we place them here because you see there's a roof in here that nobody is going to see and nobody's going to see what is going on in here. So let me delete that. And then I'm going to take the naming convention from there. It's going to be born 01. And let's remove the scale. And I'm going to place it in the finished folder. Duplicate one and use on building five. Okay. You see how easily we were able to create meshes using this process. And for the rest of the kids, I'm not going to create anything for this building because we could easily reuse these on this building and get away with it. And, of course, we will create variations for those kits as well. For example, we might take this one and just go and create some variation, including breaking the planks, maybe deforming the shapes because we have quad mesh in here, and deformation is going to be supported very easily. For example, let me bring in simple deform. And you see because the squad is going to deform very well. And we have the possibility to have that deformation applied to our messes. Okay? Now, I could call this building finished, and let's bring that there. And it's time to bring another building. And then here's another building Okay. And you see this is more or less similar to this. They are the same building, except for the fact that the barn has been rotated to this side. So again, we could reuse the same barn or create variations for it. Okay? This one is going to be called done because later we're going to reuse these geometry pieces on these ones as well. And I just told you that whenever you create some kits, for modularity later, it's going to be much easier to create variations because you have kids, and then you can easily just change them, make variations, and so on to create more variation. Okay. Now it's time to bring the building number three, which was the biggest building and this needs its own kit. It's different to these four buildings that we have created because it's different in dimensions and it needs different scales of modularity. Okay, here they are. And let's check for the dimensions of the building. B by selection, and then This one as well. See, this one is 9 meters worth of geometry in heights. Of course, for the normal measures which are without the attic mesh that we're going to add, it's going to be 7 meters. So it's going to be 7 meters worth of geometry plus the attic mesh that we are going to create and then 10 meters in here. So the dimensions of this building are quite different to what we have already on these four buildings. So I'm going to pause and in the next lesson, we're going to tackle this building. Okay? See you there. 18. Finishing The First Level: Okay, now we have the last building that needs to be created, and we need to still more once more check the dimensions to see how they are. Okay? And then I'm going to separate that. So it's going to be 7 meters tall and then 10 meters and 8 meters in this side. Okay? Now, we could reuse the same kits. Let me take one of the three by three pieces, for example, this one. I'm going to take this, duplicate, bring it over to here, and then I'm going to rename the wall to four by four. And then we could simply take the dimensions or let's do something. I'm going to three by three by 0.50 0.05. So let's times this one by two. So it's not working four by four. And then this one, let's go for point No, let's go for 0.3. Okay. Now we could place that and then test it here to see if that is working correctly or not. Okay, it's going to be rotated along Z by 90 degrees. And then for completing the part, we need another mesh. So let's do something. Instead of four by four, let's go five by five or five by four. Okay. Now, if we go for the same scale, we are able to create a tiling mesh with that in 45 by four mesh, excuse me. And then we could keep the same four by four mesh as well because it's going to be good for this area. Because in here, if we duplicate it and use it here, you see, it's going to be a good result. Okay, I'm going to bring this one back. And then I'm going to rename this to four by five. And then this one is going to be the four by four as well. Of course, later, we will create variations as well. So let me duplicate that and use it there. And let's use this one here. Okay. Now, let's do something. Here we have windows that we need to tackle. So let me take these two. They should be in the finished folder. And now let's go see what we have here. So the scale of here is exactly the same as this one. So it's going to be eight by four. So we could create one special mesh or we could create modular, for example, one in here, one in here, and one for Window. So I'm going to create a special mesh for that part. You know, modularity is okay, but sometimes you could just get away with using special meshes as well. So because I'm going to use that like so Let's just duplicate that. And then I'm going to join these two measures first and then separate by loose parts so that we get every chunk individually placed. So now it's time to create a bit of variation. Okay, something to hide that repetition. Okay? I'm going to take this one now, join because I didn't change the pivot on this one. So let's do something first. I'm going to rename this eight by four. And now if I duplicate it and bring it to here, you see, we have a mesh that is correctly getting placed in here. Okay? Now let's do something. I'm going to instead of Shift D to duplicate it, I'm going to press Alt D to create an instance. So now, just see what happens. If I change something about the original mesh, for example, in this one, it's going to be represented in here as well. If you just duplicate with Alt D. Okay. Now, let's bring the wire frame to see how we are working and I'm going to take the mesh and remove you see it gets represented there as well. And now it's our choice to see if we want these planks to be vertical or horizontal. Let's bring them back. I'm going to remove these only. Okay. Now, it looks like I like the planks to be vertical. Horizontal, excuse me. Okay. Now let's place them exactly on the ground. And now if I take a couple of these measures, duplicate and rotate, again rotate in different directions to get the best variation possible. I could bring it here. So it looks like there's something wrong. So let's select everything. Okay, now the problem is fixed. And I'm taking these measures randomly and placing them Like, so yes. Okay. Now we have vertical, excuse me, horizontal geometry in here and vertical in here. So it's going to be good for variations as well. So now for carving the window, I'm going to bring in a cube. And you already know the workflow, we're going to bring in a cube, apply all of the directions, and bring the same one in here as well. So now let's join these. Okay. And then take these ones, Control minus, set the mode to fast, and then apply Okay. Now we could take that one and remove. So it looks like it hasn't applied on the instance. So it doesn't matter. We're going to still bring that here. And then let me bring some of these planks because I want to create the frame for the door. Take these two, and this one If I press Alt B, I'm able to instance that and use that here. Okay? Now we have the frame for the door as well. So we could also create the frame for the window because you see in here, there's a bit of problematic result that we need to fix. Okay? Let me bring these and I'm going to rescale them and then create something like a window frame. And then it needs a bit of rescaling. Let me copy that here as well because that is the same in terms of height and scale. So rotate Then I'm going to take these two and rotate as well so that they don't look repetitive at all. I'm going to take all of these measures and this one active object control J, and you see all of the changes have been represented here. Perfect. Now, this one is going to be wall eight by four. Now let me bring that back. And in here as well, we could simply duplicate these meshes to here. Okay. Now for this part as well, we could create a special mesh like so and create the window frames and those kinds of meshes that we have been creating so far. Or we could do something. Let me do a bit of scaling. So if I scale now we have more room for this part to be created. Okay? Now, looks like we need five by three meshes. So now let's go search for those five by three meshes which we should have, okay? These are types of five by three meshes that we have created already. And it means that if I take this one, for example, and bring it here, rotate. And place it here. You see, we are able to not only create different variations. But also, we're able to save a lot of time and reuse what we have been creating so far. And we will place a window in here as well. Okay. Now let's do something. I'm going to keep that here. And let's scale this one or let's rotate because if you scale if I scale alongside Y by negative one, we're getting duplication of that. But that is going to be a bit problematic because it's going to change the phase normals. If I apply scale, you see, the phase normals are actually wrong. So you need to go and reapply your phase normals. Okay? Now let's do something. I'm going to take the smsh and duplicate separate by selection and return back. And now we only need to take these two and join. And then we could delete these So let's do something. I'm going to take these and extrude a bit because I'm going to keep that form and shape. So now we have created a silhouette for that building. Let's do something. I'm going to bring the pivot in the center and let me bring that to the center of the world again. Rotate that 90 degrees and I want the pivot to be here. Okay? Now I'm going to reuse from these meshes to create our attic. Okay, let's just bring that there. And I'm going to rotate 90 degrees. Now, now let's do something. I'm going to expand the borders of the Boolean mesh. Okay. That's it. So let's expand these sides as well. Scale by zero and extrude these ones as well. So let's do something. I'm going to bring this one back, take everything extrude. Then I'm going to take this one and this one as the Boolean object. Let's press fast, and now I'm going to take these faces Let's bridge. Okay. Now we see if we get that part back. It was a quick tip to go for Boolean, extend the borders, and then remove what you do not want from that boolean. So if I expand that So we could select these faces that are not going to be used. Let me control Z go back, and I'm going to remove that phase. And let's bring this phase exactly to here. Okay? And then merge the vertices So let's now, you know what? This is going to be too problematic. No, I'm going to apply a Boolean and then take this one delete, and then these unnecessary geometry parts are going to be deleted. Okay. Now let's do something. I'm going to test it here and see if that is working or not. Okay, perfect. Now it's working. So now let me bring the Pivot to here. And then let me see the name. It's going to be attic 03, I believe, it should be. Just rename test, attic 03 is going to be right. So let me place that in the finished folder. And now we could simply duplicate that there and reuse the same geometry in here. Okay. Now the first part of modular creation is done. After this, we're going to import these to unreal engine, test them there, and maybe if we need it, we go and create a lot of variations because now the kids are raw. They are not actually having a lot of variation. They're only created by the same woods and same planks and basically, you know what it means. So we're going to create a lot of variations on these to make sure that they have the maximum amount of variation. It's going to be the same. You are going to go for simple polygon modeling, simple maneuvers to create that, but it's going to be good one. Okay. See you in the next one where we export these and test them there and maybe create new kits as well if we need it. Okay, see you there. 19. Export Modular Kits To Ue5: Okay, now we have created enough modular kits to be able to start, keep pahing in the Unreal engine itself. Now I'm going to use BTX. So here's the plugin that we're going to use for exporting directly to Unreal. The great thing is that no matter where you place your object in the world, if you activate the Cena transform, first, it's going to bring that to the center of the world, export it, and then just put it back on its default location. And then apply transform as well as going to be applying any transform values. For example, if your rotation is off or if your scale is off by something, first, it's going to apply them and then export them so that you do not get any errors. And then another one, which might be disabled later is one material ID because these measures for now have one material ID only. For example, the underscore Wood kit. So this one later, for example, when we add rope material or if we add something else, it's going to be good for disabling this one because if you enable it, it's going to bake them all into a single material, which is not going to be okay. So Batex I've provided the link to download. It's free, and you can find it in the blender add ons list And here it is BTX. All of these are free and you do not need to pay anything. You just download it and installed, and it's just one click solution to export your messages to Unreal engine. So now, one important note is to define one export folder for all of these because that is important. Your location that you export, plus your pivot, plus the naming convention, plus the material needs to be the same. Because, for example, if you just change the pivot to the center and re export that back, it's going to change the location in the world in the game engine. Okay? Now I'm going to select a folder. There's a final folder there. I'm going to accept. And then it's important to keep this folder, plus the pivot, plus the naming convention, plus the material the same. Okay? Now I'm going to select all of them, and then export. So here's the results. We get all of these exported and you do not want to change the name at all. Because now let's say that if I change something about the mesh, for example, remove a plank or something or do any change. If I want to reflect the change inside on real engine, we need to make sure that the naming is the same. Because if the naming changes, for example, this is going to export a new file. So we want to export on the same file to make the process iterative. Okay? After a long time back in Weal Engine, let me go to my meshes folder, and then in here, I'm going to import. And here's my folder. I'm going to select all of them open. Now for importing them, I want to make sure that they are converted to nanite because they are heavy on the amount of polygons that they have. Let me bring statics. You see now, we have lots of polygons. Even the kits themselves are close to million. So we want to make sure that they are naniteT make the geometry work with Nate. And then in here, there's one option that you want to disable because we are going to use lumen. We want to disable generate light map Ubis because by default, it generates a light map UBI for you for baking or if you want to bake your lighting. But since we're going to use real time lighting, it's going to be better to disable them. Plus later, we're adding extra level of dirt and some other effects on the measures we're going to create secondary UV maps in blender to generate dirt based on the second UV channel. So we want to disable that. Okay. Other than that, it's okay. Import all. Okay. Now they're all imported. And depending on your workflow, if you want to have the fault material setup, you can use it. Or if you want to disable that material, you can as well by bringing simple color, for example, a vector, change that to white or whatever value that you want, and then apply. But since we want to see a bit of the color applied in the scene, I'm going to let the material be there. Okay. Now, let's do something. We have options, for example, we could try to place our results like this in the world and try to hit bash with them. Okay, like this. But when way to work with that is to use blueprints. And in those blueprints, we could manage buildings a bit better because, for example, you see, we have five buildings, and these buildings are just like the following. If we create a blueprint and manage everything in that blueprint, we can then later easily just take that and copy that over into another location in the world very easily. And one more added benefit is that we could use instance measures in blueprint which helps optimization a bit better. So now, let's start to work with Building 01. So let's do something. I'm going to go to my meshes folder, save everything, and then create a new folder and I'm going to call it modular buildings. Okay. Now I'm going to create a blueprint class. It's going to be a simple actor, and then I'm going to call it BP underscore building 01. Or modular building 01. Now, let me open the blueprint. And in here, you see we have nothing because we haven't added anything. So now, in order to test to see what we are talking about, I'm going to bring static mesh and add the menu. And when you are in the viewport, just go for static mesh. You see in here we have static mesh, which is the normal static mesh. We have instanced static mesh, and we have hierarchical static mesh. What is the difference and what is the benefit of using each? Static mesh is the normal static mesh, just like placing one static mesh in the world. Stance static mesh is a bit more optimized, especially for modular workflows when you have to copy one mesh hundreds of times or tens of thousands of times in a single level. It causes druuhaols to be dramatically reduced, and it will produce better results. And hierarchical, static mesh is for the same purpose. But if you have a huge level when you want to reduce the quality of meshes when you are far away from them, hierarchical and static mesh is good. But since in here, the level is relatively small, we are going to be good using the instanced static mesh. So now let's go bring the instanced static mesh. Now you see we do not get anything because we haven't spawned anything here. So for static mesh, let me go select the building 01 Okay, it's static Mach test building 01, and we're not seeing anything because we need to create instances from that. So just scroll down until you see instances and then click this plus icon and you see one instance of that building being placed there. So you want to compile. So now I'm starting to use this building here. So because we know that this one is the test building 01, we're going to replace this with this one. So we could right click on that, replace actor and replace it with this one. Or if you are not seeing this one because we have recently selected that, you could just search for BP Let me copy the name. Okay. Just go select this and right click. And it's going to replace the same here. Now, if we go to outliner, we are seeing that we have one static mesh. Unfortunately, it didn't change the name. So let me take that name and copy that name here. So now you see that we have one building in here that is replaced exactly on top of the previous one. And the benefit of this one is that if we go to blueprint and add something to this one. Let's say that we add let me first take that instance, take that blueprint, and try to instance a couple of times in the world. So if I go and add static mesh, let's add an estatic mesh here. Okay. Now, let me bring one of those static meshes that we added. So I'm going to select this one static modular building, or you can drag it there, and I'm going to add one instance and make sure that your snap mode is activate and set to 100 because these meshes are created in meters. So you could go for okay. You could go for 50 centimeters or 1 meter. Both of them work. So now if I go in the world, everywhere that I have the mesh, it's going to be instanced in the world. And a great benefit is that because it's instance meshed, it's going to be much much easier to manage for optimizing. Okay. And another benefit is that later we could duplicate this blueprint completely and create other variations with it as well. Okay? Now I'm going to start creating the blueprints, just like what we did in Blender, and I'm going to constantly switch forth between blender and unreal to see which measures we need to place here. For example, in here, if I bring blender, we see that we need static mesh modular building one wall, zero, three, 12. Okay? We need to find this name. Or you could simply rename that mesh and find it or copy the name, excuse me. And then in unreal engine, just select and let's say that we want to go here, paste the name Okay. That is because we need to remove that naming. Okay? It's here. Okay, it looks like there's a problem, and that is because I think I didn't copy this. It should be five by three mesh. So let me compare them. Okay? These are the same mesh. Okay? Sometimes it happens. So I need to select this mesh, copy the name. And then in Andrea engine, take that and replace it. Okay? Now you see we have placed this here. If I compile and save you see that has been instanced all over the world wherever we have used data. And it's going to be good because it keeps a collection that we can edit at every time. And whenever we add new measures, for example, in future, when we go try to create these shingles, we will simply add those shingles into this collection, and it's going to be instanced wherever we have used data. Okay? Now, I think there are more places where we have used that. Let me find that it's exactly the same thing. Shift E. Okay? I just selects every instance of that mesh that you have in the scene. Okay, I'm going to just go there, replace it with a static mesh with the blueprint that we have. And you see whenever we change it, it's going to be there. And one more added benefit is that if we select this mesh, I mean, the blueprint let me find the corresponding blueprint for that. Okay? It's here. Now, we could go and expand that collection and change something about this one without changing anything about others. You see, now it's stayed in place, this one, as well, but this one has changed. And another great benefit is that we could change one instance independent on other instances. Okay? Now I'm going to start kit bashing and so you see whenever we try to change something about this building, it's going to be instanced at three times in the building in the viewport. Excuse me. Okay? Now, let's do something. I'm going to spawn the mesh for this shadow catcher. Of course, it's a good practice to rename these in here as well, WaldorO this one would be Let me place that there. Okay. Now let's call this one pivot. So later when we were done with placing all of these instances, we could simply go and try to delete that instance. And then that mesh as well, would be removed. But for now, we need that to be a placeholder so that we know what we are going to place on these areas. Okay, now let's do something. I'm going to we could also duplicate this and try to place somewhere else. If we wanted to, for example, try to place it here with no problem, and we could also replace it with other meshes as well. So let's say that we want to replace it with one of these meshes. Of course, this is for another building, but we could also try to rescale that, and use it like this. But I'm going to work a bit cleaner. Okay. Now, let's bring that shadow catcher. So the name should be shadow catcher 01. Of course, we want to remove this naming that is caused by repeating too much in blender. You see if I now select this, you see it has changed to 02. This is 01. So this is the naming in blender that we need to remove to get our instance correctly in blender. Okay? Again, I'm going to add instanced static mesh, let me just paste the name there. And then I'm going to select that, and you see we need to bring that here. So of course, we need to add one instance. And then it's just like creating lego pieces. Don't let me scale, but it's going to be locally. Now, let's just leave that we. Later, if we want it, we could return back and change it. Okay? Compile and save and you see that shadow catcher has been applied as well. So this is a powerful method for creating modular buildings. It keeps the results more manageable, and it can also create a lot of changes there. So now let's create this top side, and it's called wall five by 201. So let's do something. I'm going to copy or duplicate that because it has already created one instance, and we do not need to return and activate one instance. Now let's rename it to the one that we wanted and remove that naming that was caused by blender. And then I could easily bring that up top. Okay. Now compile and save. First later, we will add much more complexity in these meshes. Now we see it as applied on all of them. So now let's talk about this workflow a bit more, and that is, if I take this mesh, I mean the mesh that we have exported to blender to Unreal engine, excuse me, let me find it. Okay, it's in here. So now let's say that we changed something about this mesh, like taking this plank and rotating that a bid. Okay? Now we need to only select that and export. And you only need to find that instance in the content browser reimport and that is going to reflect that change on all of the instances. And you see that plank being changed on all of the instances. And this is another benefit of this workflow. And now that I'm thinking, I'm not so happy with the color of these wood planks. Later, we will go and create a tiling wood material to be applied on all of these. Of course, we're going to keep the Bake data, including the normal map and things like that. Okay. Now we need that attic mesh. So let me go in here and see where that attic mesh is. So it's attic 01. So let me copy the name except for that extra naming that was caused by blender. And then I'm going to duplicate that, paste that name, and then I'm going to find it here. And you see, it's going to be replaced there completely perfectly. Compile and save, and you see that change being applied on all over the world. Okay? You see now this process is very powerful and creating a lot of good results. And it's optimized as well. So let me expand the naming so that we see that name a bit better. So now let's talk about benefits. If I take this instance, you see that it's in here, we duplicate it. Now we could easily try to bring that back here and use it here. Okay? With no problem. Compile and save and let's go see. Change is reflected all over. And of course, this is not the end of it. Later, we will add a lot of variations to this. Okay. Now let's go and add other modular pieces here as well. So now we have these side kits that we need to place. So let me find it and just copy the name. And then easily let me find Okay, let's duplicate this one. And then just paste the name because that is going to be the best way. And we need to bring that, okay. Now we see we have that kit ready to be placed Okay, 90 degrees. And now we have another kit that needs to be placed, which is this one. And then I'm just removing that unnecessary naming convention and then duplicate this once more. And then in here from the kits. Okay, it looks like we need another one. So I believe it should be wall window. Okay, here's the kit. Of course later, we will fix these areas, but do not worry. It's going to look right. So now let's see what we have here. Now we have an entire kit that covers this part. So let's go find Okay. It's a wall. We just copied the name, and I'm going to duplicate that, paste the name here, and then easily just paste the name here to bring that. Okay. And here is so fast that we can try to bring in different meshes and try to place them and try to world build with these kits. Of course, later we will add pillars, these shadow catchers, and all kinds of results. Do not worry. So let's see what we have here. On this side, again, we have a duplicate of the same kit. And then we have these two kits that are placed interchangeably. So we do not need to bring new kits. We only need to take these and duplicate Okay. And now, these two as well need to be duplicated. Bring one in here. And because these are created using the grid, they're perfectly snapping to the grid with no problem. Okay? Now this side of the building is created as well. Now let's go for this side, which I think we could take this and duplicate it over. So let me see. Again, it's exactly that kit. So again, I'm going to duplicate that and try to use it here. So for this one as well, it looks like we need another kit to be placed. So it's going to be wall five by three. Okay? Let me duplicate this then take the name five by three then easily try to bring that. So now, let's take a look and see it has been copied over to any instance that we have in the world. And let's take a look. And there's one more shadow catcher let me copy the name. And then in that blueprint, let's copy here. Duplicate shadow catcher number two. Rotate 90 degrees and that should be okay. So there's a rotation that needs to be changed. Let's go for five. Okay? Not bad. So now let's do something. Let's try to remove that instance. And you see here's our results. Perfect. And you see it resembles the shape of the house. Of course, since it's using only one color, it's not that great in representing the shapes because later we will add a lot of more details, so it's going to look a lot better. So let's bring that pivot because I need that to resemble these shapes. Okay. This was for the first building that we created. In the next lessons, we're going to create other buildings as well. And then after these, we will go for creating the pathways and the deck and the connectors using modularity as well. But for now, we need to create buildings to have a bare bone, and then on top of that, we will create a lot of details. Okay? See you in the next lesson where we go for the second building and so on. Okay? See you there. 20. Finishing Buildings In Ue5: Okay. Now we have the first building created, and now it's time to go and start creating the rest of the buildings. So let's take a look to see what we have and here it is. So you see the first building and the second building that we're going to create are basically the same, but with a little bit of difference. For example, this one, the Attic mesh is a bit bigger than the previous one, and some minor changes like having these shadow catchers that later we're going to create by these shingles. We already know that when we were creating this when we created the first building, we took that as a base for our rest of the pieces except for the smarket mesh. Okay? Now you see because these are identically the same, I could easily just duplicate the blueprint in real engine and just swap some of the meshes so that we create it. For example, you see, in here, the first module that we used was Wall three by three number one. But in here, the module that we used is Wall three by three number four. So easily you could swap meshes by just one click using this method for fast iteration. And later when we wanted to try to create more variations for these kits, including, for example, creating extra details and meshes on these meshes, it would just easily be reflected in real engine in just one click. So now, because we're going to be a bit faster, I'm going to right click and duplicate that. Okay. And then I'm just going to call it building 02, which is already done. So now in Viewport, we are seeing the same building, but now I'm going to select that and from test Building 01, I'm going to select test building 02, and you see it's working right, but we need to take this one delete. This one is a lot easier than creating the blueprint from scratch. Okay, now it looks like this one is not that useful again. So we need to swap some of these measures so that they work perfectly on our results. Okay. Now I'm going to compile and save. Now let's do something. I'm going to select all of the instances of the second building. You say it's static mesh test building 02, Shift E to select all of them, and you see they're all represented here. So let me right click Replace with selected and you see very easily with one click, it's reflected there and we're seeing those measures being changed on our result with just one click. I just previously said that when you create the first one, the other ones are going to be so much easier to create. Okay? Now, just selecting some of these and trying to swap them. So you see, we were using Wall three by three number one, but now I'm going to change it to wall three by three, number four. Okay, let me find it. And now you see this is Wall three by three number four. That's very easy. So now we could select these ones as well. Let's go to Blender and see where that window is. It's the same window as this one. These two are basically the same measures, but no, it's not the same. Let me return back. This is our test building two, and this is our other window. So now this is Window two, and this one is window wall. Let me find it. There Okay, it's this one. Window wall three by three number one. So I could easily just select the name and try to find that instance and replace it. Okay. And this will make sense when we later try to replace these meshes with other instances. It's going to be much, much better to use this method because it's a lot easier for creating variations. Okay? Again, blender. Let me find the mesh that we wanted for the side. Okay? It's wall three by three number four, and this one again, wall three by three number four. But I think that we could let me take that well three by three number four. Okay? And then we could take that one and let me take the mesh, Control D to duplicate it. And I could rotate that 90 degrees and bring it here for a bit of variation, so that it's not too identical because this is the same mesh. Okay? Now we want it to swap this. Let's go see. Okay. We created an entire new kit for that, and that is wall six by three. So Okay. Easily swapped and in here as well. Let's see. It's another variation of the same. So let me again select for that. Okay, now you see we created that. But since the window is in here, I'm going to create a bit of variation by just rotating that hundred and 90 degrees and place that here. Okay. Let me compile and save, and the change is reflected on all of the instances. So let's go and try to change that attic mesh, and that is easy to find. Now it's replaced there and it could be replaced here as well. So you see, creating the second building was just using just a couple of clicks to create because we had the bare bone created in the previous lessons, and now just creating the second building was an easy task. So now let's go for the rest of the buildings because I believe this one is finished, except for the attic mesh, the roof mesh, and these shadow catchers plus the doors and some other meshes that we create later. So now let's go for Blender and see where is the third building, and that is this one. So I'm not going to change this one yet because these are easier to create because these are basically the variations of the same building. Building number five is a variation of building number one and building number four is a variation of building number two, except for having this extra barn mesh that we're going to replace. Then it's going to be very easy. I'm going to copy the building 01 to create the building 05. Okay, let me duplicate, and then I'm going to name that building 05. And then that's going to be easy. All we need to do is spawning the barn mesh here. So let me take that one, duplicate, and let me select the barn because I need the name. And then I'm going to paste that name here. Okay. Now, this one as well, is going to be created later. Now I could officially call that done. Compile and save. Now, I could select building 05 Okay. It's this one, shift and E. And then easily I could right click replace with building number five. Okay? This is how easy able to create variations using this method. Okay, for the building number four, as well, we are going to copy and I'm going to just bring the barn mesh here. Of course, later, we will create variations with that. Now, okay, we need only one barn mesh. We might create variations later, but for now, it's okay. So now let's bring the barn And then select and done. Copy and save. So I think like the barn mesh on building number four is on the side instead of being in front of the building. So just very easy manipulation. Just take the barn mesh. Rotate 90 degrees and done. Compile and save. Now select the number four, shift E, right click and replace it with building number five. Okay, now you see very easily it populated the scene with that, and you see how easy and fast is this method for creating different buildings. Okay? Now, I think, one of the best parts of this environment is this one because it's totally different to all of the buildings. It's rotated in another direction. It's just not following the same grid, and it has totally different structure. So now, let me copy building 01 and call it 03, which is already done. And then I'm going to spawn building number three there. Now, it's totally different. So we could take all of these. Now, I'm going to leave one of them and delete the others. Okay, because I need to spawn meshes on this one, because that is static mesh, instanced static mesh, and that's going to make our job a lot easier. So let's do something. I'm going to take this one and replace it with building 03, okay? Now again, it's time to take the meshes and replace them here. So let's see what we have here. And here we have static mesh building wall four by four. Okay, we have the same wall four by four duplicated twice in here. So let me select this one, and I'm going to select wall four by four. But before that, we need to copy the name so that we could easily find it with just one click. Okay, now, And then let me duplicate that. Looks like this is a wrong mesh. Okay? This is not a four by four mesh. It's a four by five, okay? Let's go find it. And it's four by five. Okay? It's this. Rotate 180 degrees and bring that here. And so because we are working based on geometry, even without adding a shader or something, it looks great because we are supporting the silhouette. Not much change because it's hidden here. Let's go and find the next one a wall door five by three. Let me copy the name. Then just duplicate that Pi Pi three, now let's find it here. So this is not what we wanted. This is the front mesh that we're going to use later. Okay, this is it. And now let's do something because when I'm looking at here, you see the window is in the center. So I'm going to duplicate ones. Then but rotate and use here. You see, there's a bit of buffer zone in here, which we're going to later cover with beams. Do not worry. It's an easy fix. Some changes. And let's bring the attic mesh as well. So it's going to be let me find it here. Attic 03, I believe it should be. So duplicate and paste the So I think the rotation should be changed. So let's see. Then we need to rotate that a bit. And later we will create beams here to cover that distance. Okay. And then it's obvious that we need to place this one here as well. So let me duplicate Okay, now let's have a look on our result. And it looks like we need to create the front mesh as well. So just duplicate. And I'm going to find the mesh. Let me see the name, okay? Wall eight by four. I rename it to be able to be found more easily. Okay, compile, save, and let's go for the rest of the building. So let me see what we have here. I think we could find a mesh to cover that distance. So we have a couple of four by four walls for that side. So for now, let me take these two. Duplicate There should be another one in here as well. Okay, now I could duplicate these two for now or duplicate this one instead. So Control D and then bring it here. Control D once more, and then all you need to do is offsetting that mesh to the other side. Compile and save. Now there's one more in here that we could create using these two. Duplicate there's one more in here as well. And because we're using grid, it's very easy to find their place. Let's replace them with four by four walls because these are four by five. Okay, compile, save, and you see the result so fast. Okay, now that side of the building is not going to be seen in the composition. So if you have time, you could easily just take that mesh and create new ones for yourself. But since it's not going to be seen, I'm not going to care that much about it. So let's do something. I'm going to take the same mesh. And it looks like by using the same mesh a couple of times. Now, let's rotate the mesh instead. Okay. Now could use this variation instead. So duplicate, bring it over to here. Now, we created the buildings. I mean, the structure of the buildings. This is going to be a bare bone so that we could later add details that we want. So it looks like there's this one as well, which we could change. So right click change with that, okay? You see now we created a good composition. The buildings are here and there are bare bones of what we're going to create later. We just needed to place them here to test the composition and see if that is going to work all right. So now that we found out that they're going to work all right, from now on, we're going to go and create these meshes, the port meshes and the connectors to the island and some more meshes, as well. So I'm going to pause and see you later. 21. Creating The Platform: Okay, now that we have placed the buildings where they should be, it's time to go and create the platforms for those buildings. And I mean the measures that we have placed here. And there are two methods to go about them. Let me just expand this so that we have a bit of more place. One way is to create kits for this one, as well. And let's try to just show that by bringing some of these. Okay? Let's say that we create meshes like this and try to expand our world with these kids. Okay, using a modular method like this. Okay? It's going to be valid. But it limits our ability to create more special pieces, for example, having random twists in the object or creating better results. So now I'm going to take these measures, and first, I'm going to try to expand them, to have a better representable shape because I want to create not only the platforms, but also we're going to create ladders that connect, for example, this one to here so that we have a connected city overall. Okay? Now, let me bring this. I'm going to rescale these to a more agreeable scale. Okay, let me bring that. And then in here, we will create beams to connect that to water and then create ladder to connect this platform to this one. Okay, let's take a look at this one here. I'm doing this because I'm going to create a special meshes for these instead of going modular like these ones because I'm going to take the dimensions, for example, 40 meters by 18 meters and then create a ground there in blender and let me take these and bring them back because we no longer need these for now at list. And now I will create a mesh let's create something, for example, let's say that we go create 14 by 18 meters. Now we have this mesh to be filled. We will have a lot of freedom to create a special mesh using this method instead of going modular and try to repeat kits one after another. This is because I'm just taking these and then trying to see where actual scales are and then try to represent them in blender and then try to create kits there. This is going to connect this to the ground, but also we're going to create a ladder that connects this platform to this one. Now let's do something. We have a platform here and I could take this and try to offset it a bit. Let me find it in the content browser. In the world layout, excuse me, that is this one. I'm going to bring that here so that it's realistic, not just lying on the ground. Okay? And then this one, and then this one. We'll bring them back. Okay, we create one platform here and let's do something. I'm going to delete that, and I'm going to expand this platform twice. To create a ground so that we could host these as well. Okay. Let me go here and see we have a layering effect. We have a platform here that is going to be connected using ladders that we will create using wood and rope. And then it connects to here. And let's do something. I'm going to take the mesh. Let me see. Okay. And then I could bring this one up like 2 meters. Okay, now 4 meters. Now after that, we will create a platform to be connected to here as well. So let me just bring that back to a more reasonable scale. Okay, I just want to be realistic. That is why I'm focusing so much on delivering such a result. And after that, we could take the same platform, bring it up, and create a letter that connects to here. Okay? Let me find it in the content browser or in the world layout, excuse me again. Then we could bring that back and try to see the composition and then this will connect to the ground as well. So now let's do something. I'm going to take one of these or let's take one of these, okay? Now I'm going to duplicate, bring it over there to tell the message that there's something there. Okay. Very easy. And that is because that is a blueprint, whatever change we reflect here, it's going to be added there as well. Okay, now, let me again take one of these meshes. Let's bring this one instead. You see that layering effect is very heavy on this side, but I'm going to keep this side relatively simple at least for now. Now you see if I take this one and rescale it back and then bring this one to here, I'm able to create ladder that connects here to here. So now let's see about here. Let me expand and try to see that in the composition view to see if we like the scale. Okay? This is good, and this one is okay as well. So now let's see about this one, I want to have something like that here as well. Okay. So this is going to be connected as well, using a ladder or something. All of these are going to be connected using beams to the ground. Okay. Now we have the scale of these platforms, and of course, for the height, I'm not going to make them so pronounced. I use something like this instead because these are planks and I do not want to create something that is like the concrete. Okay? Now we have these scales. It's time to create these scales and use the previous kits that we have created already in blender to try to create platforms. Oh, in blender again, now we need to take this and re scale it to one of these kits that we already have. So let's start with this one. Now, this one is the closest to background. So now let's go for 18 meters plus 14 meters. Okay. And now in blender, we need to swap these 18 by 40, okay? And now I need to bring the pivot in the center because I want to make the pivot centered. So that reusing would be a lot easier just by taking the kit and try to rotate them in the world. Okay? Of course, later, we will create protectors as well. But for now, I only focus on creating the platform itself. Okay. Now in order to test, I'm going to bring one in the center to see which direction should we start from? I want to see this one in here. Okay? Now I'm going to take this and join. Now let's take this one and join to that so that I don't want material to be affected. So let's create a different material for this one so that when we join, it doesn't affect the material. I'm going to select this one and this one is active so that I inherit the pivot from this that is centered. Okay? Now I'm going to call it static mesh platform 01. In Batexs as well, I'm going to disable one material ID because we already have two material IDs here and later we will expand that as well. Now I'm going to export and test, and if the direction was correct, we will try to create. Of course, if the direction was not correct, we could also rotate that as well. The rotation is there to help us. Let's do something I'm going to import and Okay, it's going to be here. If you sort them by the modification time, you will get the latest measures there. Okay, I'm going to convert that to nanite and disable the light map UVs. Okay. And now we have that one here. And then we could create a blueprint using that. So now let's do something. I'm going to create a new folder or let's try to create here blueprint actor and then call it BP Underscore platform 01. Okay. And then in here, I'm going to add instanced static mesh. Platform 01, and then I'm going to bring that platform mesh. We need to apply one instance so that it gets visible. I'm using blueprint because later we will create more modular meshes and bring them here and try to sort them around here. So now I'm selecting this and right click Replace with platform. And now because the scale is off, we need to set the scale to one. Okay, so that it returns back to its correct scale. Okay? Now you see the rotation is correct as well, and we are seeing that plan here. So now let's start creating. And whatever we create in blender, we then export it only with one click and reflect the change in real engine. Okay? Let me just explode the mesh to lose parts. Okay. And we need to take this name and not change it because it's going to overwrite the previous mesh. Okay? Now let's do something. I'm going to reuse a lot of these meshes on here to create the platform. So I'm going to start with these. Okay. And of course, you could take these measures and explode them and change whatever you want. Okay. And then in order to change something, randomly, I could bring this one here. Okay. You see, now we have some randomness here. And if I take that and join export and then reimport the mesh. Let me find it in the content browser. If you change the mesh, it's going to change whatever you have imported. Okay, and you see the changes being reflected everywhere you have instanced that mesh as well. But since we do not have correct material, it's all shiny. Whenever we bring the materials, it's going to look a lot better. So now let's try to think in construction. So I'm going to duplicate these measures and then try to create beams to support the real construction methods. Okay. It looks like they are created with beams, and then these have been replaced. Okay. And then I just take these to create something logical and think like a constructor. So shift the Let me scale that. And then bring it here. I take all of the Mans one active object, Control J, export, and I want to see the changes reflected in Unreal Engine. Done and you see now it has a supporter as well. And then we could also take some of these and try to create an underlying construction as well, so that when we remove some of these planks, we see the construction underneath these planks. That will make it a lot more realistic and a lot more readable. So let me take this and bring it. Okay. And then I could bring these down. So let's activate the wireframe mode for now. And then I take these two and then try to duplicate it a couple of times here and there. Okay. Because that is not a mesh that is really crucial to the composition. I'm not being that careful about the placement of the mesh. Okay, scale them in Y. Then duplicate once more and remove the extra unneeded planks. Let's try to randomly remove some of these as well. Of course, that is not going to be visible. So again, we're not going to be that careful about it. Okay? Again, I'm going to take that and this one active because I want the name to be that one. Okay? Now export once more, and then re import the mesh in unreal. And the change is reflected, but since it is hidden here, it's not going to be that visible. Okay? Now because we have the borders defined, I'm going to remove that white plane. Okay? And then I re export once more, and that is going to look a lot better thinking like a construction worker, and then reusing the existing material to create what we wanted. Okay, I'm going to replace the blueprint with this one as well to save a bit of time. So now let's do something. I'm going to take the blueprint and select this one and replace it with that. And we need to change these back to one by one by one. So it looks like we need to rescale No. Let's leave that bit later we will create this one as well. Or let's do something. I'm going to find my blueprint. Okay? It's this one. Then I place it here. Very easy. And then I remove that one Okay. And then the side of the building is going to be shown here, and whatever we create here that is going to be wasted because it's not in the composition is going to be shown here, okay? It's like cutting the work in half. Okay. And then I could take and in order to make that a bit realistic, I'm going to bring that back so that we have later, we will create beams to connect to the ground. Okay. And now we have different hits that we could bring here and try to connect. So now let's just take these. Shift the and bring them here. And then rescale them a bit. Let's bring them up a bit. And then I could easily try to bring these here and try to create the kits like Lego. Okay. And you see a lot of irregularities have been created here, which is very good. Okay, now I'm selecting all of them. Now, let me deselect that. And then copy these so that later we could use them a bit more. So now I select all of these and this one as the active object. You see, it's in orange, so Control J. Now the pivot is there, and now it's correct. So reexport and then we're going to reimport it back very easily. Now the changes are reflected, and it's time to go and create the rest of the kits as well. So again back to blender Let's do something. I'm going to just separate these so that I see what I'm separating and placing here. And since it's about kit bashing, I'm going to bring the pivot to the center of them so that it's easier to manipulate them and use them. So let's bring them above the ground just a bit. And then now it's time to use it like a lego piece. And try to create different variations with. And later we will add more variations to these as well. Okay. Let's finish the borders. And then after finishing the borders, it's a lot easier to build this with extra geometry, okay? Now this is going to be our mesh re export once more, and then re import once more. Okay? Now this is done as well. And in order to save a bit of time, we could take these and try to replace them with the same one as well. So let me bring that because that is versatile enough, we could easily just take them and reuse them on each other's place. Without creating problems. Okay. Now, let's remove that. And you see now, this is showing a lot better. Okay, and then let's do something. I'm going to replace that with these ones as well. And you say it's working perfectly there. And the only downside is that we use only one mesh, and repetition might be just visible a bit. So let's find this mesh. Because I want that to be exactly on the ground. So let's find the neighboring mesh as well. And then later we will create a lot of surface variations on these. We might break some of them. We might bend, twist the form or whatever. And if you want, you can just try to create more of these deck platforms. But since we're going to use or save a bit of time, we are using one. But you already know how to use a couple of them or create a couple of them. And I'm going to bring that here. Okay. And since here, we could duplicate it there and try to remove that. There's a bit of placement that we need to create Okay, and then we could take these two and bring them to this side. And then I could take one of them and replace it with this top platform as well. Okay. Now let's go to our composition view, and it looks a lot better. Course later, we will add more variations as well. But now we have consistency and optimization and reusing in mind. We created one mesh and duplicated over a lot to create a versatile composition, okay, return back. And later we will explode this mesh and try to create a lot of variations in it. But for now, So now it looks like there's some missing geometry in here. So let's rotate that. And it's good that we are seeing some of these geometries revealed to tell the story that some of these planks are missing and they're gone by some reason. M Okay. Now, this one is the active object, Control J to join them. Now you see, we have a mesh that is getting completed. So export, make sure that the name doesn't change. Okay, and then re import it back. The more complex the mesh gets, the more loading time it's going to get. Oh, it's good. Now, we could easily bring again some of these kits. And try to place them on the platform to code it. Now let's take this mesh. I'm going to explode, bring the pivot to their centers. Then I could just easily try to bring them here. Okay, you see that? This is very free form, and we're getting a lot of good results. Okay. Now there's a bit of geometry that we need to fill and call the Swan Don. Okay. It's, it's just like creating a lego piece. You get the geometry and create what you want using those limited kits and create a lot of special pieces using that. Okay. Now I'm going to bring some of these planks and place them here. So now let's do something. I'm going to take all of this and this one active. And let's go to material preview. Okay? This is a preview of the material of the mesh that we created with the material. Of course, only the base color. Okay. And now once more, control J, and I'm going to export it. And then in here, re import it back. Okay. Now the creation of this is finished, and later we will create variations, plus creating a modular kit to be used as beam to connect to here. So I could take the landscape as well and bring somewhere around here so that we have more possibility for creating measures here. So let's do something. I'm going to take these measures, take these blockout measures, and let's select one of these modular buildings. Let's select this one. And then I'm going to replace it. And, of course, rescale the meshes. Okay, now let's take that. Let's rotate it to see. Okay, not too bad for now later, we will decide to see if we need these to be there or not because there's a bit of illusion in here. If you create the platforms, excuse me, the beams that connect the platforms to the water, it's going to then be a lot better. So I'm going to pause and see you in the next one where we go for creating those beams. And in order to save more time, we could create one beam that connects this one that is the tallest one to the water, take distance and then reuse it on this, and it's going to be hidden here. So that is going to be one way to optimize the results a bit more. Now I'm going to pause and see when the next one. 22. Creating The Connections: Okay, everybody, now we created the platforms, and now in order to make that even more realistic, we're going to create base for these platforms because these platforms, if you think of them, they're not standing on the air. So we need to create base that whenever we create the water mesh and the water material, it's going to just convey the message that these are connected to the island and built on top of the water. So that is going to be very easy because we have the kits already and the kit is so robust and versatile to support our ideas. And for now, if all of the measures are the same, do not worry because we are going to add variations. For now, we are going to build the idea. We need to make sure that our ideas are working fine. Then later we will go and try to create a lot of variations. For example, we will brick some of these planks, we will add variations. We will deform them. And so on. Okay? Now we're going to create the base that is connecting the platforms to the ground, and we're going to create fences to avoid people from falling into water. And then we're going to create something that people use to get on these platforms. So it's going to be beams, fences, and then a bit of empty space here to expand the platforms so that there's a bit of extended geometry in here to allow people to enter these. So now let's start with the beams because they are the most straightforward ones. So now we have options. We have this platform in here, and it's working all right. But the problem is that if I change something about this, it's going to be reflected on all of these. So now, this is where I'm going to duplicate this twice and maybe three times or so to allow for more variations because the platform itself is going to stay the same, but the fences and the beams might be different according to each. Okay, now let's go to blender, and then here's our kit. Okay? Now we know that this is going to be our platform, and now we have some geometry left here that we didn't use on this platform. So I'm going to rotate them around Z by 90 degrees. Okay? And this is going to be kind of mesh to allow people to enter those platforms, okay? Something like this to extend the platform. And let's do something. This is what we're going to do later for some of the meshes, but I'm going to introduce that right now. You could just search for randomize, and then you could see randomized transform. And this allows you to use these kits and add a bit of randomization, including the location change. And you see it changes the location and they're not correcting they're not creating a line. They're not that simple. They're not creating a simple line. So now let's just try to add a bit Okay? This is what makes that even more realistic. And then we need to change the randomize a bit under rotation. No, not here. And because the pivot is in the center, they support all of the movements that we create here perfectly. And for scale, I'm not going to do anything for now. Okay? You see now we created not so bad platform. So now let's do something. I'm going to take these, bring them back, and try to use these beams here. So now, let me do something. I'm going to place one in here, and then one in here. Okay. Now, let's bring this one as well. So I'm rotating that 90 degrees because I want to create something that wraps around these woods to hold them together. You see, I'm thinking just like constructor. And you should do as well using this technique. And later, we will add variations to these. Do not worry because it's an iterative process. You should wait sometimes to get the perfect result. It's like something like time consuming process. Okay? Now I created that. Let's do something. I'm going to take that and duplicate it so that it could support a better distance. So now I'm going to take all of them, and let's make this one the active object control J. Okay. And now let's call this one SM representing static mesh. And then platform and 01 if we wanted to create a variation or something. Now let me place it in the finished folder, and then I'm going to export. I don't want to use one material ID on this because later we might add rope or something additional to that. So now here is where we're going to create variations with blueprint. But before that, let me go to my meshes folder and import this Okay. And then we could just easily try to bring that and try to use it here. But I'm not going to do something like this because that is going to be a bit heavy for performance, and I'm going to use that as instant mesh to save a bit of performance. And the problem is that if I add that blueprint, let me just remove that from there and go to my blueprints folder. And if I let me duplicate and then bring that platform and the problem is that if I bring that, it's going to affect all of the measures, and we do not want it. And we want to have some variations here and there. So this is why I'm going to create different blueprints, okay? See, it has affected all of them the same way. Okay. And now since these are instanced, we could also take these and try to change them in real time here. So that is one added benefit of using instanced meshes. So I'm going to use that. Let me bring that here. And now that I'm taking a look, I see that this mesh is a bit too much. Let me see the dimensions, okay? It's 4 meters in here. So let's do something. I'm going to go for a two by two mesh because I believe that should be better. So now let's go for three by three. And then export and because we have clear transform, excuse me, applied transform, it's going to change those values and then export them. So we do not need to. Okay? And then let me go to my meshes folder and then right click and reimport. That is going to rescale that on all of the instances, which is great. Okay. And now I think it's going to be a lot better. And we could take these instances and even delete them if we want to. Let me find where that is. This one is in here. I could rotate 180 degrees and use that machine. So this is how versatile our kids are using this method. And then I could use this one as well. And now let's go to our composition view and see what is going on. So this one could be changed to here. Okay, so let's find this one as well. I could rotate that 180 degrees and you could also try to create your own meshes if you want to. You could create more meshes than these ones. We could also create the illusion that these are connected using staircase or something. Let's take that Okay. This is good. I'm happy with it. It looks like there's a staircase or something going on. Okay. And now it's time to create some beams for these some real structures to hold these on top of the island because they're not going to be staying on top of the air. Okay? Now, if I take these and duplicate them and bring them here. I could easily try to construct a beam structure for this. Okay. Now let me take this one as well. I think there's one mesh left here. Okay, let's remove. And then we could try to use this mesh all around our platform. And this time, I'm really going to create some variations because it has been instanced a lot in this here. So let me join these. Okay. And then I'm trying to bring them here and use other variations like rotating them in different directions to use different faces. And let's try to place them even rotate around Z by 90 degrees to use the other side. Okay. And now we need some vertical, excuse me, some horizontal platforms as well. So horizontal beams. Okay? I'm then trying to take that duplicate and use them here. Okay. You see? Because we are going to create so much variation. Let's add a bit of rotation to them as well. So now I'm going to take all of these and this one Control J to join. And let me bring the pivot to the center. And later we will add the formation to this mesh. But for now, we need to just export these and see how they work. Okay? Now, let's call it static mesh platform. Connection, and this is going to be 01. Let's export. And then I could easily import here. We should convert to Nante and disable the generate lightmap UVs. And then we could add to here. So let me add instanced static mesh. Let's just call it connection. And from the naming here, I could select that, and we need to apply one instance. So it's here, and then we're seeing that perfect. Compile and save and you see it has applied on all of them, but there are some changes that we need to make and that includes just rescaling these in blender because I want to see more of them, but they should be a bit tinier. Okay? So now before that, let's do something. I'm going to find these two because I'm going to okay, open the composition a bit more. Because I want to have a bit of space for the boats and transformations here. Okay. So in blender, let's do something. I'm going to go to Edit mode, and this way it changes all of them at once. But if you go and change the pivot to individual origins, if you try to scale, you see it tries to change each one based on its center point. Okay. And this way, you're able to change the dimensions and scales in the edit mode. Okay, let's export and reimport that once more. Again, I'm seeing that they are scaled too much. So we need to change the scale a bit more. So I'm taking these plus these. Okay. Now let's try to test. So now, it's a bit better. I could take these and try to scale them even more just a bit. Let me disable the snap Okay. And now that we have a scale defined, we could add more of these. Okay, shift the rotate. And then these ones could be removed. Let me export and then reimport. And now we could do something. Let me take this, try to scale that. And this one could be deleted. I have something in mind if I take this rescale I need to just create a bit of changes in the composition. Okay. I'm seeing that this one has a bit of problem, so it fixed. And there's one in here which we could easily delete. I quickly changed something about this level. I just went to outliner and just cleaned up some of the folders. So let's see what we did. We have one folder in meshes, and that is if I remove it, we're going to remove everything in the scene with one click, we're going to disable all of them. And now we have a couple of folders, one left, which corresponds for the buildings on left. And then we have one that controls the buildings on the right so that we could control them using one click. Okay, if you want to disable these or if you want to disable these. Now I'm going to change the composition a bit by trying to take these buildings on the right and push them a bit to the edge of the screen so that we have some space left in here so that later we could bring some boats and rafts and things like that. Okay, I'm going to select all of the buildings here. And then let's see what we could do. Okay. I'm going to bring them back a bit. And see the composition now. So it was not that great. So let's just bring them back a bit, not that much. Okay? Now you see we have more here left for future if we wanted to bring boats or things like that here. Okay? Now it's time to create more of these connections. Okay? Now let's do something. I'm going to take these. But we already know that we need to shrink these scales. But not that much. We're going to join these, bring the pivot to the center and then join these as well and bring the pivot to the center. Later, we will add variations to these. It's only now about sketching and later we will create variations for them. So let's rotate 90 degrees. Okay, not too bad. And then I'm going to rotate. So they're going to rotate all around their pivot. Let's go to Bounding Box. Okay? This is going to be a bit too procedural looking. All of the lines are simple and flat. Later, we're going to change it, but do not worry. So let me join all of them, bring the pivot to the center, and then let me see the name from here. And this is going to be connection 02. Okay, and then export using bat eggs, and then simply reimport and try to test it. Okay, let's see. And the mesh should be nanate as well. So now, I'm going to my Blueprints folder. And then I'm trying to add one instance using this, okay? Just duplicate and from this mesh drop down easily we could select that one. Compile and save. And that's looking too flat. You see the symbol line being created. So let's do something. I'm going to just bring these back to break that repetitive line. Let's bring this one here. And this one here. Let's go to local Okay, not too bad. They're now looking a bit better with removing some of those flat lines. But again, these are flats a bit. We could change them just a bit to correct the composition a bit more. So because that is a fix that we need to do, let me just do something. I'm going to bring these two in the center of the world, disable the rotation. And then let's try to hide everything else. And now I'm going to take these two and apply rotation values. So it looks like it's already done. So now let's do something. I'm going to bring something that is called lattice. Okay? That is here, and I'm going to rescale that lattice around the borders of the geometry. So go to Edit mode, right click four by four, and now I'm going to select the mesh, and in the modifiers drop down, I'm going to bring the Lattice deform modifier. And select the lattice. And now if I select my lattice points and try to change them, it just tries to break the boundaries of the mesh so that it's not that flat looking anymore. Okay? This will just make that a bit more realistic by just changing the silhouette to something else. So now let's export at that was the lattice number two. Excuse me the connection number two. So that is it. Reimport. Now it gets a bit buggy because we rotated the lattice. If I go to my platform, you see, it changes here as well. So let's take and rotate 90 degrees and this should fix the issue because we rotated the lattice in blunder by 90 degrees. So by changing the rotation back to 90 degrees, we are able to fix some of those issues. We shouldn't have rotated 90 degrees there. So it didn't fix, let me go back then in blender, I'm going to bring them back to their I'm just pressing Control C to go back. Now these are on their place and now if I take them and export them and then re import both of them, it should fix the issue. We shouldn't change the rotation at all. This was a problem and now they're back to their place. And this was what we talked about previously when we were talking about keeping the pivot scale naming and all of that the same. Okay? Now I'm going to apply my changes just here. I'm going to bring the center of the world to this origin of the mesh, and then bring a Lattice modifier. Okay. And four by four and then take this mesh, add a lattice modifier and select that lattice. And then we could change these lattice points to add a bit of variation. Just go a bit freestyle to see what you can do with these export, but do not change the rotation values and the pivot. So it should be Lattice number two, excuse me, the connection number two. Now let's change something about this one as well. So let's bring the origin to selected and then Lattice right click four by four. And then select the Lattice modifier and select that lattice and just change the lattice values. No, not that much. Okay, now export. And then let me find the the connection, excuse me, I constantly keep saying Lattice. Well, because some of the lattice, excuse me, again, some of the connections are hidden underground. They're not getting visited when we go to Composition View. So that's why we need to take the lattice and change even more but to reflect the changes. Export and then re import. Now we are seeing some of those changes, and we could also rotate these 180 degrees to use the other sites. And let's take this. Because I'm going to try to scale that Okay, that's a bit better. So now, some points need a bit of changing. For example, here, I could try to change a bit And now we could do something. Let me take these, compile and save. I'm going to take this connection and then duplicate and rotate 180 degrees and use it on the other side. They just need a bit of changing, compile and save. Oh, looks like there's some changes that we could do. For example, no. Let's keep them. So this is one platform mesh that we created. But that's an artistic choice if you want to remove some of these connection parts that we have created because if you add too much of them, it would look like that there are buildings that belong to the current age, not so long ago. So that's why I'm going to stop placing so much of these So let's go back. And I'm going to stop this lesson and think a bit about it to see which direction we need to go for. Okay. See you in the next one. 23. The Stairs And Variations: Okay, we created the connectors that connect these modules to ground. But of course, they're going to be subject to change later. We are going to make them a bit more natural because they now look like something manufactured just like today. So this is not going to be something that we are going to use. We will bring some of those bark measures that are a bit more freeform in shape, and then we will change a lot of these. For example, you see, just take this one in mind that by just changing some relatively simple transform values, we were able to create something like this from these. Okay? All of these are going to be subject to change. It's a matter of time to get the perfect result. So now we are going to create stairs that connect these platforms together. Okay? Let's start from here, and the workflow is that I'm going to bring in cube. So you go to your create panel and shape and cube. Okay? Just rotate that to match the dimensions and see what you want. Okay? This is to define the borders of that platform, of that ladder stair that connects these platforms. Okay? Why am I doing something like this? That is because later we're going to export these and these files are going to be exported to blender. Then in Blender, we have the borders defined, and then we could use that to use these dimensions as a guide to help us create what we wanted. Okay? Let me just copy that, bring it to here. So this one is going to be a bit different. These are going to be used for the blockout and just to define the borders. Okay. Let me just copy and bring it here, and this is going to be used in here as well. So it should be fine if I just rescale And this is a great thing about this workflow. You see, we are creating this complete village just using some simple kits that we created previously. And, of course, if you have time, you can create a better kit to support a lot of more ideas. But you already get the idea. Okay? Now this is the third one. Now I think the last one should be placed here. So let's go to Composition View. And instead of that, I have in mind to create a bridge that connects this floor to this one. So let's do something. I'm going to sketch that first to define the borders. Okay? It's going to start from here and face to this direction and it's going to continue to there. So just copy your modules Okay, that is going to be something to connect that there as well. And then I'm going to take this one and create a ladder here as well. So because this is going to be hidden partially here, whenever I created the ladder for this one, the stair, I'm going to bring it and copy that here. I'm not going to create a special mesh for it. Okay? You see how we created a stair system that connects the village together, and then I'm going to take all of these meshes because I need to export these to blender. Okay, let me just see and it's okay. So go to your file and you want to export selected. And then just name it something and save you want to save as FBX. So we do not want level of details to be exported, and it's okay. So now we are in blender and let me import. And this is our sir blockout. And if I see them here, you see, they are offsetted from the world, just like the way that we created them. They're far from the center of the world. But it's not a problem because these are only for blockout purposes that we're going to use. So now let's do something. I'm going to delete these and I'm just going to remove these as well and save this one as a neocnee. So let's delete these and these ones that we are not going to use, okay? So let's do something. I'm going to reimport them back. Okay? And then something is going to be removed. You see this is it's written UCX and it means that it's the collision file that we do not need, okay? Just remove that. Whenever you see a UCX file, just remove it. It's the collision file that has been exported with it. Okay. Now, so now in order to keep these together, I'm going to take these and join them. So first, select something as active object, join let's take all of these, apply anything, bring the period to the center, and then join I'm going back a couple of steps. But whenever I try to rotate them or join, whenever I try to join them, it's going to create some bugs. So instead of joining, let's go for parenting them. I'm going to select all of these Shift P or control P to parent object and keep transform. So now, whenever I change this one, it's going to change all of these with it as well, which does the same job as we wanted. And let's disable the rotation as well. And then this one is a copy of this. So I'm going to remove that and bring these to the center of the world, plus the Sabond rotation. Okay? Now I could take this one and bring it here as well. And now we have the borders that we can use as a guiding line to help us create our stairs plus this bridge. So I'm going to leave the bridge for a later lesson and start to work on this. So now I'm going to bring the pivot here Okay, and then bring it up top so that we could start working on the grid on the level of the ground. Okay? Now let's do something. These are some triangulated faces that we do not want. Select and go to your face mode, right click and triangles to quad. It's going to remove those plus these lines could be removed so that we have no barriers to help us see a bit better. So now let's start from here. Let's first bring the pivot to the center. Okay. This is going to be start, and this is going to be end. So I'm going to bring one here. Okay. Now we're going to fill this area with planks, and that is going to be so easy. Okay? Just bring these here. A. And then try to create your results with it. And you see the methods that we're using are very easy and they do not require a lot of knowledge to create levels like this. Okay. And then we test it in the level to see if we like it or not. And if we liked it, we will just go and reiterate on top of it. And if we didn't like that, we will return back and change. Okay. Now let's do something. This is cube, and it's the first one that we created. So it means that we know that where this is going to go for. So I'm going to select this one as active object to take the pivot from there. And then it's going to be static mesh there's 01. Okay? And then I'm going to export it and then test it in Unreal engine. And if you like how it looks, we're going to return back and correct some of it by placing beams and supporters. So here real engine, and I believe that it's cube, okay? It's going to be placed here. So let me go to my content browser import, and here's our final folder. Make sure that it's Nante and doesn't create light map UVs. Okay, then I'm going to select that right click here. Okay. First, we need to make sure that we change the scales to 01 and because the pivot was off, it was off on the cube because it was in the center of that cube. Okay. It's good now. Or we could hide one of the planks. Okay. Now let's go to our view and you see it has been created, but we need to create beams and supporters for that as well. It's just going to make that a bit more realistic. So we no longer need this one or let's keep it because we want this to be the borders. So let's try to use these. First, let's scale them like so. So that they're all in the same direction. And let's do something. I'm going to bring the pivot here because I want to be manipulating them from here, like so. So just select these and bring the pivot there. And let's hide everything else. Okay. And whenever we have these planks, I'm going to place one. So let's bring them to the side. And of course, because these meshes are created in variations, we could rotate them to get another variation of those. Okay. Now I'm going to use a boolean on these. So let me just select that cube. Let's first join these and then select the cube. And this one has the active object control minus if you have activated Bulltool set it to fast. Looks like we need to flip the normals. Okay. Now you say it cuts the geometry. So let's do something. And on these ones as well, we're going to flip the normals. Now I'm going to extract something from here and delete this cube in here. So now, take these faces, create a new phase, and you see now it created a cube up top there to remove those. Okay? I'm going to apply, and then if we remove that cube, it's not going to be any problems. So now let's scale this one as well to match that. And then we could join these and try to use them on the side. Later, the variations are going to be created. Do not worry. So let's go back. And then we need to bring these beams and use them here. So first, they're going to be scaled One of them is going to be placed here. Okay. Now let's delete that one and bring this here and rotate to use another variation. And again, rotate in this direction. So now I'm going to select all of these except for that, and then this one is going to be the active object to take the name from that. Okay. Now let me export that once more and then reimport to test it. So it could be scaled a bit like so. So now let's change the direction. First, I'm going to explode the mesh. And I'm not going to change this one because this is going to keep the pivot and the name. Okay? And then let's bring the pivot to here, and these are going to be just facing the way that stair is actually. And then I'm going to remove these and join it. And why is that? Because I'm going to create a plane that faces here. So let's do something. I'm going to copy this plane, Shift D to duplicate it, and P to separate by selection. Okay? Now, this plane is going to be our boolean. Okay. Okay, it's this one. So now I'm going to bring that to center, expand, and then expand in this direction while in local transformation mode. Okay. Now I'm going to create a mesh from this Press E, then right click to disable that, go to Global, bring that up. We created a Boolean mesh from that. Let's see about the face orientations and all of that. It's okay. So now I'm going to select this one and this one active object control minus. And you see it cuts those geometry into this very easily. So now let's take these two and bring them up a bit to hide those errors. And then we could easily just bring them back to here, and it's done. So now, let's take these, and I'm going to bring them as a foundation So let's do something. I'm going to bring this pivot to here and this pivot to here as well. And why is that Because I'm going to bring them to here and then rotate them to match that. And why did I do such a maneuver? And that is because we wanted to bring this and use it as foundation for the rest of the planks, as well. Just a bit of rotation, and you should be good to go. So I'm going to scale like so and then try to duplicate it a couple of times here. So we created a simple stair, and this is going to be our mesh. Let's join and export and then reimport it to see what we have done already. So now it's a lot better, and it's much more natural as well. So let's do something. I'm going to take these and then bring them here to act as a foundation that connects to the ground. So let's export and then re import. Then we need something to connect to this platform as well. Let's do something. I'm going to take these two, shifty rotate. It's all about storytelling. Like, our story should be logical. It should have a base in reality. Okay? And then We could use that like this to tell the story that it has been connected to that using this mechanism. So let's reimport once more. Okay? You see now, it's a lot more natural. But there's one thing, and I need to take these two. Scale them just a bit and bring these here. So export once more and then re import. Okay, now it's a lot better. So because we know that this is going to be replaced here, I'm going to take this one right click and replace with that stair. So scale should be changed to one by one by one. And then there's a bit of placement very easy. But there are some bugs here because it's clipping through the building. So that is a choice that you have if you want to use that building in that way. So let me rotate that by 90 degrees. I have something in mind to expand this. So let's see what we do. So I'm not liking that. So let's take that and delete. Now we have more stairs to be created. And now let's do something. I'm going to reuse the same geometry, but scale that to other pieces. So now, this is going to be scaled so let's do something. I'm going to create a lattice modifier. And that lattice is going to be around these proportions. So let me bring the pivot to the center, and I'm going to bring the world zero, zero, zero to the point to selected, and then I'm going to spawn a lattice here. So now this lattice is going to be exactly on the same directions. Okay. Four by four by four. And then I'm going to use this to match this one into these directions. Plus, it gives us some benefit to be using some free form shapes to help us get a better result. Okay, I'm going to select that and go for a Lattice modifier and select this. And now let's make this one visible. We want to use these Lattice mode to bring these into these borders, basically. So out. Let's see what we have. And then let's do something. I'm going to bring another Lattice modifier. This one. I'm going to use proportions like that, and then let's go four by four. I'm going to spawn another Lattice modifier, and this time, I'm going to select the Lattice number three that we created. And using this lattice, let me hide this. And using this lattice, we're able to change some of these a bit better. So you see, just by using these, we're able to change the dimensions a bit more and use a bit of more free form shape. Okay. Now, let's take this. Of course, we should duplicate it and rename it to Lattice 02, excuse s02, export, and then import and use it. Okay, I'm going to select that right click here, replace actor and with that. So it's going to be one by one by one. Us placing that the way that it should be. Okay. No. Let's go here, and you see it's different. Although it's using the same geometry, but since it's using the Lattice modifier, it's going to look different. Of course, if you have extra time, you can go and try to invest more time and create other results. But since we're a bit limited on time, we are reusing as much as possible to get the results. So now it's time to go for this one. It's the cube number three. So let's find it. Let's apply the Lattice modifier here. And then remove these and go back. This is the first one, and we do not need that Lattice modifier there. So this is cube number three. So it's cube number two. We should have replaced that with this one instead. So right click And then the rotation should be fixed a bit. No. Let's go back, remove that. Let's replace Okay. We could use this one in here as well. So Now we saved a bit of time by not creating that. So we are left with this bridge now that I'm taking a look, I see that we have the possibility to create another bridge here as well in here that connects this platform to this one because in terms of height, they have more contrast than these two. These are probably the same height, but these two have more contrast and will create more possibilities for creating a good bridge. So I'm going to create a couple of bridges. I wanted to create it in this lesson, but since they are going to be two, I'm going to pause and continue in the next one, of course, after creating the blockout for the second bridge. So I just need to define the borders just like the previous one, like so. Okay. And then the last one is going to be placed in here. So we have some area to be filled, and I'm going to create something like arc, an arc shape while this one being more straightforward. So let me define more of those borders I see that in the viewport. I wanted to have an arc shape. Something like this that has curvature to it. Okay. Now I'm going to select these. It's fine. Then export selected. And then I'm going to name it bridge lockout, and we do not need collision as well. Export. So then here if I import that, it's here, bridge, lockout. Let's see where they are. Okay, now, because we deactivated, the collision files are not getting exported, so let's select all of these. Right click Transform to Quod and then all of these are going to be kept with the first one as a parent. So if they go here, see now, we have the boundaries defined for those bridges. One is going to be an arc going in this direction and one is going to be in this direction. So I'm going to pause now and in the next one, we're going to create those arc bridges. So see you in the next one. 24. Blockout The Bridge: Okay, now we have placed the stairs here and there is the fences that we wanted to create. They are remaining plus the bridge. We are going to create the bridge because we have blockout set here, and then we will return back and create fences. Ofurse, these measures are all subject to change because later, for example, we are going to create a rope kit as well and use that in construction. For example, some of these should be connected to each other using rope. And that rope, as well, is going to have some really dramatic shapes to break a lot of these flat lines. So we are now not near the end of the environment. We are going to create different passes. Iteration on top of iteration. And you see, we started with blockout and then went to meet Poly and then created real blockout modular kits and then started to reiterate on top of them, create kits. And then later we're going to add variation to these kits to hide the repetition. So now we're going to create the bridges, and now I'm starting with the first bridge that we have here. So we are in blender, and I'm going to use curve to deform my meshes around that curve. So what do I mean by that? If I create a curve? Let's say we create a Bezier curve and try to offset that looks like this is activated. Let's deactivate. And we are going to just call this a curve. You see in here, it's a curve rather than being a mesh. So I bring this here. Let's bring somewhere close to this mesh. I'm going to place the pivot here and I'm going to use this curve and let's take this mesh and add a curve modifier to it. So it's going to be the form and curve. So we're going to pick the curve, and we're going to change the direction to see which one is going to be responsible. Okay? You see based on that, let's go to negative Z. I think it's negative Z, no, I was Z. So let me take that and apply the rotation and this one rotation as well. If I take this, you see, it's trying to curve the mesh based on that curve it's going to deform the mesh based on that curve. Now let's do something. If I disable that and bring another instance of this here and bring it and connected here. So I'm going to take that and connect it to this control J. And then if I apply a modifier, you see the mesh is trying to curve like that. But since the mesh is a bit problematic and the curve is two, we're getting somewhere like that, okay? This is trying to take the curve and apply like that. So we're going to create first the borders of that curve. So let me bring in a simple plane. And using this plane, I'm going to use what's called the simulation. We're going to create a mesh that has the borders. Okay, let me bring it to here and I'm going to bring this one here as well. I'm going to create a mesh that follows this curvature. So in order to do that, let me apply everything, bring the pivot to the center, and I'm going to subdivide this mesh first because we need to be able to change the mesh quite a lot. Okay? Let's keep it quad. I mean, let's keep it square. And then what I'm going to do is creating a curve using these meshes. So let me take this curve and apply the proportional editing. Okay? You see now it's trying to match that using that curve. And you can change the circle of radius, however you want to create something like that. Okay? Now you see it has that shape that we want. So now I'm going to even add more variation to this curve. So I'm going to use cloth modifier. If I go to physics, cloth modifier, it's going to apply physics based on a cloth. Okay? This is not what I'm going to do right now because we need to make sure that this one stays at its place. So let me first apply that to remove it. And now I'm going to take these and bring them just a bit closer. Okay? This is going to be the bottom of the bridge, and this is going to be the top of the bridge. So let's just try to add a bit of variation. Okay. Now I'm going to add a cloth modifier. So the cloth modifier, if I bring that physics and cloth, we need to make sure that the ssh stays in the place. So I'm going to select these vertices on top. And we need to tell Blender whenever it tries to simulate to keep these in place so that it just like a cloth hanging on a wire or something to apply that effect. So for that, we need to go to our data properties and we need to create a vertex data folder. Okay? Now, let's call it. Now, let's take this one. And call it 01, okay? Now, assign. Now whenever I select and the select, I'm able to select this. Okay? Now, another thing that we need to do is applying a subdivision modifier to allow for a better deform. So first, if I try to apply the modifier, you see it tries to fall because it's not using the properties that you want. So in order to make sure that it stays in place and like a cloth on hanging on a rope or something. So in the cloth modifier, Properties, there's a property which is called shape. So if I bring that, it needs a pin group so that it pins these so that they do not change direction. So if I select vertices that we have selected already that we renamed to one, if I just press lay, it doesn't move, but it's not allowing to move others as well. So we need to go for a bit of shrinking factor to allow others to move. Okay? Now you see they are changing direction, but in order to have a better animation and physic, we need to have more subdivision. So I'm going to generate subdivision surface, but it's going to be before cloth modifier. So it subdivides the mesh first. It's going to subdivide the geometry first and then apply the cloth modifier. But let's do something. So if we bring after that, it's going to first apply the cloth modifier and then subdivide it. So we need to first apply more geometry here. Okay, and then apply the cloth modifier. So now, just see what it does. You see now the cloth modifier has done a great job in applying a bit of animation because we have more subdivision now. So let's go before and reapply our animation so you see it creates something like a cloth that we could take our curve from this and try to manipulate that. So let's go and change the shrinking factor a bit to allow for a more stronger animation, something like this. Okay. Now I'm going to apply the subdivision plus the cloth modifier. So what we're going to do now is taking this row of vertices or edges Shift D to duplicate and then P to separate by selection. And then this one as well is going to be selected Shift D, pusP to separate based on selection, and we have this cloth, which could be saved for a later usage or I don't know, but I'm going to create a new collection. And call it extra. Okay. And now let's bite it. I field later wanted, we could use it. Okay? Now you see we have some geometry that looks like curve, but again, it's not a curve. It's mesh. So in order to change them to curve, so that we could apply meshes on them, we could go to object, convert to curve. Okay? You see how it kept that to curve, and now we could go and use a curve. Okay? This one as well is going to be converted to curve. Since this one had a bit of animation going on, I'm going to take some of these that have deformed a bit more and remove those vertices. Okay? Let's take a look, and you see there's some direction in here. So we need to select scale based on Z, excuse me, and scale them based on zero to flatten that. Okay? Let's see about this one. So because these were pinned, they haven't changed at all. Okay, we have now two curves that we could use to deform our measures and be a guide for placing the bridge. So now let's do something. I'm going to go back and take two of these beam meshes. I'm going to bring them here and I'm going to create a mesh by joining these two. Let's join once more and rotate 180 degrees. And then join once more, apply everything, and then this is going to be our pivot. So now let's bring it somewhere around the center first, and then I'm going to apply the curve modifier, which we have been using so curve then on here. So let's see the direction that it needs to go. Looks like Z is the direction. Hey, you see, negative Z is working as well. But before that, let me bring it somewhere close to beginning of the curve to help with a better transition. Okay, let's apply everything, but again, we need to bring the pivot back to here. So let's take this one as well. Apply the rotation location and anything. So let me bring the curve modifier, select that curve. Looks like it's going to be in Z. So negative Z. And you see now perfectly it's trying to follow that curve and create the results for us. First, there's a bit of offset in here which easily could be fixed later. Now, I have something in mind because this curve modifier is non destructive, and it means that we could go take these measures and try to scale them a bit to make a stronger beam. Now we see it has applied that here. I'm going to duplicate use one let's select the pivot here. This is for testing. Okay, I'm going to use this and export it to Unreal engine to see if the bridge mesh is going to work fine. Okay, now let's rename it to static Mesh, bridge 01. Okay, I'm going to export and import it here. So here's our boulder, and let's keep all of the settings. And let's see where that is. Okay? It's in here, and we need to bring it here. But you already know that we're going to remove some of that. Oh, let's do something. I'm going to rotate a bit. If you hold down out and middle mouse click here, you were able to bring the pivot for just one time manipulation, and it will just return back to its original place. So now let's do something. I'm going to here and I see that it's a good one because that is far away and we need to have that in composition. So it's a good idea to make the shape stronger. So I'm liking the shape. So again, let's go back. I'm going to keep this. And then now I'm going to select this one as a curve. So let's remove and then I'm going to select this one as a curve. Okay. And then you could take that curve and try to change and see if there's something that you like or not. Okay. Now I'm going to duplicate one and bring that here. And this is going to be placed on top of the previous one to form the base of our bridge. And then we could easily just try to cut from here. So let's see where that is. Okay? I'm going to take that and take this one and use proportional editing so that we have this cap. And now let's take this one, remove, and then I'm going to bring this one as well and use it. Okay? Now, these two are going to be joined and the pivot is going to be here. So let's bring the pivot here instead of that. This is going to offset the mesh in Andrea engine, which we have set to prevent But it's necessary move that we are going to do. Now export and then re import that and test. You see now the mesh has offset a bit Okay, but these ones are a bit too much. So we need to bring these two down just a bit. So let's do something. Let me take these two. And remove. And because we have kept this one as a backup and it's non destructive, it means that we could go take this geometry and try to change the silhouette just a bit. Go for scale and then apply. Okay? Now you see it's a better scale. And I'm going to shift to keep that backup and bring that here. Okay, but we need to bring that to a closer distance. Okay. Now I'm going to take this, I just brought the mesh to this extent. Then I'm going to bring that to here. And then one copy to here and join them to our mesh, which is going to be this one. So export once more, and then we import that back to see the results. Okay? Now it's a bit better, but again, we need to bring the top one down a bit. So let's do something. I'm going to take all of these, control T, select them, and then let's deactivate. That and call the Spana bridge. Plus later, we're going to create links, but for now, we need to look for a good silhouette. So right, click reimport. Okay, now it's a lot better. And later, we will apply materials on them to really avoid being too repetitive. And by the looks of it, it's all right. And later, these measures are going to be much more complicated than these. We will create ropes. We will create planks, or we reuse the existing planks to make that a bit more interesting. Okay, now let's go for the second bridge to create the silhouette for it, and it's going to be something arc shaped Okay. Now, let's bring this one. So it looks like there's a bit of unnecessary geometry here, which we could delete. And later that we re export the mesh, it's going to be right. So now, this one is going to be removed as well. And now for the second bridge, we're going to use these bark meshes, these ones, these round ones to make the silhouette a bit more interesting than the previous one. So I'm going to bring that back. Let's bring this one here because later we are going to apply some changes to it. So now I'm going to take these two, and I'm going to place an extra folder and remove them. So now, this one as well is going to be hidden. Let's hide all of them. And now we're going to create a silhouette for this one. So first, let's try to create the silhouette and then instead of creating that simulation, we could easily bring a curve. Let's bring a Bezier curve. Let's bring these ones to the center and select our curve. Let me see where that is. Okay, now we need to rotate this to match our direction and rotate ones in here as well. And now this one has shapes to manipulate and to extrude or to rotate. And then just like normal meshes, you could use something like this to create. This is going to be the form of our rich, and I'm going to bring them on this vertice in here. Let's see. Looks like on some of these points we could remove to have a better transition. Could scale them as well. Okay, looks like it's a good one. So let's rotate that scale N. And then let me take this one scale, excuse me, extra So now, it's a good shape. And then in here as well, I'm going to take this one extrude, to create an end and starting point. So now, let's do something. I'm going to bring these to center. And then I'm going to try to scale these somewhere close to this one. So this one is a bit off. So let's remove that. Then I'm going to take these two rotate in multiple directions. A bit of variation in a scale is going to be good as well. So now, let's take all of these, join. And you see, we have a qua topology. That's why it's supporting a lot of those movements being curved. So now, I'm going to bring this one here somewhere close to our curve. Okay. And then I'm going to bring again, the curve modifier, select this curve, and I think it should be in Z. No. Let's apply the rotation on this one as well. You see, when we applied rotation to change the rotation values, you see if I apply the rotation values, they get fixed and we get a good one. So let's bring that. Let's go to negative Z. Okay, now it's better. Because it's non destructive, we could take these measures and try to reuse them again without any problem. Okay, now I'm going to duplicate, apply that, and then I'm going to bring this to here and test it to see if we like the result or not. So let's bring the pivot to somewhere around here and I'm going to call it static mesh Ridge 02, and export, and then I'm going to test it real engine to see what happens. Okay, import, and here it is. And I'm going to bring it to here, and it needs a bit of rotation as well to look right, okay? Et's do something. I'm going to take this one and it should be used like this. Okay? It's going to be a top one. Let's do something. I'm going to shift D and then take this one and change the silhouette just a bit. To see where that is. And I'm going to change the curve just a bit. Let's first change the silhouette. Then I'm taking the curve. So I just duplicated the mesh a couple of times, and then I'm going to take these and this one has the active object control J. You see, it's static mesh bridge two. And then re import see the changes reflected. So it's too much. We need to bring this one down just a bit for a better visualization on these far away distances. Oh, it's just an easy task. Just bring export and re import. And especially, I'm not liking this top part here. But, again, I just brought it down a bit. Okay, it's better now. Of course, because for the lack of material definition and just looking like others, it's just getting a bit repetitive. And later we will return back and try to fix these issues. Okay, now we have the silhouette created for the bridges. And in the next lesson, we're going to create the length to connect them, plus these vertical pillars. Okay? See when the next lesson. 25. Finishing The Bridge: Okay. Now we created these bridges, but I did something. I didn't like the top one. If you take a look, you see there's a bit of difference there. So if I right click and commit and reimport, you see, it's going to just follow the same one. These are two identical. I just remove the top one and replace the initial one there. And later that we create materials. These are going to be very good. Now the second thing that I didn't like is that this is too wide. So let me bring one of these planks. You see, even though this plank is 3 meters, it doesn't look like that. It's going to be a good one. So you see it's even brother than 3 meters. So I'm going to keep this as a guide, and let's do something. I'm going to take all of this and remove Okay. And then I'm going to add a mirror modifier and use this one as a guide. So it's going to be a long way. Okay? Now the difference is not the difference. Excuse me. The distance is the same. And now if I take this one and try to bring it closer, it brings both of them closer. Okay? Now it's better Let's do something. I'm going to bring it even closer because I don't want that to be that much. Okay? Now it's good. So now, what do we do for these rails and stairs? We're going to use existing geometry. So now I'm going to bring this. Let me do something. I'm going to bring the pivot to here and bring it somewhere around here. And then I'm going to create a curve that follows this curvature. Okay, because I'm going to use that curve to map this one around this so that it follows the normal as well, so that it just does the rotation for us as well. If we want to do manually, we have to just do rotations and random stuff manually. So this way, it's going to be a lot better. Now let's do something. I'm going to bring in a curve, but this time, instead of Bezier, I'm going to bring in a path. This one is a lot better, and it's much more manageable. So now, it's a flat line, but it has some shape to it. You see, it tries to smooth that shape, although it's flat and it's looking flat, but it's smooth. So let me rotate that 90 degrees. Okay. And then I'm going to bring it exactly here on top of this point. Okay? Now, if I take this, you see now it's just trying to take a median of all of these points and create the result for us. Okay, now I'm going to take these points and try to press E to extrude, and I'm going to follow the curvature. One here and one straight. Alongside X, I think, yes. Okay. But since we have a bit of rotation, let's do something. I'm going to apply the rotation because you see it's rotated in Z. So if I apply the rotation, it gets corrected. So now let's take this one and let me take this as well and bring it here a bit closer to here so that I can place this one and instance it around using this curve. So I'm going to just change some of these curves a bit because I want them to be closer to that center. It's a lot better. So now I'm going to take this one and bring it close to here and I'm going to use a curve modifier alongside with the array modifier. So using the array modifier, we are able to let me from the generate menu, array modifier. It's going to array that alongside a certain value. So in here, it's going to be alongside Z so let's first, we should apply the rotation. Now it's going to be a long way because the rotation was off. Okay? Now you see a long y, it's going to array that. But we're going to use the curve to array this along that curve. So after array, I'm going to bring in curve modifier again. And then let's take this. Okay? Now you see it's trying to follow the normals everywhere it goes. So let's see. I think it should be a long Z or something. Negative Y is going to be right, but we want them to be flipped over in the other direction. So let's do something. I'm going to apply everything and keep this one as pivot. Let me bring the curve as well. Okay. And then let me apply all and let's see which one is going to be better for our work. So let's go for negative Y, and then I'm going to take the geometry and offset them like so. I could offset like so. And let's bring them to here as well. And then now if I go bring the array modifier and bring the numbers. You see, it's going in positive Y, but we need to go in negative Y instead. Okay. Now you see it's trying to follow that curve. But again, we need to bring that value down And start from here. Okay? We don't want too much of them. Let's go and it looks like eight is good. And now, because this is non destructive, it means that if I take this geometry and try to scale that a bit, all of these instances are getting scaled as well. Okay. Now let's try to bring that scale as well. No. For scaling, I'm going to deactivate and scale from here so that the ground stays the same, but the height changes. Okay, now apply and apply once more. So let's take these and I need to bring them down just a bit. So apply the scale. Okay. Not bad. I'm liking the result because it keeps connecting these two together. Okay. And you see it follows exactly with the same curvature, which we like, actually. And then later we will bring them to here. So let me just delete that part which we are going to copy later over. So let's bring that as a guide, and later we will mirror all of these there. Do not worry. So now we need to create a strong base for this so that the planks get laced on top of that. Again, I'm going to reuse the same curve. So let me take that. But this time, I'm going to bring it somewhere around here. And then again, I'm going to bring these beams and use them. Okay. And then let me bring that here, and it should be somewhere around that point. So pivot here and let's bring it closer to this one. So let's apply the rotation and this one everything and this one everything as well. Plus we need to bring the pivot there. Okay? Now I don't need to bring the array modifier because we do not need it. So let me just do something. I'm going to bring a curve modifier and select this curve. Okay? I think it should be in Z. Okay. It's in Z, but we need to change the value a bit. Okay. Now, I'm just changing that in X. And then if I just change in Z, I'm getting that movement. So now let's bring the array modifier because we need one array to go up based on that curve. So I'm going to bring the array modifier, but it's going to be placed before that. So it's going to be alongside Z but in negative Z. Okay. Now that I'm happy with this result, I need to bring in another array modifier to array this until here to create a strong base for the ladders to be placed. Okay? I'm going to bring array modifier, but this time, it's going to take all of this information and array that in X. Okay? It's going to be after the curve modifier. So let's bring another array. And you see it's going so looks like it's a good one. So let's go for four and bring this one to two. Now we need to take that curve again. I'm going to use this one to bring the planks on top of this. We need some planks in here as well as a base. Let's do something. I'm going to take this and try to scale that just a bit. Okay? So that it connects all of them. And you can just think of it. Okay. And then I could reuse this one as well. If I just take and try to rotate that 90 degrees, and then use more of that, but we need to use negative three, so that we could spawn more of these here. And then I could take that and then try to make the base a bit stronger. So no, not like that. I didn't like that, actually. So let's do something. I'm going to scale this one a bit. But because we are using relative, it's going to take that relative distance. If we use constant, no matter what we do, it's going to constantly place them based on a certain distance. It's going to be in Y in negative three. So negative. Okay. Now, you see, it's going to be a bit better. But if I change that, no matter what we do, all of these is going to be staying the same. And then on top of this, we're going to place our planks which are created like so. So I'm going to bring them to the center and make sure that all of them are scaled just like each other. And I'm going to create an array of blanks using these. So let's apply everything. It's going to be rotated. And then let's rotate them like so. Okay, let me bring them here. I'm going to start from here. So now what I'm going to do is creating an array of these planks like so. Okay, now let's go bring the object randomizer. It's going to be randomized transformation and try to change the scale just a bit. We want to change the scale in X. Of course, before that, we need to apply the rotation and everything. So now the pivot is in the center, let me bring the randomized transform. Again, I'm going to add it to quick favorite menu so that whenever I press Q, it just happens, okay? And a bit in Y. And a bit in X as well, plus a bit of rotation. Later, we might return back and try to create more variations. But for now, this is what we get. Okay, I'm going to take all of these and join. So now, I'm going to bring this one here, exactly here, and then apply the rotation and everything, and the pivot is going to be here. Okay? Now I'm going to again bring the array modifier plus the curve modifier. Let's reuse the same thing. So now, let's take these and try to make the planks a bit stronger, appli the scale. And then I'm going to reuse let me see what we have here. I'm going to reuse this curve, and I'm going to reuse that curve from this. Okay? Let's do something. I'm going to reuse this one. So I'm going to select this geometry and this one as active object, Control L and copy modifier. So now, some changes we need to make, and that is we need to correct a a scale to match with that. And then changing some of those values to get that bridge working. Okay, and once more. And now let's try to bring that closer to here. Okay, now I think our bridge is created, of course, this one. And then we could easily take that and remove it. And I think that we have created a good bridge. So let's take all of these. I'm going to go to object mode, convert to mesh. This one is going to wash all of those modifiers. Okay. Now, let me bring this one here. We need to take these and duplicate them over to here. With no problem. And then looks like some of these need to be removed. So let's take all of these. And I think let me see which one is the Sticch bridge number two. I'm going to shift and select it. Okay, this is it. Now I'm going to select all of these and then select this one as active object and pick the properties from that. Okay? Now it's a good bridge, and I'm liking the result. Okay? And then I'm going to export and then right click and reimport it back. Okay, I'm liking the result, but there's something that we could change. And because the pivot is in here, we could go and try to scale this a bit. So let's go for 0.9, 0.8, Okay, looks like 0.8 is a good value, and it's definitely usable. Okay, let's go to composition view, and now the bridge isn't that annoying to the composition. So let's go for 0.7, and then I could bring it to front just a bit to make it smaller and a bit of rotation. And it's a good one. I'm liking this one better. So now that I'm taking a look, I see that I'm actually not liking this bridge. So what we could do is replacing that bridge with this one. So let's do something. Let me go to composition View and take that and replace it with this bridge. Okay. Now, let's try to scale that to 0.7 that we had. And then I'm going to try to rotate that so that it doesn't actually match the look of this one completely. So let me take all of these and remove. And then I'm going to just try to match this to here. So let's see. I'm actually liking that. But if you want, you can go and try to create one extra platform there for the storytelling to be correct. No, it's exactly connecting to here, and it's a good one. I didn't expect that to happen. Okay. And now, it's a very good one. Exactly, I didn't actually expect this to happen. So let's see what we're going to do if we want to keep this one or if we want to create one for here. So let me match that to that platform. And then we could rotate that. Let's go for 0.7 or 0.5. And now, if I go to composition, you see that we have a layer of bridges connecting these, and I'm actually liking the effect. And you can go and try to create more bridges if you want to. So let's do something. I'm going to bring that bridge again here. You know, we're telling the story that there's something on the other side of the bridge as well. It keeps layering and layering and layering. So let's go for 0.7. So I think like this one is a bit too much. But this is something that I like. And again, another choice is that I could take that and remove it. But now we need to make sure that this one connects correctly. Okay? Because I didn't want to make the composition unreadable. Looks like one is enough. And we created a complex mesh using only the existing kits that we had. So let's do something. I'm going to rotate this. And there's a bit of rotation again. And let's go for 0.7 because that is far from the camera, and we need to have more visuals on that. Point Let's try to scale. Okay. Now let's do something because this is only one material, and later we're going to create a different material because I'm not liking the color. We could use more desaturated colors for them, including, let me bring in a multiply. Then I'm going to bring in a vector color. And let's try to use a desaturated color there. But before that, we need to bring in a desaturation. So that it desaturates our color, it gives us a gray scale value so that we could apply some color on that. So let me convert this one to a parameter. Let me save. Of course, we need to change the color to something else because that is a parameter. Whenever I change the value, it's going to be representing exactly there. But overall, the colors are going to be a bit desaturated. So let's just plug the base color for now. I'm going to bring my other textures and plug them here to apply a bit of color and normal and roughness information as well so that we get a bit better better preview. So import. And then here's our material. It's going to be those ones that we exported from painter. We're going to bring the roughness and normal. And the normal is open GL, we need to p the green channel to convert that to direct X. So it's gray scale, let's convert that to mask and normal as well. We need to show all advanced details and p the green channel to convert that to direct X, save everything. And this is just temporarily changes, just to get a better preview of what we're doing in our work. So this is going to be roughness and this is going to be normal. You see, we get a better preview of how the wood is looking, save. Now the colors are a bit better and not that shiny and we have a bit of normal read as well. You see, we get a bit of change on the surface, which makes it a bit more realistic. Okay. Now I'm happy with this so far. I'm going to pause, and in the next one, we're going to create fences to prevent people from falling into the sea, safety always. So see you in the next one. 26. Railings On The Platforms: Okay, everybody, now we have the bridge in place, and it's time to go and create fences. So because we are already using just one platform here, if we bring the kits that we create and applo them on this platform, they're going to be apploed on all of the instances as well. Of course, you might have some really basically more of these platforms created, then you can just open those platforms as well and lace your railing here. So let me just close that for now. And here we are in blender, and this is the platform. I'm going to just take a copy and I'm going to bring these out of the way. It looks like this one could be deleted because we didn't use that. Let's leave it be. It's not something that we could care about. Okay. Now you see the dimensions of this platform are 80 meters by 40 meters. And it means that if we create two meter by two meter platforms and distribute them along, we are getting a good result. So let's do something. I'm going to bring in a mesh, and a plane, let me bring the pivot here. Okay, let's bring the center of the world back to its origin. And then I'm bringing a plane. So let's bring the pivot to here. And then let's say that we rotate that 90 degrees just like we want to. Okay? And then if I bring it here, for example, something like this, let me go to increment because increment is going to use these grid patterns for snapping. So if I just create 2 meters worth of geometry, we are getting something like this to finish that building by creating modular two by two kits or not two by two, for example, two by one or something like that. The same thing if I just copy this one here. Then if I use that two by two again, we are able to create something like that. Okay? And it will cover the surface of our kit. But we could also use something like two by half or create a special kits. But I'm going for a two by two kit. Okay? Let me bring in a mesh, again, a plane. This is going to be a pivot and let me bring it up 90 degrees, and I'm going to select these ones because we haven't used these a lot. Okay, we already know that it's going to be 2 meters, so 2 meters by one because I don't want that to be too much. And then I want to scale these as well, like so and create a base for our railing. So let's use this one instead. And let's say that we take these and try to bring them here. Let me turn that off. I'm not going to create here because if we take these and duplicate, it's going to be one overlapping machine. I'm not going to just create this one instead, I'm going to use one. One other And you could also just rotate them like so to create your results. So let me duplicate that. And then we could rotate it to that side, use as much variation as you want. And let's say that this is one, okay? Let me bring the pivot to here. I want the pivot to be exactly on the base in here. Okay? Now, I'm going to bring this plane back and take these and join them to the one that contains the pivot. That railing. And it could also create more variations as well if you want. Let's create some variations. I'm going to duplicate and then go to Edit mode and explode the mesh by loose parts. And let's say that we're going to create a couple of variations. Okay, let's remove that. Okay. And then we're going to join this, and that would be just another variation. You see, these are quite different, although they are basically the same, but they are a bit different. So let's remove that from here. And this one is one as well. Let's call this one another variag. You see now we have different variations. I'm going to call this one static mesh, MOD representing modularity, and then it's going to be railing. Okay? Negative, excuse me, underscore 01. I'm going to copy the name and then paste that name in here as well. Number three and number four. Let me make sure that they are in the finished folder. So let's go back and then let's see if we could use these meshes for our purpose. So I'm going to go to Bat x again on the same folder and export and once again in UnreLEngine. So let me go to my meshes folder and import them. Okay, here they are. And then we could also go to our modular buildings folder and bring this one and try to use that railing here. Let's create a railing system that goes around here to cover that distance. Now, let's create an instance static mesh, and I'm going to call it railing and create that railing mesh number one. Now we need to apply one instance to be used there. Okay. Now, let me apply that and rotate 90 degrees. So let me for now disable that to create our pivot, and then I apply that. So now, control the to duplicate and bring that to here, and then we could easily go and use the second one for a very fast iteration. And then again, Control D selected. And then, for example, we could use number three, Control D, and use number four, for example. Okay, let's take a look, compile and stave and see some railing happening around here, which is good. Okay, now, I'm just going to take these Hold on control to be able to select multiple parts, Control D to duplicate them. So make sure that you grab these instances and we are going to bring them to here because, I should have copied before. Now we have four instances. Let me bring them here. And then if we could rotate them 90 degrees and use the other variation here, it's going to be a good idea. And then control the once more. And we need to select our instances from here because they have been copied just from here. Okay. Now compile and save. So you see that railing being applied on a lot of these parts. So it just takes a bit of time. So let me bring that here and then rotate that. And then in order to create a bit of more variation, I'm going to Control D and use randomly. For example, now that this one is rail two instead of selecting rail, for example, I go for rail four to create more variations on that. So let me take these two and I'm going to disable That, okay. Just a quick fix. Control D, bring that here, and, for example, use another one, compile and save. So et's use, for example, number two, and then duplicate them And one in here, compile and save and see the result. C, it's getting even more completed. And then later we will go on the viewport on the game level and delete the instances that we don't want. That's why I like to work in blender for such tasks because that is a bit easier to work with in blender. So let's go for number two. Then just one more instance to conflate the side. And let's rotate that to here. We are seeing a bit of symmetry in here. We could just leave it be or use something else. Okay? You see the railing on most of the parts. So control D. And then rotate 90 degrees and you should be good to go. Okay now, this is number four. Let's create, for example, number three. And here number one, And I gain four. You just try to randomly bring them and use the composition that you want. You could use procedural methods as well. That is a valid option that you have. Okay, we could take this one, rotate. Okay, compile and save. And you see that railing happening on a lot of these parts that we want. For example, this one needs to get deleted because it's storytellingly blocking the way So we could take these because we have applied some rotation on these instances, it's going to be like that. Okay? Just a bit of offset and then this one and this one it'd be deleted. This one could be deleted. Plus this one. Okay. Now I'm happy with this results. And if you want, you can try to use more of them. So you see, there's too much offset in here. Let me go and find this one, this particular instance in the level. So I have created one folder for the base. Let me find it. Okay, this is it. You see that is a bit changed. And you see instances are just a bit off. So I'm going to select that and in this viewport in this content browser, I'm going to select this one and then here, right click replace with actor and then I'm going to select that blueprint and now you see that is going to correct some of those results. And if you have some problems, you can just always go back and use this method to bring your instances where they should be. Okay. Now you see we get more of those railings, and that is a lot better. It could also go for the same one on these as well. For example, if you didn't like that, you could replace while copying the properties and replace with something else. Okay? This is going to correct some of those issues that might have happened, but it's going to reset that instance as well. This one isn't that much in the composition. So, for example, you could go for this one as well and change and that is going to bring a lot of those back, especially if you haven't already tried to level design and you have some time left. You could use this method for bringing some of them on their place. Especially, for example, let me select this one. No, this one, right click Replace and select it brings them back Okay, although there's a bit of bug in here, because that is not in the composition, I'm not going to care for that that much, but you can also go and spend a bit of time and fix that. So let's go for the right composition as well. This one is okay. I'm happy with it. For example, this one, right click Replace, and you see it fixes some of those issues. Okay, these bugs are expected. You can go and fix them if you want. Create new geometry or just rotate them around and you should be good to go. Now we have some really more kits to be created. For example, the shingles for the roofs and a bit of rope as well. These are going to get added to the composition and make that a bit more a lot better. When we add those roof shingles plus these beams, and we will remove those placeholder measures from here. For example, this one is going to get deleted and replaced with a beam and the roof structure. Because that is going to take a lot of time, I'm going to pause this lesson right now and in the next lesson, we are going for creating just some shingles. We're not going to create, for example, if one roof is made up of hundreds of shingles, we're not going to create all of them. We just create just like these, we will create kits and then distribute them around to create new variations, plus the beams that we already have. Okay, I'm going to pause and see you in the next one where we go for creating a new kit composed of rope and shingles. Okay. See you there. 27. Roof Shingles Kit Sculpting: Okay, everybody, now we have a very basic village created, and now we need to go and create these roof shingles and using the same kit based workflow based on kit bashing, repetitive shapes to create new geometry. We are going to recreate that. Let's just take a look at references and here's something that we aim for. You see, these are half round shingles made from clay and there's a lot of moss here. And you see the placements so random, and it gives a really cool silhouette change to these objects. So now let's take a look. You see we have round ones and we have these flat ones depending on the situation, we might use either of them, but I like using something like this, creating for example, three or four of these and let the variation maps that we later create for the geometry to decide for the color. You see, we have a lot of moss gathered in here, which are going to be represented, not in the initial texture that we create, just like these wood textures that we created. We are going to create something that actually holds the initial color, and then later we will add variation maps to those. This is going to be very easy to create. We only need to create a couple of circles, excuse me, cylinders and then cut them to half and recreate our geometry. So in blender again and now I'm going to take this one removed because we already have this one. And then we are about to bring one of these and let me duplicate this one, bring it here. I'm going to just see the scale of the cylinder that we're going to create. Okay. Now, in terms of circle, it's okay. So let's set that to local because I want that to be something like this. Okay? Looks like this is good for the base cylinder that we're going to distribute around, and the scale is okay. Okay. So now let's just try to bring that up, apply everything, and now I'm going to bring in an array modifier, just to test to see if we like that result or not. Okay? And then another array modifier, control the shift the in here. And then instead of X, we are going to be tiiling in why I believe Okay, it's going to be in negative Y. And then we could bring in object offset. Let me bring in an empty. We're going to use this one as our offset. Let's select that empty. Okay. And then if we try to rotate. So this is not helping instead. Let's enter negative zero in Z as well. Okay. And then we are going to remove some of those. So negative 0.5 instead and negative 0.5 as well. Okay, then you see, this is going to give us a very good shape, and then later we're going to create variations to those as well. But also let me go back and deactivate our viewport modifiers. And then I'm going to connect these two, which are the center geometry parts there and here as well. And then I'm going to just try to delete these Okay, here we have the actual shape. And if I bring that, you see, we get something like that. But also, we need to add a bit of volume to this because you see it's not using any volume or things like that. So before actually everything, I'm going to bring in a solidify modifier so that we have a bit of volume applied as well. So we don't want upset. Let me see how much of that volume do we want, okay? And now because we are using relative offset, it's going to take a look at the dimensions of the geometry. So it has already changed. No, it's not this one here because the scale has changed, it's going to take a look at the scale that we have. If you use constant upset, it's not going to take a look at your instances. Scale. It's going to just use that scaling Okay. Now you see using this method, we're able to generate a lot of good roof shapes. And you see they are generating a very good silhouette. And then later we could also add randomness, try to rotate these, try to rescale them, maybe some of them missing. Okay? You get the idea. Now I'm going to delete those. And then let's delete that empty apply, and let's bring the rotation back to its original place. Okay, apply anything. And this is good. Now let's do something. I'm going to go for Shade Smooth. Irse, this is only for a blender. Now let's do something. I'm going to take these two, scale in Z by zero and bring them to here so that they match the ground. Okay? Now I'm going to copy maybe four of them is enough. And then also, we are going to apply a very simple UV map. So that later we create polygroups based on those UV in blender in Zbrush, excuse me, and that is going to be helpful for repologizing and unwrapping these meshes. And then we have the rope mesh to be created as well. These are going to be joined to these kits to make our kits a bit more versatile. So now, in order to create a rope, I'm going to create a geometry that is tiling either in geometry and in texture. I'm not going to sculpt that in the Zbrush because all of the details for that rope could be generated in painter. We don't need to generate any additional height map, we need a high poly to be baked on low poly, which we will create eventually. But now, in order to create that rope, again, we need curves. So let's bring in a circle. And, of course, we could bring this to something like that. Okay. And then definitely we need to scale that. So you already know that the rope is composed of different fibers being twisted. So the modifier that is going to help us create that. Of course, I applied everything is the screw modifier. So go to the form and it should be No, it should be in generate, Screw modifier. The scale is going to be a long Z if I just bring that up to 2 meters because I want that to be a tiling geometry. Okay, exactly 2 meters. So now let's take a look at the scale, and you see by iteration, I'm able to tie it, but I'm not going to tile that right now. I just want that one to be used. Okay? Now you see we have angle, and you see this is the angle because we have one of these, it's going to just twist it around itself. But if we go into our geometry mode and disable the UVs for now, I bring this one here, I'm in the edit mode. And if I press Shift D and bring one in here and apply the modifier, you see now, it tries to twist these like that. But again, if I just disable that once more and then try to bring one more in here, Okay. And apply my modifier. You see now the amount of ropes being generated get a lot more. So now what we need to do is just rescaling the shape a bit. Let me bring the pivot in the center and then bring that here, and then I'm going to just rescale it to a manageable scale. Okay, now you see, we have a two meter geometry which is going to match. This portion in here is going to match to this one, and it's going to make that a tiling geometry. So now let's go here and instead of this degree which rotates once from here to here, I'm going to double that. So this is going to keep that tiling. But if you go to others, for example, like this, you might have problems rotating these geometry parts. So now, because we have no problem in tiling and we have no problem in using geometry, let's try to add more geometry so that we get better rope like that. Okay? This is going to be our initial shape. Now, let me just write 72 times two, and that is going to be this one. So again, we're going to get that tiling. Why? Because if I press iteration, it's going to just be tiling. And if I just take this one as well and bring it up, You see now the geometry is going to be tiling. Okay? And we're going to make sure that the texture stays tiling as well. So let's just try to add more of those. Let's go for 100 because we don't have any problems with adding those geometry parts. Okay? Now you see we created a basic shape for our rope. Let's go to this shape as well. And let's see if I could bring one in here and test. No, this is not going to be okay. Let's apply everything and bring the pivot to the center. Now it's a bit better. Now I deleted one of those, apply everything, bring the pivot to center. And apply all of the geometry results and it's going to create a basic rope shape. And later using the curve modifier, we're able to create a lot of ropes around these objects that we have created to create a very convincing result. So our rope is going to be like that. Let's go back. And I'm going to just take these and delete those vertices and then see the results. Let's not use that. Let's go for the initial scale times three. This one is going to create a tiling mesh as well, but that is going to be a bit better. You see now if I try to tile this, you see the geometry is continuous and later, it's going to help us. This amount of rotation is going to be a lot better. Now let's check the normals. You see now the normals are flipped. So just flip those and you're going to get okay. So now, this is going to be our rope. Let me apply. Now you see we have a tiling geometry that we could try to tile using the curve modifier and because we have a lot of resolution in here, it's going to be very great for those purposes. Then we have these ones as well, which are going to be sculpted just a bit, not too much because if you take a look at the composition in real engine, these are far away measures. These are on top of the buildings, and the player might not be able to see a lot of those details. So this is valid, as well. Sometimes you need to just save your time in something and invest it on other places where you might get better result. Okay? Now, I'm going to just take this. This is going to be our rope. Later, we're going to unwrap that. Do not worry and unwrap is going to be tiling, as well. We have a tiling geometry which is going to tile because that is exactly 2 meters, okay, in Z. And then we are going to make sure that these tile in texture as well, just like a seamless texture that we create in designer or something. Okay? And then we're going to bring this here and try to create a very basic unwrap for them. So the unwrap is going to be based on sharp edges. Let's do something. I'm going to go to UV Editor. And you see, we don't have any unwrap here, and the unwrap is not going to be that great. So let me just delete those. And then I'm going to go while being in edge mode, I'm going to go to Select and select sharp edges. Okay? Now you see it as selected those sharp edges. I'm going to right click and Mark C. Go to your polygon mode, select all of them, right click. Unwrap when you are in polygon mode, it separates them based on those parts. Let me see where we have selected or what we have selected. I don't want this one to be a seam right click Clear Sam once more unwrap. Now you see we have this part in here. This one separated. This one is separated and this one as well is separated. Of course, this one is another one. So we don't want to have a very sophisticated U before that. This is only for generating the polygroups in Z brush, excuse me, okay? I'm going to copy twice, and then these are ready to be exported to Zbrush, a very simple sculpt and edge define. And then later, a lot of it is going to be created in painter, because I said that these measures are not primary meshes. They are going to be far away and the player might not be able to see and for example, just see them from so close of a distance. They're going to be used far away. So it makes sense if we save a bit of time on these. Okay, I'm going to export as FBX, and I'm going to just create a folder. And just call it base mesh because that is what it is. We need to select or limit the selected objects. And just to make sure that we didn't create any geometry, you could triangulate phases, but I think the geometries are fine. So now, Just call it shingles, and you should be fine. Export. I just created a Zbrush file and imported this because that is very easy and there's no learning value in that. So you see now, we have polygroups that are just one. We need to create different polygroups for later use in Z measure or something like that. So I have the button placed in here, autopolygroups with UV. Again, if you want, you could go to your polygroups and then to polygroup with UV is going to generate polygroups wherever you have created UV in blender or your three app. You see now, based on those UV islands in Blender that we created, we are getting different polygroups and they're going to stay there no matter what. Okay? And for example, sometimes you might do something to clear the, for example, that might be going into decimate and preprocess and decimate, you want to keep UVs. So let me just do a demo if I pre process and then decimate that, you see the polygroups are no longer there. And if I go here, you see the ultopolygroup with UV is not activated anymore. So if I go back let me go back again. You see now we have to polygroup with UVs. If you press keep UVs, pre process, decimate, still this option is there because it has kept those UVs. So sometimes when for these operations, you might need to keep the UVs because that is important. Auto polygroup with UV on all of them Okay. And that is going to help you in your process, especially later for creating unwrap and we topologizing this automatically with Z we measure. Okay? Because we created low poly result in blender, we are seeing that in here. So there's no problem. We could use polish to remove a lot of those. So in order to generate a cleaner result, I'm going to dynamos on percentage like that, and then you have polish, which is going to help you polish these and then you can smoothe as well to get that result, okay? It's going to help us get some initial geometry, okay? Sculpt, and then the polygroups are kept as well. So just make sure that whatever you do, you shouldn't destroy these polygroups. Especially if you press Control W, it's going to unite all of the polygroups and we don't want that. We want that to be separate. It's going to help us later. Okay, ready for sculpting, and these polish features are just a bit different. You can find them in the formation tab, and then these polish options, I just brought them here because I use them so much. So this polish, the first one is going to just polish everything and just make something like plastic. If that is something that you want, just go for it. The second, which is polish by mesh features. It's going to keep some of those features in the results and generate based on those. First, you have a couple of options Okay, let me bring that. You have options. You could use one or the other. Sometimes, for example, you see this one is going to be a bit different and this one is going to be something like that. Of course, this is something very good. It's just making the result just like we wanted. And then the next one that you could use is polished by polygroups. It's going to keep your polygroups in place. And then it adds another option as well. By removing that, you are getting such a result. Okay? You see now these are similar let's deactivate that and polish by polygroups deactivate that once more. Okay. See now, we get polished result with sharp edges that we could go and try to sculpt. But again, let me go for 2048 and then re dynamise to distribute polygons a bit better and get a qua topology to start to sculpt too. Okay? Dynamic it will bring the geometry to a sculptable stage. Okay. And then now the last one. Okay. Now all of them are ready to be sculpted. And we have Alpha brushes as well. But first, we are going for edge pass and try to sculpt the edges. Okay, let me hide all of them. Okay, we're left with this. And to help us sculpt better, I'm going to use some of these Alpha brushes that are generated from free images from net. We are going to use these for sculpting. Those shingles that might be a stone or clay or something like that. So those Alpha brushes are shared with you as well in the project files. Okay? You can use them on your projects. So let's pick up an Alpha, and I'm going to again bring that alpha. And then we are going to just sculpt these edges. And because this is shingle and it's going to have a sharp transition, we are going to go a bit more on sculpting on these edges compared to wood because you see the edges of the clay or stone are different than the edges that we have for wood. And that's why we are sculpting these edges a bit more. First, it's going to be sculpting these edges, dynamesh once more, and then we are going to bring those Alpha brushes and generate a bit of noise so that later that we bring these to painter, we have some details to start to work with for baking. So let's try to work on edges. And I just said because these are far away meshes, we are not going to spend a lot of time sculpting these. And I found something that I might want to whenever I try to sculpt this, I duplicate it and use it on other places. And then for every iteration, I go for a more distorted result. I mean, this is going to be the healthiest, and then I duplicate it over to somewhere else and generate more damage so that we save a bit of time instead of re sculpting those shingles from scratch. Okay? This is going to be the healthiest shingle on the kit, and then we're going to duplicate it over to other places and use them there. And the rope as well is going to be just sculpted in painter. Sculpting and texturing is going to be done in painter because there's not going to be a silhouette change there. All we need to do is just very small shape changes. Excuse me, very small details, not shape. So because these are going to be changed in shapes, we are sculpting them in zebush to add details. And then you see, because we are using those polygroups in here, later for retapologizing, it's going to help us a lot with retapologizing and creating the UVs. Okay. And a bit of sculpting. Okay, I will help us with reading the shapes. Okay. And then I'm going to duplicate and I'm going to bring that here and use it for this one instead. And then I could take that one and delete. So now let me try to sculpt here, and then I'm going to generate more damage for every stone that I go. Okay? This is an iterative process as well. Just try to sculpt these, and you should be fine. And then when you sculpt it, do not forget to re dynamesh because we have changed the topology a lot, and that will just generate some polygons might go too much far too far from the center. So you want to just go and keep your sculpt retpologize. Okay. And then let's try to generate some surface sculpt as well. That will help us with generating noise later in the process. Okay, then we'll duplicate this and generate even more damage on that and then duplicate and generate more damage. We create four of these shingles. And using these four shingles, we're able to create basically a lot of roofs. Okay. Now let's do something. I'm going to bring that and try to just compare them and we need more detail to be placed. Okay. Okay. Now let's re topologize once more using dyna mesh, and that one will help us generate a better result to be duplicated over to here. Okay? Let me duplicate once more and bring that one here. And then this one could easily be deleted. Okay? And now even more damage here. Let me bring the clay buildup and try to sculpt. But since these meshes are a bit smaller, we could keep the back face mask on so that we don't sculpt the other side, okay? Let's try to sculpt here as well. And just activate the back face mask so that you don't create any bugs. And you'll see that this one creates some silhouette change as well. Okay, we apologize. And then I'm going to duplicate it for this one. So duplicate bring here And then this one can be deleted. Okay, now let's bring the turbo smooth, excuse me, trim smooth border. And I'm going to just start to work on this. See now it has a lot of noise. So let's try to laten some of that. Because later we're going to bring in the Alpha brushes, and that will help us generate the results that we want. Read Dyna Ms once more. Okay, now we have four of these shingles created. In the next lesson, we're going to bring some of the Alpha brushes and go for a quick sculpting pass on these. Okay. See you there. 28. Shingles Sculpt Finalized: Okay, everybody, we sculpted these shingles and we just added some surface definition. Now it's time to go and add some really small details for L of the stone. So you already know that we're going to use Alpha brushes and let me activate the backface mask already. And then we are going to go for imports. And here are the brushes that we are going to use. So let's start with this one and you already know how we are going to use this method. We are going to apply that to shift so that whenever we press shift, we see that. Okay? This is too much. Definitely, we need to change the scale. And then we go with trim smooth border and try to flatten some of that. Okay? Now, let's do something. I'm going to bring this to four K and re dynamis then we are ready to start sculpting. So let me bring the intensity to something like that half of that value. Now we need to bring it up even more. We have the back face mask activated and it's going to help us to prevent affecting the other site. I mean, that whenever we are trying to use that, these sites are not going to get affected at all. So it looks like 21 is too much as well. Let's go for something, not that much. And you already know that because these are far away measures. We are not going to try to sculpt a lot on them. So we might even finish them in just current lesson and not go for other lessons. Okay. Now some directional pieces here and there. And now let's do something. I'm going to bring the blur to zero. And now we're not getting any blur while dynamiing that. Okay? Now I'm going to bring the Alpha square Alpha and then try to smooth some of those here and there, so that it's not too repetitive and too noisy. We want to flatten some of that, so that later we add those details in designer or painter or whatever texturing app that you have. Okay. And then since these are far away measures, we are not going to add details that much because no matter how much detail you add to these, a lot of that is going to be unseen, so nobody is going to see that. So why wasting time on something that nobody is able to see in games? Okay, let me activate backface mask for this one as well and then try to smooth some of these then try to flat on some of these, and this is going to contribute to the silhouette as well later that we are going to use ZR measure. These changes are going to contribute to the silhouette as well. Okay. Now, let's go for this one and bring the resolution up, re dynamie to get so much resolution to work with. Now let me go bring another Alpha. Let me bring this one. It has a lot of noise and shape changes. You see, very good stone shape. Okay. That's good for now. And make sure that you do not lose your polygroups because they are going to be needed or later. Okay? Now using trim Smooth border, let me change that to something else. Now I'm trying to flatten some of that while sculpting additive and subtractive at the same time. Because this is going to be far away mesh, I'm not going to remove a lot of noise either because these noises are going to be visible from far away, adding a bit to the complexity of the final result. Later that we're going to texture this in painter, you're going to understand. Just try to flatten these results and they should be good to go. Okay. Now let's go for the third one which might need to be polished a bit. So let's try to polish to remove some of that noise. Okay, it's going to be better now. Now let's go for K, re dynamesh. And then I'm going to bring another Alpha Let's bring this one, and all of these are shared with you in the project files. Okay, very simple because this one was supposed to be the noisiest one. Okay, I'm just going to remove some of that. Let's go to the default Rush. I mean, the trim smooth border to remove some of that patterns, and then you should be good to go. H. Okay, let's try to check and you see a bit of silhouette change is there as well, which is a good one. Okay? Now, let's add just a bit of polish or k dynamish. And then let's go for Alpha and bring this one which is too noisy. Okay? This is just surface noise, not changing the details that much. The big shapes, I mean, Okay. And I just said that if you have extra time, you could go and try to sculpt more. But since these are far away, secondary measures, we are not going to spend a lot of time on them. For those woods, you saw that except for the texturing phase, which we postponed to another time, we went and applied a lot of details. But for something like this, which is not going to be that much important for the composition and only holding a bit of silhouette, you could just go and use a bit of saving and not to try to make that that much complicated. Okay? I could call the sculpting stage done for now. And now let's do something. I'm going to bring these and try to create lo poly from them. So you already know that we are going to keep the polygroups and then we are going to use ZR measure to help us get good lo poly or at least a good base for the locally which is going to be improved in blender later on. Okay? Now I'm going to duplicate that mesh and while making sure that this one is visible, I'm going to go for a final dynamic, but this one is going to be on 1024. Why? Because I'm going to reduce the amount of polygon and make it easier for Z measure to apply the changes. And that is going to bring the polygons back together. And if there's any errors or things like that, it's going to keep those as well. So you see it has kept a very good silhouette, but bringing the amount of polygons to a more controllable value. Okay. So we could go for 2048 instead. Okay. And now let's try to test to see what happens with the Z R measure. So you already know that we're going to keep the polygroups which is going to keep all of these and bring the calculations based on these. And then another one is to detect let's go for ze borders, which is going to take a look at borders and ZRemesh on one, which is going to stay close to one K as best as it could. Okay? Now, let's try to test to see what happens. So definitely not what we want. So we need to disable the freeze borders and use this one instead. I'm going to pause and return back when the calculations are done. Now you see we get something like that, which is close to one K, and it's going to be good for keeping the silhouette plus. It's good for low poly unwrap as well. For now, let's go back. I'm going to bring the adaptive size to 100. This is going to keep the details where it's needed by bringing a lot of smaller polygons. So now let's go for Z, we measure. You see, because it keeps those details, it's going to create more polygons, but we don't want that because these are just relatively not that important measures. We are going to go for a low poly result. So let's go for that one instead. 4.5, which is going to bring the polygon amount, to a more optimized level. Okay, now, this could be a bit better. So let's do something. I'm going to go back and bring the adaptive size to one and Z remesh on the same settings to see what happens because I don't want to have a lot of those unnecessary details on places that there is not needed to be. So let's see what happens. Okay, you see now we get much more optimized results, but we get some errors here and there. So let's go for that one. Okay, and you could go for decimation as well if you want. So we're going for ZR measure, and let's see with these settings, what happens. Okay. Now let's compare that to the high poly which is great. Now this is going to bake wine without no problem. Of course, you could go and try to use decimate as well to optimize it even more. But since Nant is going to allow us to bring more polygons, I'm going to keep that. Okay? Another option that we're going to use right now is the unweld based on polygroups. This is going to separate these so that later we could add UVs just right away. For example, when we import it, this is going to be a single plane imported in blender. You're going to understand what it's going to do right now. So if you want to do something like this, you want to go to your geometry, and it should be modified topology weld based on polygroups. So this is going to make each of these a single mesh, and it's going to save us from all of that polygroupEcus me, wrap in Blender. We just bring these single wrap, and it's going to be done in just a second. And it's going to help us not to unwrap anymore on these objects. And you're going to understand just in a minute. So now this is high poly and low poly. Let's go for here as well. I'm going to duplicate. And then on a resolution two K, re dyna mesh to remove a lot of those details, and then we are going for ZR measure with those same settings. Let's bring it to 0.5, detect edges and keep polygroups adaptive size to 50 and Z remesh. It's going to give us a good mesh. Now we get something similar to the previous one. Now let's compare that against the high poly it's going to bake perfectly. So now, this one, again, we're going to duplicate two K. Okay. And do you see there are some problems in here? So let's see what happens. If Z remeasure was able to remove that, we're going to just go away and leave it. And if it didn't, we will return back and maybe fix the topology of the hi poly. 0.5, detect H while keeping polygroups and on the same settings, Z remesh. But looks like there's a problem in here, which could be fixed in blender so easily. I'm going to leave that for blender. Okay, let's go for unworld borders and this one as well. We could go for unworld borders as well. If there was any problems, we will fix in blender. You see it as a good silhouette. It's not just a single cylindrical detail. Now, this is the final one. Let's duplicate two K dynamesh. Then 0.5 detect H while keeping polygroups ZR mesh, and it's going to be fine after unwelding the borders. Okay, this one is good as well. Now let's do something. I'm going to go unweld and later we will weld them in blenders just with a single click. So now we have eight stop tools, and it means that we have four high poly and four low poly. So although this is a good high poly, we are going to decimate these even more. And it's just fine if we just use these. It's not going to be a problem, but it's going to be better for getting faster results, especially if you bring them in blender because blender is a bit laggy when dealing with a lot of polygons. But you see, let me bring the decimation. We are going to preprocess and the decimate on 20%. It's going to keep all of these details plus reducing the topology to a great number. So preprocess. Let it calculate. And then decimate and you see we want to something like that, but we didn't get any quality loss. But we lost the polygroups. You want to keep that in mind. It's going to ruin the polygroups. So preprocess and this is the next hi poly then decimate, very good. And now this is the next one. We're going to repeat the same process. Okay, decimate and now it's good. The last high poly and now decimate, very good. Now we're going to export the low polypils. So let me go and select all of the low polypils and you want to make sure that they are visible. Okay. And then we are going to use FBX export and import settings. If these are quad, it's better not to triangulate them because quad mesh is going to be better for unwrapping. It allows us to create lat UV shells, which is going to keep the UVs more optimized. Okay? We want to make sure that the visible subtols get exported and these settings are going to be activated and I'm going to export. Okay, let's just call it shingles LP, representing the low poly and it's going to export all of those so fast because there wasn't too much polygons. And now we are exporting the high poly piles exactly with the same procedure, and then it's going to be HP representing the high poly. And then all of these are going to be matched in blender and be ready for baking and texturing inside painter. No, it looks like there's a problem. I just activated that one accidentally. Again, I'm going to reexport that to avoid those issues. Okay, a new blender file, and I'm going to bring in the FBX files that we have exported from Zbrush. So here it is locally and these are great. So let's just see what we have done. If I bring the polygons, you see, it's right, but then there's a problem. There's not a problem. There's actually a good feature. If you select this, you see that polygroup has been just separated to one UV shell. And this is going to make the unwrapping process a lot easier. We don't no longer need to go and define the borders of the UV shells, and that is going to be very good. Okay? Let's do something, and in the tea menu, you want to make sure that a scale and anything is correct. So that's why I brought one of those barn meshes to compare them with this, and it's okay. Okay. Let's apply everything as the pivot is going to be in the center of all of these. Okay. Let me create a collection, and I'm going to name the LP. Okay? And now there are some fixes that we need to create here, for example, this plane. Let me select them. If I delete, there should not be a huge problem. So let's select all of these plus this one. If I press M and collapse, you see, it's going to bring all of them to one point and remove that problem. Okay. Now, let's do something. I'm going to bring in the hi polypils as well and test to see if the scale and anything matches with these. Okay? Hi poly. Okay. And they are matching. Perfect. So I deleted those to keep that a bit more optimized. And let's do something. I'm going to bring the rope as well here. So here's my rope mesh. I'm going to copy, not just paste it here. Okay? This is going to be the high poly and low poly at the same time. Okay, now I'm going to select all of them and create a new material for them, and let's call it underscore extra because these are extra meshes. Contributing to the other ones. So let's bring this one here as well. Then I'm going to create a high poly boulder while duplicating that HP. Now, this is going to be high poly as well as the low poly. You see, no matter what we do, we have a rope mesh in high poly and low poly at the same time. Let me just remove the high poly. Okay. And now it's time to unwrap these. So the unwrapping feature is very easy for these because now these are just unwrapped, the borders are defined. And now only thing that we need to do is making sure that they have a UV map and make sure that the UV map is just the same name for all of them. So you want to make sure that all of them are the same. And if I go and go to UV Editor and select all of this, right click on wrap, you see, based on those borders, they are getting very good on wrap because these are now simple borders and we do not need to create UV maps. Okay? Now we could do one thing. If I select all of them by distance, it's going to remove all of those features, and now you see this is now one mesh. Okay? This is a very good shortcut in creating wraps using blender and ZBrush, wrap, and it looks like this one is buggy. So let's see I'm going to select that. Okay? And it looks like there's a bit of problem in here. So let's see what happens. Let's select them once more wrap. Okay. And if you want, you could just fix these issues. Let me delete that. Now, let's leave it B. Or we could slide. Okay. And it's now time to choose. Do we want to fix this or do we want to leave it B? And it depends on our situation. Because this is a faraway mesh, we are not going to do anything. It's going to just be fine. Okay? And if it was just you could go using the same procedure, try to go back to Zebush and try to fix that. So now while inspecting, I found that this is the problem. Let me go to the high poly and you see this is the version that we didn't decimate. Now we have these polygroups in place. Now, this is the low poly. I'm not going to remove that for now. Let me duplicate and resolution, dynamis on two k. Okay. Now let's go for ZR measure and change some settings to see what happens. Let's bring that to 0.5 again. I'm going to activate polygroups, but I'm not going to detect edges to see what happens. Now we get a cleaner result already. Okay? And avoiding that detect edge helped me. In some cases, you need to go for different settings. Okay? I just went for separating these so that the unwrapping is getting a bit easier and automatically done, and we do not need to define the borders and things like that. Okay, let me go here with the same settings. I'm not going to triangulate and let's export. Okay? And opal 01 and in blender again, so it should be replaced with this one. So sculpted. This is it. You see it gets replaced there, and this is the previous one and this is this one. Let me remove that, but you make sure that you bring the pivot here in the center, place it in the low poly folder and apply that underscore extra material, which is this one. So now, bring the excuse me, UV map as well. Right click on Rap. Perfect. We fixed those issue. So now, this is done as well. And let's see what we could do. I'm going to select all of them, select all of these. So there's something that hasn't been unwrapped yet, okay? It's this one. So right click Unwrap. Perfect. Now I'm going to select all of these, right click and select all of the vertices. M by distance, you see, it removed quite a lot of those polygroups. Okay? Looks like we should. Before that, I should have unwrapped this one as well. Okay. Now all of them are unwrapped. Perfect. Now, select all of them merged by distance, okay? It merged a lot of those vertices, and now it's time to pack them in a single folder. So we are going to use UV packer. And I'm not going to care for let's see if we could use rotation or not. First, let's go to Text tools and U VMs to separate by smooth by UV Island. Okay, you see, it has created UVs islands wherever the UVs are separated. It's going to be good unwrapping, excuse me, for baking. So let me select all of them. And you see the sharp line created is the result of that. Let me deactivate the rescale and set it to high quality padding to one. And let's see, for example, about this if we could try to Okay. You see it gets fixed, but some problems happen. So inspect to see if there's any problem happening. You, you see, this is problematic. But some of them could get fixed. For example, this is not. Okay. This will be okay. This one as well. So, this one is not. But this one could be right. It's going to not be that okay. So let's remove Okay. Now let's do something. I'm going to go for UV packer and pack once more. Looks like this is the best that it could do. Okay? Now, we are going to add the rope as well and make sure that it's the high poly that we are unwrapping. So because it already has an open edge here, and here we no longer need to create seams for here because these are already seams. But I'm going to select these lines in the center, okay? Create a UV which we have already created wrap. Looks like we could. We should have marked these Seam. Okay? Unwrap? Perfect. But since these are perfect squares, we could go for something like this, and now it's time to mix these. So let's do something. I'm going to rotate these and pack, let me bring the padding to zero. I don't want any rotation, okay? We want to make sure that they start from here exactly from zero and all the way to one, just like this one, because we want the texture to look tiling. But before that, let's do something. I'm going to apply everything including the scale and pack once more. Okay. Now I'm going to select these and try to scale. But instead of scaling like that because it's from here, I could go and scale based on to the cursor, which is from here. So now, if I try to scale, it's trying to scale from here and no longer scaling from the center. Okay? Let's try to scale, but it's going to be a long X and make sure that it's just like a seamless texture like so. This one is okay. And this one, let me try to scale in X. But since they have no buffer zone, I'm going to select this one and bring it up just a bit. It's going to be in Y, okay? To add a bit of distance here. Let's lock the movement to Y because we don't want to have texture bleeding, and I'm going to bring them up exactly to here. So we need to bring that here and a bit of scale just to make sure that they are in the zero to one UV space. Okay? Now if we blend these, you see there's a bit of overlapping. So now, I'm going to select all of these and select all of them as well. Let's go to UVSync so that we see what is going on. I'm going to select these and try to scale them like so. Now let's pack these only let's add just a bit of padding hack. And now we could again try to scale here from the two de cursor so that it scales all of them to here. Now, in order to save a bit of UV space, we could bring these and manually try to place them in a more optimized way. And Okay. This is good now. There's a bit of waste that UV space because it's inevitable using this method. We could have created one material for all of them, for example, the rope being a separate material or the shingles being separate material, but it's not going to be that good for optimization. So now, here they are. And now let me hide these, and I'm going to bring the high polypilsimport. Okay, here they are. And let's place them in high polyfolder. And we want to make sure that we select all of them and apply that underscore extra material to both high poly and low poly so that it's good for baking glater. Okay? Now, here's our low poly and here's our high poly vinyl. I'm going to take these, export them, and let's just call it ingles LP representing the hi poly. Make sure that you only select you only export the selected object, and then it's time for hi poly piles. HP representing the high poly and export. Okay? Now I'm going to pause and return back to you in the next lesson where we go for baking and unwrapping, excuse me, texturing these in painter. Okay? See you there. 29. Bake And Texture Shingles: A Okay, everybody, now we are in painter and I just imported the low polypils and you see that the UVs and naming and placing and all of that is correct. So we're going to do a taste bake and see what is going on. So first, I'm going for a normal map, and let me just select a high Poifolder and see if there's everything working right or not. Okay? See it's working perfectly, and the cages and everything and all of that is working fine. But we need to bring this just a bit to something more controlled. Okay? Just take a look around to see if there's no points like this in the result. So that way, you're going to just expand the cage until the cages are no too far, nor too close. Okay, in here as well. So that is because of a geometry problem. And since it's a very, very tiny, small polygon, we're not going to do anything with it. Let's just let that bake right away. Or you could go back and try to fix. Okay. Now let's bake and see if the normal map is baking perfectly, yes. But in here, there's no normal map because we haven't done anything yet. Okay? And we have the clay information applied here, and this one also is going to be textured fully in painter. So now that we know that it's going to work right, I'm going to bump up the texture to four K and let's go bring the samples up to get a better high quality results. I don't want the ID because it's not useful here. Ambient occlusion. You see, because these messes are closed, it might be that ambient occlusion affects each other. For example, these areas which are close to be darker than these areas. So you could go for especially when you're creating kits, it's a good idea to self occlusion. You could set only by say mesh name, but since we don't have that mesh name now, I'm not going to use that. Now curvature these ones are okay by default, bake, and I'm going to return back and see you when it's done. Now let's start texturing and let's take a look and you see it's kind of a clay material. So there are clay materials in here to get us started texturing. So let's see and this one is the best one. Okay. But it's going to affect all of them. So first, let me create a folder and just call this one clay and let me start to add a black mask, and then I'm going to go for my polygon fill, and let's go for objects and try to select that so that it only selects the shingles, basically. So now let's try to change some of those dry and ancient. No, this is not going to be okay. Of course, that is very good, but we need to change the clay color to something like something like the ones that we have here. So let's pick up something that isn't affected by the light that much. Now I'm going to bring the value down because I want it to be a bit darker. And for the secondary color, let's pick up something lighter from the same. And this way, let's bring the saturation down. Okay? This one is a great one to get us started. So it's a good one. So now we are going to add layers on top of layers to make that look right and good for our purpose. But definitely I like the color to be a bit darker. And if I apply, for example, one edge has to all of these, for example, let me bring smart mask that has a bit of edge. Let's go for edge. Scratch, for example, it has some edge value Okay. But it's going to be like that for all of the instances. So we have options. We have options, for example, to apply that edge here to make that a bit more distinguished result or later that we could patch these and create new measures with them and bring them to painter, apply edge pass there. So we have options. So I'm going for something in between. Let me just set that to something like multiply. Or let's go for ten instead. Okay, and then I'm going to bring the color to something more controlled. Okay, let's add just a couple of layers on top of that. Let me add a black mask, and I'm going for my procedurals, and let me bring some colors Okay. This one is going to be good for adding secondary shapes on the texture. So let's bring the balance to something more controlled. Okay? And then for the color, let me go for the color only and bring the reference and try to pick up something from these areas. So it's dust so it could be darker. Okay, you see, it's trying to add in more details there. So for roughness, it's going to be rough. And for height, let that be additive. So roughness of this one could be up as well. I like this one to be darker, which is going to be decided in Unreal Engine later. We have color controls there, and it's going to help us to change the color even more. So let's go here. So let's remove that edge damage and bring something more controlled. You said it has some edge damage, but it's going to be adding dust pass as well, which we do not want. So Okay, this is something okay. Global balance down with just a bit of contrast. And let me pick up a color from there. So it looks like something carved just right away from the surface of that color. And I don't want that to look obvious right away. Okay, let's say that we're happy with clay. Of course, there's nothing stopping you from going and adding more details. But now we are going for that rope. So let's see. Let me just search for fabric. And Okay. Now this is going to help us better. So let's say that we're happy with these textures, and now it's time to export these and try to kit bash with them. These are not finalized textures because they are going to be changed later. It's an iterative process. We changed something, and then if we were happy with it, we will return back and call it on. If it was not okay, we are going to change that more, okay? Just to find a folder where your textures are going to be exported, and then I'm going to go for Targa, and it's going to be based on texture size, which is actually two k. Okay? It's enough. And now in Blender, I'm going to delete these because these are the ones that are the base meshes. We don't want these. Okay? Let me import okay this shingle low poly and then add them to the kit folder. And then if I select one of them and apply that color, it's going to be applied on all of them. So base color image texture, and I'm going to open. So here's my base color. And you see it has applied that color on all of them. That is only color and no normal information or things like that. But definitely, the color combination is going to be a bit different. For example, later, we will add a good wood texture and make these ones a bit darker because right now I'm not liking the composition. I want the house to look like a bit desaturated and these ones to be a bit darker. Okay. After this short lesson, we are going to pause, and in the next lesson, we're going to kit bash the roof parts in here, which is going to be using geometry nodes for the first time in this lesson because distributing so much shingles on a roof with randomization using manual methods, it's going to take too much time. So we're going to use geometry nodes and create a tool that is versatile enough to be helpful for all of these roof parts. Okay? See you there. 30. Geometry Nodes For Rooftops: Okay. Now it's time to create the rooftops for these buildings, and I'm going to just create that using kit. And then whenever we brought them to the blueprints, let me bring my meshes folder, and then the modular buildings, we're going to replace them with that mesh in here so that it would be repeated on all of the instances where we have these blueprints duplicated. So now we are going to create those rooftops, but the method that we are going for is going to be a bit different because so far, we have been creating the meshes manually, trying to hand place details on wherever we want to create these kits. But now I'm going to use the geometry nodes to help us distribute those patterns across the buildings. So now let's do something. I'm going to bring the mesh that is corresponding for this rooftop, which is going to be this one and this one, okay, I'm going to duplicate. Then this is going to be the base for our sh creation. Okay? So I'm going to separate by selection and bring the pivot to center and let me bring this one to the center. So let me place the pivot here. It might be more useful. Okay, we are going to use the geometry nodes to scatter these meshes around our patterns. So let me see the dimensions of the meshes. They are half meter in half meter probably. Okay? More or less they are in the same category. So we are going to use the geometry nodes, and what geometry node does is that it allows us to create meshes and distribute them around surfaces. So now let's do something. I'm going to select this mesh, go to my geometry nodes tab, go to material preview, and click New. This is going to create a geometry node set up on this plane. Okay? We have input, which is the geometry, and we have the output which is going to be the final geometry that we are going to output. This setup is going to be so simple and without any prior knowledge of geometry nodes, you are able to do that. The method is called instancing. So we take all of these as one instance and distribute them along these patterns. So how do we do that? Let me first do something. I'm going to take this and separate it so that we work only on this one, and let me delete that, you can press this pin button so that whenever you click anywhere you are getting the same setup, no matter what, and it's pinned and it doesn't go away. So we need to select these measures and distribute them along the surface. So one way to do that is going to be creating points on the surfaces to distribute these around the surfaces. So let me do something. I'm going to take this because we need to place these in one collection that is going to be more useful for creating geometry notes. So I'm going to create a new collection, and I'm going to call it geometry nodes, 01 or whatever name that you might be it might be helpful to you. Okay? Now I'm selecting these, which are in my geometry nodes collection. Let me find them. Okay? They are here and make sure that the pivot is in the center or wherever you want. But the placement is better to be in the center. Okay? We have all of these in the center, and now we could try to rotate these as well because we want them to get rotated in this direction. So now apply everything as well as a scale and rotation. Okay, now we need to take this geometry. This is this plane in here that we have geometry. And if I remove that, you see we're no longer able to see that. So this is the geometry. We need to sample points on the surface to be able to distribute these on the surface. So just search for points. And you see some geometry some results in here, for example, points. This is going to randomly create points around surfaces. We need to convert this geometry to points. Okay. Just search for points again, and now we have one operator which is mesh to point. This is going to take that mesh, if I connect that here and then connect the output to the geometry. You see, we should get a point. But now the point is not getting shown because we need to set this one to faces, for example. Okay. Now, in order to see that, let me go back to the first 0.5. Okay. Now you see one point generated on that surface randomly. It converted that phase to one point. So now we have operator which is called join Geometry. Okay, I'm going to bring that here. Plug this one into geometry. You see everything disappeared, and I'm going to take my initial geometry plus the points to be able to visualize them. You see, in the center of that phase, it has created one point. So why is that important? Because we are going to use this point to generate geometry on top of that. It's available in the solid view but not in material view. Let's go to solid view to be able to see that. A, we have one point in here, and now the result that we're going to use is called instancing. So just search for instance and you will get points to instances or instances on point. Okay? Now connect the points to points like that. And now instead of this point, I'm going to let me just the select that because I don't want to be able to see the point. I'm going to be seeing the instances. So it converted that point to instance. So if I plug that here, let me plug that here as well. You see that we have one point and instance. So what do we want to instance? We're going to instance this collection. If I bring that and separate children, reset, and go plug instance to instance. Okay? Now you see it as instance one of these shingles on that surface. And now, if we go and try to bring more points, it's not going to be like that. We need to bring more points. So how do we do that? You see now we have converted that mesh to pass, and in the center of that phase, we have generated one point. Okay. Now, what if I go for this mesh and try to manipulate that mesh by bringing more faces? You see now it generates more points on those surfaces. And now if I go to material preview, you see that we are instancing those shingles on the surfaces. So if I remove that, you see, we are getting these on the surface. So there's one problem, and that is we are seeing all of these instances at the same time. You see, it's instancing all of these four geometry in here. So if I go pick instance, you see, it's going to pick only one instance and create something like a random pattern around here. So this is going to be our workflow, and now, for example, you could go for rotation and try to rotate this the way that you want. Of course, we are going to change the rotation as well and change the scale in X, Y, and Z, which we are going to change as well. But the main workflow is going to be like that, creating points on the surfaces, the way that we want, and then generate data on those surfaces. Okay? Let me disable that. If I take this pace and try to rotate Okay, now let's do something. Let's say that I'm going to select this plane and apply geometry nodes to that and select the geometry nodes. And from this drop down menu, let's say that I'm going to select the same geometry node. Okay, you see now, if I unpin this one and select this, you see we are able to see what is going on there. Let me select something, for example, this. Now if I select this one, you see the node, the same geometry node has been applied to all of this. And if I go and bring more points, you see now we are able to generate our results in the geometry. So it's reusable as well, and it's going to be a perfect case for generating the rooftops. Okay? Now I'm going to delete this plus this one. Now, let me delete the geometry nodes from that. Okay? Because I'm going to create a plane that is just like this one, but I'm not going to reset its rotation values. So I'm going to duplicate that and try to rotate that to the ground let's do something. I'm going to go back, okay? And let me This is just for testing. You could already go and create a plane. Let me snap that to vertex active bring that snap it to here, okay? And now if I go rotate, I'm able to rotate just like this one. Okay? Let's go to solid mode to see if they are aligning perfectly or not. Okay, they are somehow closed. So now, let me create a plane that is similar to this one and let me go to local to be able to rescale around here. I want to get a plane like that. I'm going to take the other plane and remove it and use this plane instead. But I'm going to apply the scale. Let me apply the scale, but I'm not going to change the rotation. Let me go to material preview and add a geometry notes, click plus icon, and we have the geometry notes created here. That is why now you see the rotation has been applied here. Now, let me bring these and bring them up just a bit and then apply the location. Now you see it brought them up a bit. Whatever you do is going to be then applied to here. Now, let me go select this one, go to my geometry nodes, and I'm going to create random distribution around here. I'm going to create pass so that I see one that it's similar to the scale of this one. Now let me bring Okay. Now we see very simple rooftop created, but we're going to change that even more. We have the same setup and in order to explain it a bit better, I'm going to again hide that or remove everything and start from scratch. We have this mesh. You see, this is the wire frame, and we're going to convert all of these faces to points so that we could load points, instances on those points. I'm going to bring in what is called mesh to point. Okay. Then if you bring it to here, you see the green line becomes white and it means that it's going to be connected. Okay? Now, what do you want to convert to mesh? I mean, do you want to create points on vertices or edges or on faces? We are going for faces. Because we want to generate them on the center of the pass. But also, you could go for other ones as well, for example, corners or whatever. We are going to faces. Okay? Now, we are going to bring in instances on points. This is going to generate instances on those points. If you connect that, you need instances. So we're going to grab this collection, bring it here, and apply. Let me apply that here. You see now all of them are here, but you see they are getting overlapped. Okay? You need to separate instance with children and pick instance. It's going to pick one instance for each point, and we're going to randomize that even more as well, do not worry. So now, in this setup, you see that it's just very normal and it doesn't have any randomness at all. So now, one way to add a bit of randomness is to distribute the geometry itself. For example, if you take one of these points and bring that back, you see it's trying to offset those which is what we're going to do. And then another one is to change the rotation and the scale. You see now by changing the rotation, it's rotating them all at the same time or by scale. We want to be able to first pick up random instances. You see now all of these are the same, plus this one. You see every row is the same. We want to be able to randomly generate from these four shingles on these points. So now you see in here, we have instance index. This is going to be an index index number that you can manipulate to generate random results. Okay? Let me just search for index, and you see it's here. So this index is the number, for example, in this case, it's going to be the number of instances. So we are going to randomize that. If I bring in random value let me just search for random value. We have ID. We could connect index to that and then connect it here to instance index. Okay? Now you see all of them are the same because we don't have any value. We could up this value, for example, instead of float let's use integer, and you could change the seed let me connect that. Okay, now you see we get randomized instances where we want them, and you could change the random seed to get different blocks for each point, which is going to add to the randomization, so fast and so easy. Okay. You could just change the seed to get something different. Okay? Now for rotation, instead of rotating them all at the same time, I'm going to bring something to rotate each instance individually. So there's a node which is called align Euler to vector. Vctor is a three point number and it means that these are going to be the same. Now you see they are all getting rotated around a single number like that. You see now they're rotated in Z. We could rotate in Y or in X as well. Okay. But we're going to first change that Z because we're going to change them along Z. Then let me just zero this one and we're going to use a random value again, Shift D to duplicate that. But instead of using random integer, I'm going to use a random vector, which has X, Y, and Z, mini and max. If I apply that here to the vector you see now all of these get random rotation. So now, we don't want that to be so chaotic. So we leave this one to be zero, but the max value should be changed. For example, let me go to 0.1, 0.1 Okay. And now you could just try to change these. Okay? You see how it changes the rotation of them randomly. Okay. And you could change the random seat as well to see which you like. This is what we're going to do for instances later. Okay? Now we have one scale value as well, which is going to decide for the scale of these points. So again, I'm going to bring in a random value. Again, it's going to be a vector, which is going to hold an X Y Z value. And if I put that here, you see, we should set them meant to one and this one to, for example, 1.5, 1.5. You see now it's trying to change these with something like that. But again, let me just go for 0.8 0.8 0.8 here so that we get change between the bigger planks and smaller planks. Okay. Now we created very simple geometry node set up to distribute these shingles on that surface. Now, we could also go, for example, change the geometry if I change the geometry itself, and let's say that I take all of these, right click and stop divide. You see now we get something more randomized. It's not going to be so natural, but if we go, for example, change the max to 1.3. Let me go for 1.3 on all of them. Or let's go for 1.2 or let's go for one. Or if it didn't, you could just take these and try to change and change the scale. It's going to change these as well. So now, another layer of additional change is that we could try to randomize these points to be able to change the placement of these shingles. Okay? Just go for your search menu. That search menu, just search for mesh, transform and randomize. Okay, I already added a bit of randomization, and let's see the result in here, and you see the amount of randomization that we add is going to directly contribute to the randomization that we add there. Okay. And then random seed as well. We could generate a lot of results just using this method. And now, if I go and try to, for example, change the scale from 0.5 to one, we get something like this, which is not the roof shape that we wanted. We don't want so much randomization. So it should be controlled. Let's do something. Let me go to here and deselect the first row of vertices No, the key is to deselect these edges. Because, for example, sometimes you want to keep the edge because, for example, when you're going to generate a modular result, for example, that is going to connect from edge to edge, you want the edges to stay in their place. So let me bring the search menu again and there here's the randomized and you see now we get randomization only on these center vertices. And if I add you see now we get something like this. Now let's do something. We have the same setup, and it looks like that we could export it using the old method using BTX and use it in unreal engine. But there's a problem to this method. Let me just explain with all of the same settings I'm going to export, let's do a test import here. So our final folder and you see, of course, the mesh is quite heavy because we have many instances and a lot of polygons, it's not going to work. Because they're still instances and they haven't been converted to real mesh. So that is going to be an easy fix. After your calculations are done, go and search for realized instances and connect it here. So now you see all of these have been converted to meshes, and if you apply this, you see that you're able to go and manipulate these measures. And of course, if you keep the geometry nodes as well, it's going to work the same. Okay? Let me export and again, test you see now the scale of the mesh has been changed dramatically, and it means that it's working fine now. Okay? Now you see the mesh has been imported just like we expected. And now let me just try to test it here. So because these meshes are rotated 20 degrees, I'm going to rotate this 120 degrees as well to match that. And you see it works perfect. And later that we add the variations, we change the color, and let me just change that color a bit because I want the color to look darker. So let me go for something like 0.5 Okay. Now you see they look a lot better. And if I bring that and try to test, let me go to something around that and if I place, you see, are able to create very convincing results. Now that we have the geometry, of course, it looks like that much randomization is not needed. So we want to control that. Okay? We just created a geometry nodes setup so that we could use it to create the rooftops. We are going to create the rooftops in the next lesson because this lesson is taking just too long, and I don't want that to be like that. Okay? In the next lesson, we're going to create the rooftops. Of course, we will create randomization and all of that. Okay? See you 31. Rooftops Continued: Okay, everybody, now we just created something like this, and now it's time to go and continue creating that. But if you take a look, you see the roof already has two sites. So that depends on us to see how we want to create that. Do we want to go for a perfect mirror? I mean, duplicating and getting away with it? The first method is going to be actually after applying the realized instances, we could apply the geometry and try to duplicate the measures, bring them here. Just go for a very basic duplication or even we could use mirror as well. This is the first and simplest method. The next one, let me just go back. The next one is to create a system inside the geometry nodes to allow us to do. Okay. And we have different levels that we could apply the same formul. So for example, we could apply that in this level. I mean, whenever we take that geometry and convert that to points, we could take those points and duplicate them to here. So let me just show a method. Let's go to solid view so that we could see what is going on here. So if I just that here, so for now, it's not showing, so it doesn't matter. Okay? That is not showing because we have deactivated data. We need to first alight a modifier to be able to see that. Okay? Now, these are the points that are generated. We could take these and duplicate them and bring them here so that we could use them. For example, let me just go for search, and there should be a duplicate elements. Okay? That is here. Now, we could do something. Let me bring that here, and now I'm going to plug this geometry in here and then the geometry to here. So what it does is that it's going to take whatever we have from this geometry and convert them or duplicate them on their place. So this geometry doesn't have any points. If you apply that after that, it's going to make sense, but we are going to go for pass. You see now it has applied duplication for now, but the amount is one. You see in here, we have 220 instances, excuse me, point in here. But if I go, you see now, if I plug that, nothing happens. But if I bring the amount up, you see now we get exactly double of that. And now on these points, we have on every point we have to point to point. Now we need to take these points and bring them to the side. So now we need two levels. We need join geometry. And let me remove that, and then we need to just plug this in here. So why am I doing that? Because we need first geometry in the level in its own level, and then this one is going to be then transformed. Okay? Let me bring in a transformed geometry And then if I just try to visualize this one Okay, let me just log that here. You see now? See the amount of pass being generated, it's exactly double of that. So now if I bring this, you see now we have double the amount, and if I bring that down, you see now we do not have any duplication. So now if I duplicate once, you see it's going to bring more faces here, exactly the double. Now, let's say that we are going to rotate this. For example, it's going to be a long Z. Okay? Let me go for rotation, 180 degrees. And you see now the geometry is here, it takes a bit of transformation and moving around to bring. Okay, let's do something because the pivot is in here, it's going to just move from this side. So now let's do something. I'm going to bring the pivot exactly to the center of the world. So that is going to be easy pivot to cursor. Okay. Now see after bringing that, it's going to line up this geometry in here, and we just randomly scale that so we get a duplication of here, we get a duplication here. And then if we just convert these to points and then plug the geometry here, you see we get something like this. But there's one or two problems. One is the rotation of these and another one is the fact that every time I go and try to change something from this original geometry, for example, let me take some of these and bring them to something like this. It's going to be applied in here as well. It's going to be totally symmetrical. So this method Aldo is a good one, but it's not going to be that great for our purpose. You could do something like this, but I suggest if you want to have a better setup, just continue with the next ones. Okay, back to our previous setup, and let's take a look. Okay. Now the rotation is off. Let me see. Let's go for the rotation. O So it looks like we have applied by accident, we applied that rotation. So now that information is gone. So you saw that in previous lessons, we just brought it here, and the rotation was not applied so that it knew the rotation and it knew that it should rotate these with that degree. So now the rotation is gone and time to learn something new. So let's do something. After these instances, I'm going to bring something. Let's go for rotate instances, okay? We have an instance rotation. It's a value. It's something that you can take the information from. We do not want that. We want rotate instances. And there's a rotate geometry as well, which is not going to be useful for us right now. Okay? We are going to bring that before realize instances because after that it's going to be geometry. So now let's go and see how we want the rotation to be. So we want to first, let's go that is in Z, so Okay. Now, you see, with that, we are able to apply the rotation here. So let's go for negative 25. Okay. See now we have rotated those exactly along that surface. And with those random values as well, we are getting something great Now, here's for rotation. And if you want to duplicate them over to the side, you could either use the old method of grabbing the instances and bringing them over, or you could just take this one Control Shift D, duplicate to keep all of the connections. And if you do not have that shortcut, you want to go to edit preferences, add ons and just enable node wrangler. This is going to bring some shortcuts that are helpful for your workflow. So now, let me bring that here. And then again, we need to bring one join geometry. Okay, now we have these instances in place and duplication of them here as well. So again, we could go bring transformed geometry see now, we have transformed geometry and we have transformed instances. Transform instance is going to take individual instances and just do manipulations. But if you go for transform geometry, it's going to take them like a pack and transform all of them together. So let me bring connection like so. Connect the geometry in here, and then bring instances to here. So now let me connect that here, and you see the number of instances is 440. If I just plug this one, you see that's half of that value. So after that, we have something like this. Okay? So then we could go and try to rotate that 180 degrees, to get something like this. Okay? Again, let me take a look from the top. It's going to be something like duplicate. Okay. And then using transform geometry, it's going to take all of them and just transform them like a pack. And you see the pivots in the center. If the pivot was off, we would have problems doing that. For example, let me bring the pivot to the place that it was previously. Okay. Now you see we have some problems, but I brought the pivot to the center of the world. Okay, now you see the result. Okay? After such result, you could again, bring the transform instances rotate. And then let's just try to rotate. And you see it's rotating them like this. Okay? And this way, you get something that looks all right for both of them. But again, there's a problem because I believe if you take the and just you see now, it's just symmetrical. If you want that symmetrical to be absent, you want to go for another method. So this is another method. But if you want to go for another one, just bear with me. We're going to explain that. So I'm going to take all of these and delete them and now this one is more customized and it's going to better for our workflow because we could take each one and, for example, bring a full geometry and try to just apply any instances that we want. So let's say that, I'm going to bring a full geometry. So let me just wrap that. This is the building number one. And let me just take all of these Okay, I just selected one of these that are separate from the geometry. You could go to select and I'm in the phase mode. Select, select by similar. So let's go to area. Okay? Now, we need to just bring the value up Okay. So, just by bringing the value up, we were able to select that and delete them. Okay, because I don't want them to be there. So let's do something. I'm going to bring that to the center, but I don't want to upset this from the original place. So I'm going to bring that using old D instead of Shift D because now, whenever I change something in here, it's going to be applied on the original instance as well. So let me bring that here and try to just place it in a way that we could see the placement of our instances on this building. Okay? Now here's our plane, and I'm going to duplicate to this side. And let's just try to change some things about these geometries. For example, I could try to go to local mode or normal. Okay? Try to flatten these, bring them up so that you do not see some of those really dramatic changes here. Okay? Now I'm going to join these two together. So this one is the one that we need to take the name Okay, this one is going to be joined to this one. And now if I bring the geometry, you see, instances have been applied, but there's a problem Again, the rotation is off. Okay? Let me apply everything, and let's go to the geometry nodes and see the results. See, it's good on the building, but the problem is that the rotation of some of these are off. So how do we select these? We are going to use index. So by bringing index, we're able to select the different instances that we want. So you see the number of instances is set to zero because we have realized those instances to geometry. So if I bring that to here, you see now, we have 440 instances in here. So let's say that every one of these is an instance and every one of them has a number. So we want to select every instance that is bigger than 220, which is the half number of that. Because on every side, we have 220 shingles, and that index number is going to be helpful for selecting. So let me bring rotate instances again. It should be here and let me bring that like so, and I'm going to connect that to here as well. So now, if I try to rotate, you see, it's going to rotate all of the instances. It's rotating all of the instances at the same time. But in here, we have selection input as well. So this is going to help us select different instances that we want to grab. So if I just grab a node right away, you see that the first one should be an index. So we have an index in here, but it's not going to do anything because index is a number. You see now every one of these has an index number starting from zero all the way to 439, which equals to 440. Okay, we are going to compare this index number to a certain number that we want to tell that, for example, whenever index number is above 220, rotate that. So how do we do that? We are going to bring in a compare node. So let me bring that here and set that to integer. Index is going to be A. Now, whatever value from these that is above one is going to get rotated. So now, you see if I bring that, it's going to just try to take these from the instances and try to bring that go for that number, which was the half number you see now here has been excluded from the rotation. But the ones that are above that are getting rotated, so you see these are not changing at all because we are grabbing the index number and we are telling that if the index number is greater than 2,220, rotate that. We could tell, for example, if index number is less or equal, it's going to just rotate this. Okay. But we want to go for greater and try to rotate these to match the direction that we want. You could apply different rotation values. And then one more change that you could do is going into this random value in here, and then we have a factor in here. You see now after applying the factor to one only to zero, we're not changing any random numbers. But if we bring that to one, we get too much variation. So let's go somewhere between both of them So let's go for 0.5 right now. And now the great thing is that we have special geometry in here, and it means that if I take, for example, this and try to change something from here, it's going to be only applied on this instance and not the other ones. Then we get perfect duplicate geometry to that side. And you see there's a bit of up and down in here, creating a bit of a story. And in here as well, we get what we wanted here is not changed at all. So now, if I go and try to realize instances, you see now we get exported to Unreal Engine. So now let me take that. And then let's name it Static mesh, modular, MOD for modular, and then building 01, and then it's going to be Rooftop under score 01, the variation number. Okay. Now, let me go to Batex and we are going to export that and test it. Of course, we are going to bring some changes, for example, bringing some wood and creating some structure here like the staircases that we created to look a bit more natural, but it's going to be for testing right now. So export, we have the realized instances as well. And then let's try to bring that here. Okay. The first one, and we're going to convert that to nanite in the meanwhile, let me take this and for now, I'm going to remove this. And you see, it should be reflected on the first building as well. So I'm going to take that one export as well. And the geometry is here. Okay. You see now the rooftop mesh is great and later that we apply the material and all of those changes, it's going to be a lot better. So it's just for testing. So let me grab the building 01, reimport, and it should. So it's not getting reflected here. So let's go for import. And this is the test building. I believe that it should replace that. Okay, now you see the changes being reflected here and in the geometry as well. So now, We are going for our blueprints and in here as well in the blueprint, you see that it has been reflected. So again, we're going to bring an instanced geometry. Okay. Then from this menu, just ring and we need one instance plus one and there's this mesh that is working perfectly with the building. And with the later changes that we apply, it's going to be a lot better. So compile and save and see on every instance of that building that has been applied. But of course, the color composition is going to be something different. I want this one to look darker. I want the rooftops to look darker than the buildings themselves. Later, we will create textures that are lighter, and this one is going to be darker when we create the material, and all of those changes. Do not worry. So now that we have the setup, we could create something like a tool to apply on any geometry and get the same result. So that it's going to be a bit faster. So there's a node in here, an output node that could be applied on any number that you want to randomize. For example, now that we know that later that we are going to apply other geometry parts that might be different than this one and have different phases, we could try to randomize the selection so that every time we apply this one on a geometry, we just change the selection number and it's going to work right. So just plug that number. Instead of for selection, you want to plug that to one that you want to randomize. So now you see it has been randomized, and now we could try to select that and change with one slider so that all of this works in our advantage only using one slider. So let me go to interface menu and in here, you want to change the name. I just changed the name to instance number for rotation so that we see something like this. Okay, let's say that we are happy with this, and let's say that we're going to apply the same thing on another geometry. Okay? Let me bring that. Let me hide it for now. And let's say that I'm going to create a new geometry and bring some vertices in here. Okay? Now I go and apply it at geometry nodes, and from the selection menu, I'm able to select the original geometry nodes that we had. Okay? Now, let's make that special. And you see, for example, in here, we need to go and change some more values. For example, the number of instances in here should be 30. So I'm going for half of that value. So now you see it rotates some of them. Of course, this problem in here is because we are seeing that geometry, but it's not going to give us a bad result. Okay? This is the geometry. And if I go and try to take the mesh and duplicate it twice and try to subdivide it once, okay? You see now we get the same rotation now you could see that we are able to change the rotation using that value, okay? Using this slider, we are able to create many changes that we want. While the original geometry node hasn't been changed. Okay? This is the original one. This is how you could go and create more results. So now, I'm going to bring other roof parts and see what we could do using this formula and just generate rooftops so fast. Okay, now here's the second building that we need to take in consideration. So we know the boundaries and how well they are for the composition. Again, I'm going to select. And then while in phase mode, I'm going for select select similar and if you go for area, you're able to basically take these and remove them. Now, to compensate for that, I'm going to just take these two, shifty and then I'm going to scale them, but not along the normal. Let's go along the global vectors. Now I'm going to separate these and then bring this one to the center. Okay? And then I could just take this and delete. Okay. Let me export this one. So that later we will bring that into Unreal Engine. But now I need to create a copy from that old D. Then I'm going to bring that to the center, okay? Now let's place it exactly the way that it should be. And I'm going to take that geometry and try to align it with this so that we could see what we are creating. Okay, let's go back. And then here's the results that we are going for. So let me apply everything so that the geometry brings back to the center. And now I'm going to take this. Let me take this one because I need to wrap the name from that. And then it's going to be roofed up number two. Let me just bring this one to the collection done, okay? Now I could hide it for now, and let's try to work on this. So you see the dimensions are there. Everything is perfect. Now we could go at geometry nodes, modifier, and press new, and then let's select the geometry nodes that we have. Okay. Let's just create a special one, okay, so that we do not change the previous ones. And now let's see what we are about to do. So the first problem is that we need to take our lane and just divide it into a lot of chunks, okay? Now, let's go for more. And if we apply, you see, we are getting those exactly the way that we wanted. So let's go back. And now let's try to subdivide. Okay? Now we will try to rescale these the way that we want. Okay? For this one in here, we do not have the amount of subdivision that we have. Okay? Let's go for this one. We could go for a similar number. Okay. And if we apply, we are getting what we wanted. So let's go to solid mode for now and see what is going on there. Okay? Scale needs to be changed. We could scale them here or using or I could take those original kits and scale them as well. I mean, these geometry parts, let me go back. If I take these geometry parts and try to rescale them and apply scale, these are going to be scaled. But I think it's going to be bad for the previous ones because they are already using the same formula. Okay? You see now these have been scaled as well, which we do not want. Okay. Let us go back. And if I bring that now, you see, it's a lot better because we do not want to scale these. Or if you want, you could create a new collection and create new kits, which we are not going to do for now. So the scale should not be changed. Okay? Now, let's see what we're going to do. We need to grab our kits. Then the problem is that we need to scale these and rotate them. So let me see how many instances we have. Let me bring that before. So we have something similar to the previous one, okay? And then we could easily enter that number so that these instances get rotated. Now you see it's inverted. So we will go and try to rotate those as well. So the rotation for these is okay. And now, let me go for the scale. And now instead of 0.8, we could go for 0.1 0.1 0.1. And for example, here, let it be 1.2. Okay? Now you see they are filling that gap a lot better. But there's not much variation that we wanted. All of them are lining up exactly the same. I don't want to be like that. Okay? Now we could go for this factor in here and try to add more variation. And then for rotation. Let me see. This is not changing at all. Okay, excuse me, I was just calculating that wrong. In here, totally we have 224 instances. And that means that in order to take that to work, we need to use half of that value. I was just miscalculating. Let me bring the previous rooftop. Okay, this is it. Let me just select that. S in here, we have 400 and for the instances which the half of that value would be 220. Okay? Now, we have half of that value. So instead of that, we could go for 110. No, not this one. Let me height this. We need to go for this one instead. Okay? Now, if I go for 110. Now the rotation, I think should be applied. Okay? Now, if I bring that value, it's not working because half of the value that we have, I mean, these ones, the index number should be greater than 110. Okay? Now, let me see if we could try to rotate that a bit better. And there are couple that need to be picked up as well. Okay. Now, we could use this or we could add a bit of more randomness. Let me take that. I'm going to select all of the faces, right click and subdivide. Now we have a really chaotic rooftop, which actually we might not want. Okay. We could take some of these and subdivide, it's not working as well. Let's see what happens. Let's try to test that on real engine to see what happens. Okay? We have to realize instances applied, and let's go to bat X. I'm going to export that. And then we're going to test that here. So let me see if the building 02 gets updated or not. So it doesn't. Okay, we're going to import that manually. So this is the updated building, and it just updated on all of the blueprint instances as well. So let me go back. On my meshes folder and I'm going to import this one to see if you like it or not. So here's our building. I don't think that we like this result. So that's too uniform. It definitely needs to be changed. Okay, let us go to blueprints and now Blueprints number two. Let me create an instanced static mesh, and I just called it rooftop. Let's search for the mesh that we want and create. Let's go to Viewport. We do not see that because we need to create one instance. Okay? Now, if I bring that up, it's working, but the composition is just, like, too mathematical. Okay, now it has applied on these parts as well. Let me see if I like that result or not. So definitely we could go with something different. At least we could add a bit of randomness in here. So let me take all of them except for these ones, go to Vertex mode and just delete the edge vertices. I mean, do not delete deselect. I mean, so let's just add a bit of randomize. Okay? This is at least something that we could do in order to randomize our result a bit better. Okay. Now let's do something. I'm going to select all of them, subdivide. I'm just taking a look and we could go, for example, in the scale, we could go for 0.5 until one. And now this is because we have subdivided doubled the amount of instances, so we need to double this one as well. So times two. Now, let's go another times two. Let us see how many instances we have. So we have something close to 900. So let's go for half of that value. No, I don't like that composition. So this one should go for 1.1 or 1.25. Okay. Now, just a bit of randomization, especially in the center. Okay. And now let's do something. I'm going to take every other instance of edges. Just hold down all shift and try to select your way through. And then if I bring that if I just separate that. Now if I join them again, that's going to be another part of geometry. So let me take that and join it to the previous one. Okay? Now, let us select by loose parts. Select By loose geometry, which it shouldn't. Okay, let's go try to manually select these And if you just change that somewhere around here and apply No, that's not going to work. Okay, let's leave that be like that. Later, if we need it, we will change the value. But definitely we need to change the rotation. So let me see. This is going to rotate all of them. So let's correct the rotation here, and then this is going to compensate for these. Okay, export. Then if I find it and re import, it should be applied on all of the instances. This is the second rooftop, so reimport. Okay? It's not allowing us to do because I believe we should have realized the geometry, okay? That was causing the pile to be corrupted, okay? You always need to realize the geometry. Okay? If I now go and reimport, it should be fixed. Okay, done. Okay, now changed. And now I know that these buildings, I mean, this one and this one are iterations of the same building. These two buildings are iteration of the same. They are the same scale and these ones as well. So the building 01 and 05 could use the same geometry. Okay. Let me go to our modular buildings and building 05. You see? Again, let me create an instanced static mesh rooftop. And then we could select the rooftop number one because these two buildings were created using the same base and value. Okay, do not worry later, we will create variations, maybe on different sites. Okay, compile, save. This one is okay. So let's go for the building number four. And instanced static mesh rooftop. And it should bring the rooftop number too because building two and four are using the same scale. Okay, fine. Now if I compile and save all of the buildings except for that center one in here are using the same geometry. And it's okay. So there's a problem in here. Let me take a look. Okay. This is standing out too much. Let's do something. I'm going to just right click. Let me see if I try to scale that by 0.5 No, again, I didn't like that. So let's do something. I could replace it with something else. Let me promote the selected elements. Okay? Now I have the ability to take and bring another one and use that one. So we need more rotation in here. I need them to get rotated around the ground a bit. So I'm going to pause and this lesson is taking too much. In the next one, we are going to fix these issues and create this one as well. Okay. See you there. 32. Procedural Shadow Catchers: Okay, everybody. Now, the rooftop in here is just off. We need to change the scale, and that is going to be very we're going to let me deactivate that. We're going to take every edge loop and edge ring. Okay. Let me go for select select ring, select loops. We're going to select edge loop or edge ring. Okay? It's selected all of them. If I remove them, we're left with a couple of piss. Okay? If I bring that, you see now we are getting just one. Okay? Now, let us bring more of those here. So let's go for 30. And in here, let us bring five. And let's test to see what happens. Now, let's go back. Bring seven. Okay. But again, definitely, we need to change those. So again, let us go for 30 in here and seven in here. Okay, we have now vertices, excuse me, instances, let us divide that by two. Then we could just try to create something like this. Let us add just a bit of scaling Then for this one, let us compensate just a bit so that they're facing like so. Later we will remove from this as well, so I'm happy with it. I'm happy with the scale. Let us go for 0.9 by 1.2. Now we're going to test that to see if we like it or not export. And then here we should be able to just select that mesh. And reimport it so fast. Okay, now I'm happy with the scale, but the rotation needs to be corrected. Let me see if I take and try to rotate that 180 degrees. I might leave us with a better result. Okay? I'm now liking this one a bit better. Later that we bring the constructions and beams and all of that, I will look a lot better. Now let's go to the material that we have the material extra and let's do something. I'm going to bring contrast cheap contrast. We need to bring cheap contrast RGB because that one was grayscale. That here, and then this one to base color, and it needs a value. So let's convert that to a parameter because this one adds just a bit of contrast. If we go for contrast of one, it's going to create something like a burnt wood, which we do not want. So let's go for 0.5. Again, we need to go for a more controlled value 0.1. Okay, now they are too saturated. Let's go for 0.05. Looks like this is default value. Let's go for something in between 0.0 75. Now the color is liber if I bring the multiply and try to multiply this by another parameter, let me call this one parameter or zero, zero. This is going to make the result so dark. Let us save and you see the color is so dark, we don't want that to be too dark. Because this is a parameter, if I just take that and try to change the value, let's go for 0.1. If you just desaturate the color a bit, I think we will get a better result because I don't want that to be something like this. Later we will create a material that applies all of this. But for now, we need something so quick to tell us about the composition. If we go for one, it totally desaturates. Let's go for half of that 0.5. And then we could go for 0.25 to make the colors a bit lighter. Okay? Now they are getting a bit better. They're not that much annoying. So here's the result that we have, and then I'm going to take this one, bring it over to here. Let me place that Now, you see we have two rooftops cate it with the same formula with these. Now, let me ring this. If I select that and then we know that we need to extrude these. So let me select one of these and then select similar area. Let's select these for now. Okay. And then these two need to be separated. Or let's go back. Instead of separation, I'm going to instead of duplicate, I'm going to just separate without duplicate, so that the rooftop gets removed. Okay. Now let me bring that to the center of the world, and I'm going to just take this export. Now if we just reimport that, I believe it should be updated. Let me see what happens. It didn't, so let's go bring that manually. It was building number three. By accident, I was remporting building number five. Building number three, Okay, it's not doing any favor, so let's bring that manually. Okay? Done. Now here we are. We need to create the roof for this one. So let us upload geometry nodes. Let's create a special one. Okay, let's apply everything, bring the pivot to center, and all of the results should be corrected and we could do something. Okay? Initial rotation should be changed because this one, you see, it's rotating this way, but these ones were rotating in other directions. So let us create a vector in this rotation in this initial rotation. Okay, Victor is a number in here. We should apply that one first. So they should be rotated along Z by this value. Okay, now, let us bring this one and it looks like this one is a solid piece of geometry. So let us separate first. This one will be the correct one. So I'm going to join that. Now, if you just take that one, you see now they are different parts of geometry. So now, let me bring the amount that we want. Okay, looks like 21 is good because I want this building to be different from the rest of the buildings. Okay. And now let's go for the same value in here as well. Here should be 20. Okay. Now, let's see what we need. So we need this instance number to be divided by two. Okay? Now the rotation is actually correct. So using these values, your values might be different than mine. Okay. Now, let us apply that and select the select the edges because I want to create a bit of randomness on the results. Randomize No, not that much. Let's go for half meters, 0.25 should be okay to add just a bit of randomness. Okay. This one is getting chaotic, which is good. Okay. Now, let me just take the name and copy. That is going to be rooftop 03, and we're going to export and test to see if we like the result or not. So here we are. Let us import, because that is the heaviest mesh that we have been creating so far, it might take a bit of time, but do not worry. It's going to convert that to nanite. It's good except for some bugs in here which we might fix later. So again, we're going for the blueprint number three. And then we're going to bring instanced static mesh. Again, roofed up number three, and it's going to be only one instance. Compile and save. It applied on all of those instances and now I'm totally happy with what we have been creating so far. Of course, the work is iteration by iteration. We will change these and we will iterate and see what should be changed and later that we bring the materials, they are going to be a lot better. Okay. Now for the time being, let me just desaturate the rooftops a bit more. Of course, do not worry later. We're going to create a lot of variation maps to make this look a lot better. So it looks like the final one is the desaturation, it has been desaturated just by half. So let me go for complete one. Okay. This is something that I really like, but let's just bring that to something more controlled. Okay? 0.7 looks like the good value. And let me just go to the correct one. I mean, the wood kid material as well. And I'm going to just desaturate the material in here a bit more. Okay? Let me just bring in a parameter. Okay, desaturation of zero means no desaturation. I'm going to just desaturate the wood a bit. And for the wood and for everything in here later we're going to create lots of variations. If we go for 0.1, it's too much 0.5, again, too much 0.2 If you go for negative one, for example, it gets saturated. Let me go for 0.1 or 0.2. Let's go for 0.15 something between both of them. Now this is too much. 0.1 or 0.05 Okay. Looks like 0.1 is a good value for now because I didn't want that to look too saturated. Okay? Now we have some of these parts like these shadow catchers and things like that that we need to create. So that is going to be easy. Just we need to take the mesh in blender and divide it and place our shingles there. Okay, here we are. And let me go find what we have. Okay. Let's start with static m01, which is this one. We do not have any shingles here except for the rooftop which we have already created. And in here, building number two, we need to create a shingle rooftop. Okay? These are going to really make the building a lot better. So again, I'm going to press Alt to take an instance and bring that to the center of the world. Okay, let me just take this one and bring it over to here, and I'm just going to wrap this one and this one separate by selection, and for now, let's hide this so that we could start working on these ones. Let me just separate them press P and by loose parts. Now these are separate parts of geometry. We do not worry later, we will bring them to the center of the world and export them. Let us subdivide these Okay, let's start with this one. If we didn't like it, we will return back and try to create more shingles there just by subdividing. So let me apply everything and bring the pivot to the center. And then geometry nodes. Let us bring the first geometry node, and then we will just click here to make that special. Okay, definitely, we need to subdivide that once. Just take these, subdivide, and okay. So now let's go to our geometry nodes setup. Okay, perfect. And then it looks like we could try to correct these. So, I mean, we're going for the scale. So let's go for 0.5 here and 0.8 here so that the shingles get a bit more correct in the scale. And later when we converted these to geometry, we will return back and, for example, maybe delete some shingles and things like that. Again, we're going to add just a bit of randomization. So we're going to remove the edges because we don't want them to get randomized. Okay? Just bring the optimized menu. Okay. This is good. This is really looking great. And I want all of these to face the same way because these are not just like these ones, and they have only one side. Okay? Now, let me convert this one. To a geometry nodes. And then I'm going to take that one, make that special. Now we need to rotate the base in here because it has been rotated 90 degrees. So let's go in here that rotation, we need to bring a vector to define initial rotation that everything is going to be based upon, just like this one that we have. We have a vector, and I'm going to bring another vector. So we could rotate that Something like 90 degrees. Okay, this one looks right. So now we need to take the mesh and try to subdivide it. Now, this looks too uniform. And it's good because you see the scale of shingles in here and here are different. But let me go back and add more of the shingles. Okay, this is good. Now, I'm going to Gale on 0.5, and this one is going to be 0.8, for example, or 0.7. And again, a bit of randomization. Okay, let's use the same value just like this one so that we get a lot of randomization. Okay. Then all of them have been realized into instances. And now let me bring the building that we had. It was the static mesh building number two. So let me find it here, okay? This is static mesh, and you see they are working right. So let me go to the estatic mesh that we have here. And we need to take these two length and delete. Then I'm going to export because we need to see that in real engine. We need to reflect that change there. Now I'm going to name this something like these ones. So let me just grab the name, and this is going to be static Mesh Modular building 02. Then Shadow catcher 01. And let me rename this 102, as well. Okay, Export and then export. Make sure that the instances have been realized. So back to unreal engine, let us see let me see if by just importing that the changes are reflected and now we need to import our measures and place them here to compensate for the composition. That is going to be very easy. Grab these two. Make sure that they are converted to nanite and we don't want to generate light map UVs. Just let it calculate and start using them in the blueprint. Okay. Let me see here they are. And let us go to the Building 02, and we know that the building 02 is affecting the building 04 as well. And you see every variation that we have on 04 has been removed as well. So we need to take these together and edit them. So first, let us see what we have here. We need one shadow catcher here and one in here. So just like always instanced static mesh. And I just called it shadow catcher. Okay, here they are. This is the first one. Okay? It's this one that we need to place here. So Okay. We could, of course, try to rescale that just a bit to match with proportions of the building. Okay, I'm going to just duplicate and this time, I'm going to bring the other one, which is this one which we need to place just here. Okay, compile and save. Now you see it has been applied on all of these instances that we have around. So because we know that building 02 and 04 are the same, we need to place one shadow catcher here. Let me see what we have here. This is the building number four. Okay? We have one shadow catcher here, one here, and this one which we're going to create specially. Okay? Let me create again instanced Day mesh, no, not this one. Shadow catcher and then bring that. And then we will just try to instance that Okay. Now we need to duplicate and replace it with this one. So this one already has a rotation that we wanted. Compile and save. Now we see that shadow catcher being applied on all of those instances, except for these ones that have the shadow catcher from the wood kit. Okay? Now we have this shadow catcher for here that we need to create. And when I take a look at here, we see that the final three shadow catchers that we need to create are this one, which we saw earlier, this one for the top of that born, then the final one for here, which are going to be created. We're going to create them just now, and in the next lesson, we might finalize them or start finalizing these modular kits because we need to export them to painter and create variation maps and create textures for the wood. I mean, this main texture, we're going to create it for both wood and the beams and the texture for this one for the extra kits like the one that we see here, these rooftops. Then create variation maps. We need to finalize the measures before that. Let's start again, and we're going to start with this one. So let me just take these and then select similar in area. It should be fine. And now, I'm going to take these two because I need to create a bridge between them to create the faces. Okay, shift two, shift D, and then P, separate by selection so that this one, okay? Let me remove what is there, and we need to take these two right click and to create a new phase and we're going to delete this. Okay? Let's check for the phase orientation. I definitely needs to be changed. Take that phase, shift and to recalculate and okay. So now, this is the boundary that we need to spawn those measures on. And then let's export this one as well. Building number five so that it gets updated. Okay, it is not, so we need to import that like so. Okay, now building number five gets updated with correct information. Now we need to create the geometry here. So let me just bring everything back, and I'm going to take the name from the Okay. Building number five and shadow catcher 01. Okay? It's going to be great. So now, let me see we have building number four as well here. Subway gain, we're going to select one of these completely and select similar area remove, and we're going to just repeat the same operation to create a base for here. Separate by selection, then these two, let me clear that edge because we do not need it. Right click N to create a new phase. So these two need to be deleted. This one shift then N to recalculate the normals. And then I'm just going to copy the name here. So it's going to be building zero or shadow catcher one. And the pivot should be in the center, like this one. And then I'm going to export this. Again, this one as well. Select similar area removed. And then we already have a phase in here. So let me control I to invert the selection. No, I inverts all of that building. Okay? We need only for this one. So deselect that, remove the remove that mesh because we need only this base to be the center. So P separate by selection, and then I'm going to opy the name. It's going to be building number three. Okay, Shadow catcher one. Let me bring the pivot here, and then this one as well, is going to be exported. So before applying anything, we need to see if these buildings are getting updated. So right away, let me import, and they should be corrected. Okay? You see building 03 being updated and building 05 as well. No, creating these would be simple as well. All we need to do is spawning geometry nodes on the meshes, and it would be right. So Geometry nodes, let me select the first one. Let's correct that and then we need to bring a rotation because this needs to get rotated. Now, this one is okay. We need to rotate that in maybe Y. Y is good. Y plus a bit of X. I think. Okay. Now let's randomize our results a bit using the same settings. And it could be 0.5 to 0.8. Okay. Let's right click subdivide. Now that is too much. So the subdivision needs to be corrected. And then in here, 0.4 to 0.8. And then the randomization could be done as well because we removed that randomization. And because we have many instances in here, we need all of them to get rotated at the same time. So here, I'm going to just set that zero so that all of these get rotated in the same direction. Export. And then this one as well. Let us subdivide a lot and then bring the geometry nodes. The first one. Let's make that special. We need to rotate these. Let's set it to zero because we want all of these to get rotated at the same time, at the same direction. Bring a vector and They could be rotated in Z. Okay. Now let's go for the initial rotation. We want them to rotate like so. And then the randomization. All of the vertices and then randomize. Okay, this scale could be a gain from 4.4, excuse me, 20.5. No, let's go for 0.7. Okay, let me export this one as well. Make sure that everything is correct. And now, finally, this one, no not this one again. Okay, it's this one. I'm going to just let these be a bit more pronounced because they are far away from the camera. We need to see what is going on here. So geometry nodes 01, so let me subdivide that. Okay. Now we need to again bring a vector. Add that our rotation and look like they could be rotated like so. Okay. Just add a bit of randomization and they should be good to go. Okay, let's export this one as well. And then finally, we could import them here. So these three imports. Okay, here they are and completed, and we need to just correct them here. So let's start with building 03, and it needs to be placed here. So Let's call it shadow catcher and it belongs to Building 03. Okay? Now, only we need to place that instance here and then call it done. Compile and save, okay? Now building number four, we already have shadow catchers, so let me duplicate. And then building 04. Okay? Now, it needs to be placed here. Compile, save. And now building number five, we already have shadow catchers in here, so we do not So this one belongs to building 05 and it should be replaced here. It looks like there's a bug in here we need to remove because the space building belongs to Building 01. And we placed this so that if we wanted to create a door for it, we could just create a door and explore using the born. Okay, let me bring one instance from that then it could be placed here. Compiled save. And you see these results being applied. So let's go correct the rotation of the building zero for shadow catcher. The rotation is too randomized. Okay, that is here. We see why is that. Okay, perfect. Report. And let me just take these, and they should be in the D folder. Let me bring them here because later we need to export them to painter and let me see what is causing that problem, okay? This is it. By accident, I selected this one. Okay. Let me find the actual mesh, and it should be the last step that we go for in this lesson. Okay, shadow catcher, number four, it should be fixed. Okay? Now, that's right. Let's take a look from the composition camera. Everything is looking right. So this lesson has finished and we created the rooftops in just a few lessons, just creating geometry nodes that is flexible enough to create different rooftops and shadow catchers. And you already get that how using that system, we were able to create different geometries that are identically the same, but they are varied. Okay. In the next lessons, we are going to finish these. For example, if this shadow catcher needs to have beams and things like that, we're going to create and just randomize and create final variations for these measures because we need to go for material creation. We're going to create the first material pass. We need to make sure that all of these get finished before creating materials. Okay. See you in the next lesson. 33. Variation In Modular Kits: Okay, everybody. Now we have placed the building with just a single kit. We just used a single kit for all of the building and created what we wanted. Now everything is looking all right and we have a great base for our secondary details to be there. Now we are going to create variations. For example, for this building in here, we might need to go create, for example, one continuous module that goes from here to here and having some variations. For example, the wood might be broken. There might be bits of variations. We're going to add history to these kits. For example, like the first building that we went and created just a bit of a variation in here. We might go and create variations in kits later in blender. And then, of course, the creation in painter as well is going to be there because we're going to utilize the second UV map technique and try to create variations with that as well. And after these, the kits are going to look verified. Okay. Now what we're going to do is creating variations. For example, I take this one in blender and try to create variations with it. But then there's something for the blueprint side as well. For example, let me find the blueprint corresponding to this one Okay, here it is. And then we need to do something in the blueprint to be able to select the kit and change it. For example, we tell blueprint to create a variation in the editor and allow us to change it with another mesh. That is going to be so easy. Okay? So first, let's create a variation in some of these kits. And then we will go and try to create a demo to really show how this is going to look like. Okay, here we are in the blender file, and let's try to just grab some of these to add a bit of variation. Example, this generic wall is a good case because that has been used and seen a lot. Okay? When you're going to create variations, you want to make sure that never the pivot is going to change. The pivot, the material, and the naming convention is going to be the same as well as placing that in the world if you do not have that Bt x because bat X first brings that to the center of the world. Clear and transform and export it. But if you do not have Bat X, you want to make sure that it's centered in the world, and then you export it and you do not change the location as well. But Bt x is going to help us with it. Okay? Now, let's say that we're going to create a variation from this. I'm going to bring this one back, create a variation, and I'm going to just underscore A to tell that this is the first variation of this kit. Okay, we're not going to change this one at all because it's going to be used in the scene and I'm happy with it. Let's say that we're going to change something about this. We go and explode to loose parts and whatever you change, make sure that you do not change the first one and the last one because these are the ones that are going to be snapped to other meshes. You never should change the first one and the last one, you could leave it to be in its own place. I'm going to grab these and let's say that. I'm just going to bring the randomized transform, which we have already set to be in Quake favorites. So if you want to find it, you just go and search for randomized transform here, and this one just right click and add to Quake favorite menu so that whenever you press Q, you're going to get that. Okay? Randomized transform, and let's try to just add a bit of randomness. Now, just a bit of randomized location. And then a lot of them are going to be done in this one and a bit of rotation. Okay, now you see how these have been placed and they are not so procedurally placed on the same level. Okay? Now, let's say that we're happy with this. We are going to take all of them and this one active object Control J to join, and then we're going to export this and then bring it here and then import, and that should be in our final folder. This is it. And I'm going to bring that, make sure that it doesn't generate the light map UVs, and it has been converted to nanite. So let's take a look Okay. Here it is. And you see, it's just having a bit of randomization. Of course, we could add more randomization, but let's leave that before now and see what we could do in order to change that in some of these blueprints. For example, I think that it's this one that has been used here. You see, it's Wall three by three number four. Let me find a blueprint that has wall three by three, number one, because that was the one that we created the variation from. Okay, this is it. No, this is it. Okay? It's wall three by three, and you see this is the variation. Okay, we are going to do something to be able to change that in real time without needing to go back to blueprint and redo the same thing over and over again. So for that, we're going to use the construction script. This is very easy and there's nothing complicated about it. We just create some formula in here to allow us to change static mesh in real time with blueprint. And whenever we go select a blueprint that we want, for example, this one, it allows us to swap the static mesh in here just with one click. Okay? We need to wire something in here to allow us to do. So let's say that we are going to change it with this aestatic mesh. I'm going to bring this. And this is going to represent the same static mesh in here that we have been using. Or if you want to bring the rooftop, it's in here. Just go and see wherever you have used that there. And for example, this one as well, it's the same static mesh. We could bring that to construction script and try to swap this one as well. So we are going to change this one. Just whatever you're going to create needs to get a wire from this. This is going to start everything. So it's going to be easy. Just go for set static mesh. Okay, we're not going to use any of these. There's a set estatic mesh that allows us to see or to get any static mesh that we want. Okay? Now, let's take that from here. Just go for set static mesh. Okay, it's in here. This set estatic mesh is going to set estatic mesh in the viewport. So first, it needs executable that we're going to drag here and that the target is going to be this one wall three by three, number one. Okay? And then it needs a new mesh. First, we could place one in here, compile, and save. And then it should it should reflect the changes. Okay? You see, it has placed that geometry that we have placed there, and we're no longer seeing that wall here. So we don't want that. We want that to be able to be changed in real time. So I'm going to right click Research to default value, compile save now we are also not seeing anything because we need to change that. So first, we could promote this one to variable. It's going to set this to new mesh, compile, and save. Now you see if I select that blueprint, we're not seeing anything in here. So in order to see that in real time, we need to promote that you need to activate it so that you are able to see that in real time. Okay? Now you see a new mesh has been set here, and we could go, for example, search for that mesh three by three A, and let's say that we select that mesh. So here we need to compile and save and see that. Okay? This is going to take a bit of time. We need that to be faster. So just going over and selecting the mesh is a good idea, but it's going to be a bit slow. So I'm going to bring that, remove it, and I'm going to use a slider, just like an index value that we used in blender. We create an array. For example, we bring three meshes and tell real Engine to select from those meshes, from those preexisting sets of geometry. So let me just select this. And first, I'm going to make array. Okay? This is going to allow us to create different variations. Okay? And then this array is not going to be connected to here. Why? Because we need to tell it to use one of these at that time. So if you grab, you just get a copy. Okay? This is going to now get one of these at one time depending on this value. You see now the index number is zero. It's going to always return you this one. If you set it to one, it's going to return you this one. And if you set it to two, it's going to return this one. So if I take this one and plug it here, you see now we are able to select different meshes and to be able to select with it using this slider. So now for testing, I'm going to bring that three by three wall, which is this one. And then some of these three by three meshes. And you want to make sure that the pivot is the same in all of them. Now we have three by three, three by three meshes. If I compile and save, nothing has changed and we are still seeing in here because we need to go in here in variables and delete this and create a new variable. But this time it's going to be here. It's this integer that we need to promote to variable, and let me just call it three by three wall. Okay. And then you want to make that visible in the engine to be able to see that. Okay? Let me compile and save. Now you see if I just create a duplicate from this wall, we have in here, a slider. So now, it's zero, and it means that it's going to use this one. And if I bring it to one, it's going to use this one, and if I bring it to two, it's going to use that one. So if I try to drag it to one, it's going to now change it with this. If I bring two, it's going to change it with this, although they are partially the same. So let me change it with something else so that we're able to see what is going on. Compile and save. Okay, now we see this sphere. And if I go back, we shouldn't see anything because that mesh let it compile. Okay, it was not a great mesh. So let's use this one, compile and save. Okay. Now you see that being spawned here. And if I go to zero, we see that we get static mesh in here. Okay? This is the method that we're going for for the meshes that you want. And this allows us to, for example, take these blueprints and change the meshes in real time without needing to go back to blueprint and create other variations. Okay? Now, let's try to remove and start from the first one. Okay. Now, here's our result. And let's go create another variation in Blender. And to explain this one even further, I'm going to take this and just duplicate. Let me ring that and then it's going to be under square B. This the first one, the first variation and the second variation. Now let's say that we'd go and remove one of the instances completely and just take this, hide everything else. And let's try to remove some of these planks. Okay? Now let's say that we're happy with this. Of course, you can go and try to connect these. But let's say that we're happy with it. It's just for testing. Okay? Then I'm going to import that. Here it is the second variation import. And then we have the mesh in here. Okay? One of the instances is missing, and then one of these have been broken. So let's try to just create a variation. So in here, I'm going to go for three by three mesh. Okay, let's go and try to find them from here from the content folder that we have. Okay? Now, I just take this and bring it to here and done. It has been replaced, and that is a lot easier than going and searching just without knowing what we're going to do. So let me bring the content folder again. And then the first variation is going to be this one. The second is going to be this one, and the third is going to be this one. Okay? All set up and now compile and save. Okay. Now you see, we are getting that with broken variation and a missing one. If we go to variation zero, which is the default one, if we go for variation one, it's going to expon this, and if we go to variation two, it's going to expawn this one. Okay? It allows us to really make each individual building a lot more customizable. So, this is the three by three wall. Let me just call it three by three wall, A, because that is the first variation and the second one is this one. So how do we change this without needing to creating a lot of these again? Just like the previous one just go for set static mesh. It's going to create that for us, and then all we need to do is placing this executable here, and then this new mesh in here, we are going to reuse the same array mesh. Okay? Let me just call it. And it doesn't allow us to do. So I'm going to get from the copy from here. And then just let me double click to create a re route node. Now it's going to use the same set of array measures. But again, now let's do something. I'm going to create a new get a copy because we need a different variation than this one. I'm going to plug this array to here then I'm going to right click promote to variable, and then I'm going to grab the name from here. And this is going to be B. Okay. Make that visible and then plug that to this new mesh. Now you see on this atatic mesh, as well, we're able to spawn these three meshes. And you can go and try to create different variations for yourself as well. So now we have the first one and the second one. And if I go here, I'm able to swap that with this one creating lots of variations. And that is just in here as well. For example, you see that we have changed on this one, but this instance has been staying the same, and this is the power of that. If we need to change that, we could go in here and try to change to our liking. For example, if I bring that to one or if I bring that to two, every instance is the unique variation. This is the powerful method that we're going to use the create variations on all of the buildings with a very simple construction script setup, and just simple viewport setup as well, we are able to change that to whatever we like. Of course, we haven't changed anything yet. These variations are going to be subject to more change if we want it. So I just created a better folder structure in here so that we could select the blueprints a lot easier. So I just went and, for example, for all of these, I just named them accordingly to the blueprints. For example, on this, if you wanted to change something about this blueprint modular 01 now, because we have named that accordingly, if I just go and search let me just copy the name from here. And if I go to Outliner and search for it, you will see that we have different variations of the same blueprint being adjusted accordingly. Now, for example, if I select all of them, I'm able to switch between the different sliders very easily. Okay, now this one is outside here, and this one is here and another one is here. Now, if I wanted to go, for example, for building 02, I'm able to select different variations in the scene so that whenever we wanted, we could just bring them and using one slider, we are able to change and see what is going on in the scene without needing to look for them and select each individually. Now we have renamed them. It was crucial, and now the process is much easier. So you see, we have parts that are visible to the camera and the parts that are not that visible. For example, this one that we already tested isn't that much visible to the camera. So because the tutorial time is a bit limited, we're focusing on things that are more visible to the camera. For example, this one is so close to the camera that we are able to see what is going on there. So now, for the time being, let's start to work on the ones that are visible to the camera when we take a look at them. And you have time and you can go for other places that might not be visible to camera, for example, such areas that are not so visible to camera. We focus first on something that we see. And then if we had time, we will go for other places. So let's start to work with this one, and I believe that it should be one of the platform two. Let me see it belongs to the right folder and one of the Okay, it is BP Modular building number four. Okay? Now let's go here number four, and let's just go to Viewport and see what we are going to do. Okay? The first one that we wanted to change was this one. Okay? We see that the name is static mesh wall I B two, the variation one. So we're going to bring that and start to add a bit of variation. You know we could do something. We could just take these two and create one hero mesh instead of creating a modular kit. So let's start to work on this one. So I'm going to just copy the name. If you copy from here, and now if I paste here, for example, let me just take this one for testing if I just paste the name, you see, it brings the direction that the mesh is from. You see, it just copies the name of those folders. We do not want them. One way to copy the name would be to just use this drop down menu. And in here, when you select that mesh, press F two and copy. It's going to just copy the name without needing to go to content and trying to rename that. Okay. Now if I go here and try to take, I want the one that is in the De folder because these are the ones that we used for kit pahing these around. Okay? This is what we need. This is the exact same geometry. For the time being, I'm going to just take these, bring them here. Let me take this one. I'm going to create a copy. And then this one, I'm just going to add underscore B after that. Okay. Now first, let's just try to add a bit of randomization to this. So again, I'm going to bring the kit that we had. Looks like the kit has been removed. So let me just bring these over and I'm going to import. And this is the kit low poly. Okay? You already are familiar with this. So this is wrong. We need one that has the material. It looks like we already have them, okay? We have the kit folder. If I bring them, okay, we have all of these kits here, textured and ready. Okay? Now, let me just bring this one here and this one to here as well. So I'm going to add just a bit of variation to this. So we already know how we are going to go for it. We go for separate by loose parts, and we're not going to change this one and this one. Okay? Let me select all of them except for this. Then I'm going to add just a bit of randomized transformation. Okay. We need to bring the pivot to the center of these. Okay. Let me bring the pivot to the center, and now looks like there's a bit of randomization going there. So let's go back. First let me bring the pivot to the center. And then again, I'm going for the same randomization. Okay. And let's just try to add a bit of scale randomization as well. And then it looks like we could go and try to delete some of these. So this has been already randomized too much. So let's try to correct some of them. Okay. And now let me just test to see what happens. I'm going to press Control J for this one so that it keeps the pivot export. And then here I'm going to just take this mesh Okay. And use the same construction script with it. Okay? You can bring that from here, and then that thaticmshEecutable. And then this one is going to be an array. So let me see if I can copy the code from the previous one. Okay. Now we have the code here. So let me delete these for this mesh, I'm going to replace it with this one, target, Okay, this is going to be removed, and then this one is going to be replaced with another one. So let me just delete that for now. And now we need to bring some meshes for here. You could create the amount that you want. And of course, let me delete this so that we could create a variable in here. From out to variable, and I'm going to just call it wall by by two. And let's make that visible. And then in here, I'm going to select some of the meshes to be used here. So let me delete these ones as well because it's better to work that way. I'm going to import the mesh, which is this one import. And now let's create another variation I'm going to, looks like the mesh has been divided. So let's select all of them, and this should be the pivot, okay. Now I'm going to copy and bring that here. And then let's try to separate by loose parts, and this one is going to be the pivot. And let me select all of them except for this one, pivot to the center, and I'm going to add just a bit of randomization. So this is going to be too much let's try to remove some of these links. And then this one is going to be the pivot. Export. Of course, this one should be named underscore B or, I just renamed that to underscore B, and now I'm going to import that one as well. So this one should be deleted because that was a bug. Import. Then from here, the first one is going to be the same. The first one is going to be the one that is already the default. So let me bring the variation. Okay. Now this is going to be the first one. This is going to be the second one, and this is going to be the third one. Okay. Everything is set up. Let me compile and save. Now and here we should be able to add variations that we want. Okay. Now you see how easily we're able to swap and change whatever we want. Now let me see, for example, if I just search for the building number two. Okay? Let's go for different variations. For example, this one. So, excuse me, it was building number four. Okay? Now, this one isn't visible. This one as well. So here, for example, if I change it to variation two, it would change. And now, this is the one that we are using here. So let's try to add a bit of randomness because you see if we remove this, we're not going to see anything. So let me bring a bit of change here. So now we're going to use the kits. Let me take this one and bring it here. And now it's again time for kid bashing. We will take these and try to just change the measures the way that we wanted. And this will just make the result a lot more natural. Okay, looks like that there's something wrong here and they have been trying to fix with extra kits. Okay. Now let me select all of them, and this one should be the active Object Control J. Now the name is correct, pivot and all of them Export. And then let me go to content here. And now it was variation C, right click reimport and looks like we could go for here and it was variation two. Now you see we get those changes, but we could of course, try to rotate this just a bit. So let me take that. We could try to even let me see if we could scale that if we scale it in negative Y in negative one, we're able to see the other side. Of course, we could rotate that and try to bring it here as well to use the other side. Okay? This is how easy it is to use these kits and try to create variations with them. Okay, now let's try to add a bit of more changes. I'm going to bring. This one. And I'm going to just scale it so that it creates such a result. And this one will make the result even richer. Just a bit of randomness. Okay. Now you see using these kits, we're able to create really sophisticated results in no time. So export. And then let me go to our content, right click reimport. Okay, now you see it's here, and if we just delete that, you see, it's very rich. And we are creating results that are varied, and we could create more variations wherever we wanted. So now let's go for here. I believe that we are using the same mesh here. So again, it's wall five by two, and it should be the building number one, I believe. Okay, it should be building number five. No, it's building number two, excuse me, again. Okay. Now, because that is the same instance, if I just bring the construction script, I'm able to take that array without needing to create that once more. So let me copy and bring that here. Okay? Now you see we have the same no it's ball. Okay, it's here. It's wall five by two now. I'm going to take these two, Control C and Control V to bring that here. Then let me see which we are going to change. It's here. And now we have selected that. Let's go to Construction script. We're going to bring that and then set static mesh. Executable. And then in here, let me select that and then right click promote to variable and let me call it wall buy by two. Okay? Now it's using the same array to change that. So let's go here and try to see if I select building number two. Okay, we're not seeing that. Let's see why is that. We need to make that visible. Okay? Now it's here and if I go to number two, we are seeing that changed, and you can go and try to create more variations. So now let's go try to change this one a bit. Okay? Let me bring that here so that we know that these are the same variation. Okay? Now I'm going to bring this here and I'm going to use this one again. Like a vertical, excuse me, horizontal wood to keep all of this together. Okay, now let me take these add just a bit of randomization, not in location. Okay. And try to create as much variation as you want. Okay? This is it. Let's export. And now upon the import, it should be fixed, okay? It's this one. Let me re import, and now we should see the change here in no time. Okay? Very good. I'm happy with it. You see, we're able to create storytelling a lot. And this technique is so powerful that allows you to create lots of variations. So let me go back for now for the time being because it really adds to the storytelling part of the environment. So now let's go for this one, this attic, okay? It's attic number two. So let me just bring these over to one side. Okay, let's search for attic number two, which is this one. I'm going to bring that to the center. Okay. Now let's try to add just some variations. Let's call this one under score B. Okay. And now I could just randomly select some of these and try to remove them. No, not like that one. Okay. And let me take this one, for example, hide everything else. And now we could bring the knife tool. Let me press K. And for this workflow, you want to make sure that you press C before committing the cut because you see C is cut through. You see, because if you do not press C, and if you apply a cut, it's going to be just one cut on the surface that you are staying already. But we want the cut to be applied on all of the mesh. So before that, you want to press C to apply a cut, and then just go with something that looks like a wood. So now you want to press instead of pressing Okay, enter, you want to press space bar. Because pressing a space bar is going to select the cut as well. You see, because if you press Enter, it's going to just commit the cut. But if you just press C before it, and whenever you are done with it, click and press a spacebar I've done wrong. Let me bring the knife to again, press C, cut spacebar first, let me go to edge mode. I was in phase mode, so you want to make sure that you are in edge mode or vertex mode. It works better there. So apply a cut, make sure that you press C, and then press a space bar, select that. And now all you need to do is going to make sure that it's going to go around, and now press V, it's going to cut the geometry from there. Okay, now select this one. And Control plus to select and you see it deselect and creates a knife cut here the way that we expect it. Now let's go and try to create another cut in here. For example, let's go to cut mode. Go to edge mode, bring the knife tool, press C, cut, press a space bar, and then, it's going to divide the geometry in half and then select that. Okay? Now, it's a good one. So for now for the time being, let me export it and in here, I should be able to take that ethic mesh and import. Okay? If you see some of these problems, it doesn't matter because of the cuts that we created and caused some errors, but since they are not going to be visible, we're not going to care that much. Okay? Now, I'm going to go to my building 02. Or if we want to go for changing this, we will go for building 04. Now, again, I need to go to my viewport and take this one, and you see that it has already selected that. And then let's go to Construction script, bring that. And then we want to go for set static mesh and then connect this here so that it's a continuation of that. And then we need to create another array. Okay. Let me just bring that to another place that we have a bit of control over and then double click here to create a re route so that the node is a bit visible. Okay. Now I'm going to create make array Okay. And then if I grab a copy because we need to select from different meshes. Okay? Now, let's create a couple of pins, and I'm going to bring the geometry from here, okay? So let's bring this, okay? Now accept the estatic mesh now. So let me bring this it needs a static mesh. So first, let's connect that here. Now the array let's go the other way around. I'm going to bring a copy. Okay. Now if I connect that here, it will activate the static mesh. It knows that it's going to be a static mesh. Now, let me create a make array. Now you see these are accepting static mesh right now. The first one should be the attic 01, which is the default one, let's create another one. We're going to add this and let's go for another variation that we are going to add later. So let me just promote to variable, and this one is going to be visible. And let's call this attic. Compile and save. Okay, now we're looking for building number four, and that should be this one. Okay, attic. Now if I go for the second one you see, it's going to add the new mesh here, which is great. And we're going to add the rest of them in the next lesson. Okay. See you there in the next one where we're going to create more variations. Okay. See you there. 34. More Variation For Building: A, Okay. And now we created some really small but effective variations and created a system that will allow us to swap between different kits to add fast variation in modules. Okay? Now we were just creating variations for the rooftop, excuse me, for the attic in here. And now let's go to blender and try to continue with kit variation because variation is the key. We have a good system in here, but adding variations will really take the environment to the next level. Because one of the drawbacks of modularity is repetition. So by bringing a lot of kit variations, we really defeat that problem. So here we are in blender, and now instead of recreating the same horizontal kit, we could go and create a kit that is vertical. So let's do something. I'm going to grab one of these that has lots of woods. Okay, for example, this one. Let me copy, bring it here. And then we're going to cut this using the geometry or using a boolean or something to create a vertical wood system as well. So let's do something. I'm going to create geometry that let me bring this back and use the correct geometry. I'm just going to create a simple geometry, and if you want, you can go to preferences and search for extra and activate extra objects and extra mesh and curves. Now it's going to add a single vertex in here. So it's going to add it to the center and make sure that you exit from the edit mode because it already spawns that in the edit mode, so you want to make sure that you exit from the edit mode. So now we have that vertex. Let's go to Edit Mode, select, and I'm going to just try to create a rough bounding box around this. Just try to extrude. Okay. And now let's see. I'm going to take this one and this one. Let's try to create vertex. Now we have double vertices in here, so we need to join them. So merge by distance, okay? Joined that. So now we have a bounding box that we could use for a boolean or something. Let me grab all of the vertices and try to extrude and from here as well. Now let's go back. I'm going to use on this one to create a boolean. We're going to cut these extra parts. So because we want to keep these in here, I'm going to take this and close the borders. Okay. This way, of course, it's going to be the other way around. Let me see for the phase orientations. Okay? We need to go and correct them. Just select in phase mode, shift N, and it's going to recalculate the normals. Okay? If we go for Boolean and set it to fast, it's going to be the exact opposite of what we wanted. So now let's do something. I'm going to take these and all E extrude along normals. This is going to remove those parts, and then we simply could go and take these two removed. And if we go back. Let's see. And now I'm going to remove that and that. Let's try to extrude along normals. Now it's going to remove those parts and leave this one to be. This is the geometry, if you want to see that. We should close these inside borders that I didn't in the previous iteration. Let me take this except and now we could delete that there's a problem in here which we could really simply remove that. Now let me take the name from here. It's attic, and this is attic B and this one is going to be attic C. Underline attic number two C. Now this is good. Let's create another variation for this one. So who hates lots of variations? Let's first rename that attic C. And then just like always, I'm going to just explode the mesh to loose parts, and I'm not going to change this at all. So it looks like these have been joined try to add a bit of distance between them. Okay. And now, separate by loose parts, so it doesn't looks like there's a vertex in here that needs to be deleted. Sometimes it happens. That's the problem with the Boolean sometimes. Okay, now let's see what is preventing these. So let's do something. I'm going to just take them and separate by selection. Okay. And now I'm going to select all of them except for this one and this one. No, it's not working. Let's go back. Even before adding the Boolean. Okay. Now instead of fast, let's go for exact. Now let's go for fast again and let's do something. If I take this and go and flip the normals. Now if you take a look, you see, these are the normals. Let's see what happens. I apply and let me separate by loose parts. It's again the same thing. So let's go back again. But this time, without applying the boolean, I'm going to first separate them. So let me separate by loose parts. Now we get these and now we have modified tools. If I apply and select all of them and apply. You see now they get applied individually and they are not getting connected at all. So this way, you're able to change it. So if you do not have that modifier tool, you can go to your preferences and just search for modifier. This modifier tool allows us to activate or deactivate different modifiers at the same time. Apply all. Now if you delete that, now we have different instances in their place. Just a quick work around and then I'm not going to change the first and the last one. Let's bring the pivot to those centers. We're going to keep this one to be. Okay. Now, let's do something. Let's go back. Okay? Now, this is the first variation that we didn't need to change. So let's take all of them and take this one, Control J, and then I'm going to rename that attic Number two, variation C. Now we're going to bring that back and bring this one to center and try to add a bit of variation to this. Okay? Now, if I just go and separate by loose parts, it's going to work right. Now we have different instances. So now let's select all of them except for the first and the last and then try to bring the pivot to the center, and I'm going to bring the randomized transfer. So it looks like we have two instances. Let's select all of them. So it was a problem. Now fixed. Okay? Now let's bring the randomized transform again, which I have added to quick fabrics. 0.2. Now that is too much, 0.1. This way, we were able to create a very good variation. So it looks like we didn't correct the pivot on this one, so it doesn't matter. So now if I select all of them and this one as the main object control J, and then let's name this one D. Okay. And then I'm going to take these two and export and test to see what happens. No, it wasn't. I should take these two. Variation C and variation D. So here we are. Let's go and try to import them. So here it is, variation C and D, and then we're going to import them. And now let's go to our blueprints Okay, let me first find this one. And then we will copy the code to the other ones. Okay? Now, let's go to blueprint and we're going for this one, which is attic number one. So we already have that here. So we already have the variation. So now we have two more variations to be added here. So just add a couple of pins and then bring your content and try to ring one and one. We could delete this one as well, and compile, save. And now if I go to Attic select, the zero is going to be the first one. It's going to be default. One, two, which is going to be that vertical wood system. And then this one is going to be the one that has a bit of variation, okay? So it looks like we could go for the previous one. Let me select that. Let's go for number two. Okay. Now, what we could do is selecting this array and copy that in the Module 02 as well. So let me find one of the module two and just select the wire and connect it here. It's going to create the same thing. Okay? Now, this is the wall five by two. Looks like we have gone for wrong one. So let me bring that. And let's see which one we were working on okay? This is not as well. Let's go for number five, which actually so we could go and create the same one for the building number two as well because it doesn't have that one. So let's go and try to create. Okay, I'm going to bring this and let's grab and set static mesh, were this one, and then I'm going to paste that array, and let's grab a copy for each instance, right click, promote to variable, and I'm going to call this attic. Make that visible and then connect that here. Compile and save. Now if I select, let me select from the outliner 02. So let's grab the name from here and just paste. Okay? First variation, we have the attic. Let's try to select another one, a broken one, a vertical one, and a vertical with a bit of variations. So it looks like this is working for here because it has a lot of contrast and some of that contrast is going to be washed by the distance. So that contrast was not so prominent like this one. So let's try to select Okay, this one doesn't matter. Because that is far away. Okay? Now, this one Okay, let's see what happens if I delete that. Okay, this is very good. Later, this is going to be so great. Okay, let's use this one. So now, we have some of these applied. Now, I think, like we could go and apply some of them to the building number one as well. So before that, let's bring the building number four and see what we can see in the composition. Okay? It's that one, and let's bring the last attic, which would be this. Okay. Just because we have limited time, we cannot focus on what really is so far away. So we are just focusing on the parts that are visible the most. Okay? For example, this one. So let me just delete that base, okay? This is good. But something for just noticing, and that is we have so much variation between these colors. You see, it's just like stylized coloring palette. Later, we're going to just Texture these a bit more naturally because you see having so much color variation makes the color a bit stylized and we're going for something realistic. The colors could be in the same tone or at least a similar tone. Now, let me bring the building 01. So these are here and looks like the building 01, it's already using the wall variation, but let's go and create a bit of more variation. For example, creating the roof variation or attic or these ones. So now we already have the wall five by two. So let's go here wall five by two, which is this one wall five by two. I'm going to grab that array and paste it here. So let's go to our view port, and this is building number one, okay? This is it. So let me Okay, now let's go to our Viewport, our construction script and bring that here. Okay. Now we have that as well. Let's go for set static Mesh. This wire should be connected, and we should grab a copy each time with a index that is going to be promoted to variable. Let's make that visible and name it just wall five by two. Compile and save. Of course, before that, we should connect, compile and save. Now let me see what we have. Let's start to work and if I bring that, we are seeing wall five by two variation. So let's hide this for the time being. So for now, because these are similar, I'm not going to use that, of course, we could go and create more variations. So let's go for the default. So use that slider to bring that back, and then let's go for the attic. So the attic is different in here. Because the attic is attic number one, but the attic in here was number two and was a bit different in the style and the scale. Okay? Now, building number one, at least for now, we could leave that B because you see we have too much variation in here. If we add lots of variation and broken, the broken is going to be the default again, and nobody's going to notice that. So we need a mixture of them. We need something to contrast. Okay? Now, I think we could go for building number three in here. So let me delete all of those or excuse me, close. And this is number three, and we could add a bit of variation. Let's see which parts are here, this one in here, and the front part and this part are going to be visible the most. These ones. So we could take this one, delete, and okay, now we have a four by four. We could go and create a four by eight special piece of geometry that is going to be used only once. And for this one as well, it's a four by five wall that we could go and try to vary like that. Okay. Let's try to create let's try to create some variation for these walls. Okay. Let's go back. This is wall four by four. Okay. Now let me take all of these. Bring them back, and there should be a wall four by four. Okay? This is five by five, and this is four by four, four by five and five by four. Okay. Let me bring them here. And then I'm going to create a copy from this one and this one. So let's go for renaming to underscore B, and this one is going to be underscore B as well. So these ones are going to be the default ones, so I'm not going to change them. So for this one, let's already try to separate by loose parts. You already know what we're going to do and deselect that, bring the pivot to the center, and randomize transform. And we could remove one of them as well and take that, Control J, to join them. And now let me export this one as well. Except for the swan and the swan. So let's bring the pivot to the center, randomized transform, and I'm not going to randomize too much in Y. Okay, now let's try to bring a couple of these. Tell that, for example, they have added these wood parts to connect them. Okay, let's select all of them. Control J. That's one as well, and Export. So let's see. I'm going to import this four by four and five by four. Okay, now let's go here and I'm taking this four by four wall. Okay. And now set static mesh. So let's go make a ray So get a copy from here so that it knows what to pick. Now it needs static mesh. So let's try to grab those static mesh parts. Okay? This one. Okay, this is four by four. We need four by four here as well. So let's remove that because I need the default one to be there. So let's reset to default. And now let's go for four by four and add another one and add this one for variation. So right click promote variable and call it four by four wall A because that was the first one. We have a couple of four by four walls. Okay. Let's select building 03, and the main one is here. So you need to make that visible. Compile and save. Okay, now it has added that would Okay. You see it adds a lot of cool repetition here. So let's do something. I'm going to grab one of these again, shift it to duplicate and bring that export. Let's find it, right click, reimport and it should add a bit of more variation. So it looks like the meshes need to be rotated. And let's see if I delete that. Okay. You see, it's working really great. But I can take that rotate by 180 degrees and bring that here. Let's activate the snap for the grid. Okay. And now if I delete that, it's really adding a lot of cool changes to the silhouette of the building. Okay? Now let's go for the next one, which is going to be this one. So let's add to construction script once more, and we are going for setTgmsh and now for the mesh, I'm going to use the same. But let's bring that get copy here. I'm going to get a copy right now and create another variation. Now it's going to be four by four wall B. Let's make that visible and connect it to here. I'm going to reuse the same to have a bit of optimization. Okay? Now let's go here. Okay. Now let's try to remove that. And you see, it's really great. And now let's go for this wall five by four. Okay? It's here and here. These two. Okay, let's go to construction script. I'm going to bring them and that static mesh select that. And this one set a static mesh again. So it's going to be similar to the previous one. But we're going to create another array. So make array. Get a copy, connect that to here, so that it knows that it should connect a specific type of data which we need. Promote variable visible first or by five wall A. Okay. For the default one, we need a four by five here and now this is the variation. Now for this one, again, I'm going to grab another, get a copy. Connect that here and connect to new mesh and promote this to variable very easily or by five wall B. Make visible, compile, save. Now let's select that and now we have different variations. Okay. Now because that is far away, we're not able to see that much change, but you see that definitely we have a bit of change in here. And later that we add the beams and all kinds of new meshes is going to really create a great mesh. So let's see this one, I think it's building number four. Yes. So let's see, we have a viewport, and no, I don't think that adding too much variation is a good idea. Okay. Now at this time, this lesson is now finished. We added more variation to these kits, and you already have the time. You can go and try to create your variations the way that you want. Okay, let's go for the building number two because we could add a bit of variation. So let's see No, that's one. This is too visible. Okay, now it's good. So you already have the variations, and you have the time. You can go and try to create the amount of variation that you want. And in the next lesson, we're going to create variations for the rooftops, and we're going to call it done. And maybe after that, we go for creating base texture for these parts. So we have the roof parts to be created, and then we have the beams as well. And then after that, we will create texture that looks great for both wood and rooftops and the beams, okay? See you there. 35. Rooftop Variations: Okay, everybody. Now we are reaching to the point that we are happy with the buildings that we are creating. Now it's a bit more variation creation. We are going for just creating a bit of variation in the rooftops, okay? Just like always, we are going to have the main rooftop here and create more damaged variation of that rooftop. And now there's something to consider because, for example, let's take that we are visiting the world from such a view. You see, we're not able to guess what is up here too much. You see, even if you zoom on the object, it's going to be good if we go and try to optimize these measures a bit more. Of course, you can just use these like they are, but you can also try to optimize them as well. So now, let's try to create the rooftops first. We are going to complete these by adding the mesh that is going to hold these together and creating the beam structures and things like that, and then create a variation that is damaged. Okay? Now, here we are in blender, but before that, let's do something. When I take a look at this platform, of course, it's a very good one. But when I take a look, you see there's a very flat line around it. So let me just bring it here. And let's see what we could do without these flat lines in here. Of course, I'm going to keep the structure. I'm not going to change that, but let's let me select these outside pieces and then the default shortcut, if you haven't changed, should be controlled, okay? Now, let me separate by selection. And now let's take, okay? Now, it has a bit of more characteristics to it. So let me export. And it looks like if we go and try to add a bit of variation in the edges, it's going to be a lot better. And it means that we go and try to make sure that all of these we have measures that face this way, okay? Let me first test that in Andrea engine to see what happens. And then it should be very easy. So let me bring the contents, and it's here, okay? Imports. Okay, now you see that there's a lot more variation in these edges, and the result is much more realistic. But let's say that, for example, in this far away, and here, for example, I like that to have that edge because I want that to be readable from distance. It was helping us to read that. So let's create the ability to have a choice to see either we want that edge to be there or if we do not want it. So now, let me just return back, and I'm going to copy the name platform 01, and let's just paste that name here and let's call it platform edge. Okay. Now, with all of the same pivots and all of that, we're going to export that and reuse it in Unreal engine in the blueprint, so that whenever we wanted to deactivate that war for one of the platforms, we are able to. And if we didn't want, we just disable that. Okay. Let's again bring up the content and import. Here it is. Okay. Now we have that edge here. So let me bring up the blueprints. Okay, here it is. And now let's take a look, and I'm going to add instanced static mesh, just like always and let's call it edge. And let's see. Okay, here it is. And let's bring just one instance. Okay, here's going to be the default one now. If I just save. Now you see it has been applied on all of them. And you see on these far away measures, it's going to look like a lot better because it defines and adds a bit of color variation and support for the story. So we know that this is the edge, and now we're going to create a construction script, and we're going to create construction script code to allow us to disable that instance in Viewport. So let's go to Construction script and bring this static mesh. And if you just search for instance, you have something like remove instances. Okay. Now it's going to just take this one and then right click here, promote a variable, and this is going to make sure that whenever we change that value or set a certain value in the viewport, it's going to remove these instances. So let me compile and save. And now let me go and select one of these blueprints. Okay? For example, it should be one of the Okay, let's start from here. So instances to remove, just click a plus icon, it's going to remove because we have already selected that. Okay. And that is so easy. And if you change that number, it's going to bring that back. Zibo means we do not have any one is we are going to bring that. Okay? Now, so easily, you're able to remove certain instances from the calculations. Okay? We want that to be. And now let's go here. I want to remove that, okay? And this one as well, let me see. Actually, this is better. So now, And these far away meshes, I'm going to make sure that the edge is there because I want that to be defined a bit more. So now let's just try to change the mesh itself a bit. First, let me take this and bring Okay, let me disable snapping. Okay? Now it's closer, and now if I compile and save, okay, let's just bring that to here, okay? And this one as well. And now let's do something. I'm going to take this and I'm going to try to explode the mesh. Okay? Just take the meshes from here and select I'm going to select the top ones. Okay? I just selected, and now let's separate by selection so that we have this mesh only to work with. And we're not changing the structure. Okay? Now I'm going to explode the mesh by loose parts. And now we have the ability to take these edges and let's first select the edges and bring the pivot to the center so that it's easier for us to manipulate them. So we're going to add a bit of randomization especially on the Y coordinate. So let's try to randomize and I'm going to randomize the scale around Y. Okay. Now you see we get more broken edges. First one. Then if we change the edge, you see now, it has much more characteristics than the previous ones. And now let's select these. I'm going to just repeat the same process until we're happy with it. So let me select all of them and repeat the same process and see what happens. And now let's try to randomize the transform a bit more. For these areas which are like this, you could try to borrow meshes from other places and bring them here. Let's go select some of these meshes, bring the pivot to the center, and try to duplicate to here. So that would create a bit of edge variation as well. Now for testing, I'm going to join and let's return back and try to join the meshes. Okay. Platform one and Export, and now I'm going to import that so easy Okay. Now we have more variation in the edges. So we could change this one to here to have some of these edges more visible. So that is a design choice. Okay, now you see we get more variation and broken edges here and there. Perfect. And now I'm going to take both of these measures and bring them back and start to work on the rooftops. And before that, let's do something. I'm going to just bring them back and try to work on these edges a bit more. So this is the edge that we are seeing in here and in here as well. So in here, I'm going to just create some more edge variation. Okay? It should be here. So I'm going to borrow the geometry from here. And bring them to the spot right here. Now try to add more variation because I want to break those flat lines. Okay, Report once more. And then we're going to reimport that again. Okay? Now you see more edge variations here. And the lines are not so flat anymore. Okay? Now, because the rooftops themselves need a bit of more work to be finished, we are going to finish the rooftops first, including creating the base for them. And then creating the destroyed one. Okay? Now we're going to start with this one because that is the rooftop number one. Let me just duplicate one so that we work on the duplicate instead. We have this one here, and now let's say that we're happy with the geometry notes. I'm going to apply that. But if you do not have the realized instances, it's going to just prevents from applying. You want to make sure that you have realized instances after your instances to convert them to geometry. And if you do not have that one, it's not allowing you to do because there's not appropriate geometry to allow you to do the work. Okay? Now, let me select this, and I'm going to start creating a simple base for it. We're going to use these wood planks and try to kit bash the pieces. Okay? Now, let's make sure that all of them are the same scale. Okay, there should be one of them. Okay, now apply anything and now we're going to just rotate these like so and then rotate, Hey, that was the one that we needed to select. Okay, here it is. And now we apply once more. Now we should duplicate these around to create base for them. That is for storytelling, so that they're not lying just randomly on the air. Okay, let's go for normal and try to rescale them like so, because I want to be able to see these planks. Okay. Now for the time being, let me create a wire frame for that. And then try to take these measures and bring them just randomly here and there to create the variations that we want. Okay, now just randomly try to scale here and there. And let's see what happens if I bring the wire frame and you see. It just looks like that some of these planks have been broken, and you can tell this story already. What is that? Okay. But for now, I'm going to make sure that this one is just a healthy variation. So let's go to Global again. So we need to go for bounding box because the previous one was individual origins, just trying to rotate them all at the same time. So let's select all of these except for that geometry now let's do something. I'm going to take this one removed and take this, bring it here because I want to be able to change the rotation to match the direction of these planks. Okay? Now, let's go to solid view so that we're able to see the rotation without any distractions like the color or things like that. Then select this. Make sure that it's special, okay? So now let's go for the rotation and make sure that these are facing just like these ones. And now we should compensate for these ones like so. Okay. Now let's go to layout mode and see what else we could create. Let's bring one of these and use a piece of wood that is going to hold these together. Okay, now let's go to Material view and try to take a look. Okay? It's looking great. So this is going to be the first variation. Let me apply the geometry nodes and try to take all of these, and this is going to be the mesh that we're going to get for the pivot. Control J. Now all of them are the same geometry. And now I'm going to take the name from there, and let's call this one rooftop 02. No, let's call that roof up 01 variation Or instead, let's call it variation A because this is the healthy one that is going to be the default. And you want to make sure that the pivot and things like that match. Okay? Now let's export and now we should be able to import that without any problem. So here it is. And we're going to import, convert to nanite. And there's a choice that you have while that is importing our mesh. Let me bring something, for example, these ones that are using the kits, something like this one. So let me duplicate that just for testing. Okay? Let me apply the geometry nodes, and you're seeing that this has more than a something close to million and a half polygons. And if you're not seeing that, you want to go to this drop down menu and activate the statistics. Okay? Now, let's say that you're happy with this. But let's say that. Let's check to see what happens if we just apply a bit of optimization, because this is something far away. Taking the fact that this is not going to be seen from upclose. So let's say that. What happens if we apply decimate modifier. Okay, decimate and collapse because this is the best for such scenario. Okay? Let's say that. What happens if I bring that to 0.5? Okay. Now you see no visible change at all. Everything is working all right, but polygon, excuse me, polygon numbers drop down significantly to half. Let's say that we go for 0.25. Again, the same thing, but polygon numbers drop down significantly. We have less triangles, something like a quarter of that. So this is a possibility that you can imagine. Later, we might go and try to optimize these a bit using this workflow. Going to be faster for software to calculate. Okay. Let me take this one and remove. Okay? The same thing can happen for this one. We could try to reduce the amount. But you want to make sure that the pivot and things like that stay the same. Okay? Now, it exported like a single mesh. And while it's right, I wanted that to replace this mesh, which is the rooftop 01. Okay. But since we changed the name, it's going to create a separate mesh. But since we change the rotations and things like that, I'm just thinking about taking that mesh, and let me see. We could go to the blueprint the first one. And let me go here and I'm going to select this and replace it with the rooftop A that we just created. Compile and save. Okay? Now you see it has been replaced on all of the instances. And now we could do something. Let me bring the variation number five, as well, because that is using the same geometry. So it's rooftop number one. So let's bring that, okay, compile and save. And it has applied on all of those instances. And now let's do something. I'm going to bring the rooftop number one. And because that is not getting used at all, I'm going to remove that. Okay. Now let's go for the next variation, which is this one, and I'm going to reuse the same geometry here. So let me do something. So now, let me select the measures that I want. Okay? Looks like they have been already selected. So I'm going to shift the and press P by selection to separate them. They already have that pivot. So let me bring them here. And now if I go back, I'm seeing that they're working all right. Okay? Now again, we need to change that rotation value to be according to these planks direction. Okay. And now let's compensate for these. Okay. Now, let's say that we're happy with that, but let's do something. I'm going to manipulate the base geometry a bit. For example, let me take these vertices, and I'm going to select both of the vertices at both measures, Okay, and I'm going to change that. But this is going to create a sharp transition. So I'm going to use the proportional editing. So the proportional editing is here. So if you press O and just try to change the circle of radiation, you are able to change the direction of the geometry. So let's try to change that a bit more. And now if I bring those instances, you see, now the rooftop has a bit of shape, okay? So I'm happy with the variation that we have. And now I'm going to apply the geometry nodes. But let's do something because we want to see that direction change here. I'm going to go to geometry mode. Okay. Let's try to I want to just change that geometry, but there's a problem, and I think it's because of the geometry nodes that we applied. You see, we have something like 40,000 polygons. But if you go to Edit mode, you see that there are a lot of edges here, a lot of vertices. So you see the amount of vertices is too much. So one way to delete them would be to select the measures that we want and invert the selection. Selecting those would be too difficult in vertex mode. So we are going to edge mode or face mode, select all of them, make sure that everything is selected, and now go to your vertex mode. Now you see these have been selected without those bug vertices. So Control I, it's going to select all of them, delete vertices, and now it has returned back to its default place. Okay. You see, it was because of this that we applied. Okay? Now let's do something. I'm going to take this geometry and try to take these parts and using the proportional editing. I'm going to make sure that I follow the same shape. Okay. Now let's do something. I'm going to take these and I'm going to select some of them. Control L. I'm going to randomly select some of these. Now control L to select and make sure that you go to normal because if you go to SM, I think it's going to select based on SMs. Okay? Now try to remove those instances And now let's try to just randomly select Control L and remove some of those instances. Okay. Let's, for example, on these parts, select more of those Control L to select linked. I'm just going to randomly select from this so that it's natural. So, let's go back and they say it's supporting that perfectly. So it looks like we could try to remove from here as well a bit more. And remove. So let's try to remove even more. So Okay. Now this is the mesh that has the naming convention. So I'm going to select this and join with the correct one. Okay? This is variation A, and now this is going to be variation B. Now export. So again, let us try to import variation B. Okay, it has been imported, and now let's go here and we have already selected the rooftop. We're going for construction script. Stat static mesh. Get a copy, so that it knows what to select. If you do not know, just go the other way around. Make a array, and now this is going to select. Okay? Now the first variation is going to be the default one, which is going to be this one. And now let's add another variation which is going to be this one. Okay, Index number, promote to variable. And just call it rooftop, compile and save. So the default one is here. If I bring the blueprint to allow us to change. Okay. Now, the rooftop, let me change that to the variation number two. So let's see what what happened. So, okay, it's not a continuation from the construction script. So we need to plug that here so that it works right. Okay? The variation changed, and now we have a more destroyed variation. Okay? Now, if you want more variation as well, you could go here and try to rotate that to use the other mesh. Okay, to use the other side of the mesh. So it looks like this one is okay. Now let's go try to remove some of those again a bit more. So I'm just going to try to select the randomly, especially on these edges that we haven't selected any of them. So Control L, remove. And because we have too many instances here, even that one shouldn't be that visible. Okay. And then let me reimport, the variation imported, and now you see there's more of those being removed. Okay, now let's repeat the same process for building number five as well. So let's go for construction script. This is the first one here. And then that static mesh and make sure that we're using that. And I'm going to bring the array from here. So just select the array. Okay. And get a copy and then plug that here. Okay, we need to create a variable rooftop and then compile and save. And let's go for ue print number five. So let's copy the name from here and search the name in outliner. I'm going to just first, make sure that it's visible. Now, if we change that, we go to the other variation that has a bit of different look. This is not visible at all, but let's change that. So this as well. So let's do something. This is one of the far away measures, and it's the building number one. Okay? We could definitely use the other variation. Okay? Now that is a more destroyed variation. And I'm going to call this lesson finished for now. In the next one, we're going to finish the rooftops. And then we will go for creating the beams. Okay. See you there. 36. Finishing The Rooftops: M Okay. In previous lesson, we started to create variations for the rooftops, and now we're going to continue with the same process and just take in consideration that we have shadow catchers as well, which we're not going to create variation for because they're already okay. So this one, this one, this one, and this one are going to be excluded. So we're going to create variation only for the rooftop two and three. So now let's bring this and again, I'm going to just take the planks from this geometry. Okay, Control L. Then I'm going to duplicate and separate by selection. Okay, it's here, and now it doesn't have the bugs that we had previously. So let's try to continue using this Okay. Join, and then I'm going to remove the unneeded geometry. Okay. Now, let's just copy and bring it here and I'm going to make sure that the geometry note is special, and it doesn't change the previous one. Okay? Now let's do something. I'm going to let me see where we are. Let's try to rotate them to face the direction of the planks. Okay. But So this is okay. Now, let's just instead of trying to manually remove from the instances, let's create something in geometry nodes to be able to remove that. So you already know that instances are going to be placed instead of points. So you create points on the geometry. We created points for each polygon in here and then applied one instance on each point. So let's say that what happens if we try to remove these points before the calculations? So how we could do such a calculation. In here, we have a selection number, which is Boolean. So you know that Boolean is on end off. So we are going to use that selection and based on again the index number. Every point here has an index number. So let me starch and bring an index number. So now if we plug it here, nothing is going to happen because we need to again add a randomized number here to be able to tell which index number we want to cut using the selection because that is a selection, and if we select some of the index files, we're able to remove them or exclude them from the selection. So again, we're going to bring in a random value and plug that here, okay? Of course, this index number should be connected to ID. Now, instead of float, we're going to use integer. So now let's plug that to selection, and nothing is happening because we need to bring the Mint and max to a certain value. So now if I bring that to one, you see now we are removing or adding to the instance. So by manipulating this number, you're able to change the value. For example, if you bring the men up, the threshold up, and now you could go negative to try to remove the instances that you want. Just create a threshold and it's going to be right. So now if I just connect this back again, you see we have index correctly removing the instances, but there's a problem and that is the rotation number is gone again. You see that rotation number because we had something like 500 instances we brought this value to here to divide that to half because the right and left bolts had the same amount of instances. But now if I go here, you see now we have 142 instances and that divided by two. Is 71. So now we see it just doesn't work because you need to flip the value to see what is going on. But this is one way to do if you do not have a certain rotation value. But let's say that we don't want to apply that before the calculations. Let's say that we're going to use exactly after the calculations. So let me bring this here. And now let's do something. I'm going to reset these values again, and now I'm going to bring delete geometry in calculations. So here, just search for the lead Geometry. Okay, now we're going to plug this instance here and then geometry here to the realized instances. Okay, now you see we do not have anything because the selection is deactivated. If I plug the same here, you see that we have all of the instances, and now if I bring this up and try to work with the threshold Okay. Now you see it's removing from the points. Okay? Let's go and try to remove from instances instead. Okay? Now you see it's trying to remove and it's not going to change the rotation because it's going to appear after these calculations. So let's go for zero, and you can now create a threshold and easily try to remove instances. And the great thing is that it's going to stay in place for future use. So now if we go back and to material preview, you see that it's working great. So it looks like we have gone too far. Let's try to change the value just a bit. Okay. Now let's say that we're happy with this. And there are some problematic ones in here, and it could be fixed if we go to geometry nodes. And the point that we created variation for the rotation, we could bring that value to 0.5. Okay? Now, they're going to be more towards the value that we wanted. Okay, now let's do something. Again, I'm going to bring this time, let's bring this, and we're going to rotate that by 90 degrees and try to place it here. Okay. Now I'm going to select this one and keep that because later we're going to use that. So let me make that special then connect these geometry parts. Of course, before that, let's apply the geometry nodes so that it doesn't create any bugs or things like that. So first, again, let's join and you want to make sure that the pivot is taken from this geometry in here. So it's rooftop number two. And if I just export that, it should replace the previous one. So export. But this time, I believe a change should happen. Let me bring the roof up variation to, and it has only one material here. But this one in here, you should disable the one material ID because it has a couple of materials, one wood kit and one extra. So if I reimport that again, it should be asking us to change the materials. Okay? It says that it has one extra material ID, set reset to FBX, so that it reads the material from the currently created FBX file. Okay? Now you are seeing that that change has happened. And now we could go for the next one, and then try to create variation for this. So let's do something. Again, I'm going to because now it's selecting these shingles, I'm going to right click, excuse me, control I to invert that P by selection to separate. And now, this is here. If I bring that here, we could go to geometry nodes and try to remove lesser from those instances, like SOP. Let's go to negative five. Okay, only some of the instances. Not that much. So let me apply the geometry nodes. And then we should be able to take these join and let's call it rooftop, number two, variation B. Now let's do something. I'm going to go to edit mode and take some of these vertices and try to manipulate the placement using the proportional editing. Okay. Now, I think it's a good one. We should export. And now the variation B is there, and we need to go and create a utility to be able to change that in modular building number two and four because they are from the same variation. So let's go to our viewports. Here's the one that we're going to change. That static mesh. Just like always get a copy and then we're going to create an array of measures. Static measures, we're going to create two. The first one is going to be this one and the second one is going to be this one. Roofed up two and roofed up two variation B. I'm going to just rename that the rooftop change. And let's go to the blueprint. This is variation number four. So let's just paste the name here and let's see which are in the viewport. Okay, this one and this one. Okay? Rooftop change. If we go to this variation, we're going to get something like this, which is okay. So now let's go for Rooftop number two. Now, let's pick this. Set static mesh. And now let's bring the array from here. Get a copy and then just promote a variable visible And now let's go search for the variation number two, and it starts from here. So let's pick up one of these destroyed variations. This is far away. And this one, let's go for the variation. And this one Now you see we have more varied rooftops here and there. Now let's do something for the variation of the building number three. I'm not going to do anything because that is far away and nobody's going to really see that. I'm not going to change anything. So let's do something. I'm going to hide those. But for this one, let me bring that to center. We could try to create a base for it only. So let's pick up from one of these control to link selected or select a link then it should be rotate at 90 degrees. Let's do something. I'm going to explode the mesh. I'm going to make sure that these are facing the correct direction.'s going for a good scale. Okay. And then we could easily take this and remove And it's okay. So it's already looking all right. Only we need a beam to be placed here. Let's select all of them, and we should apply the geometry nodes. Select all of these, join now it's perfect. Of course, these should be joined as well. Okay. And now export. And we only need to reimport that, which is this one. So right click reimport. But, again, it's asking us to apply the material changes because we added the wood kit. And now it's looking a lot better. So let's do something because I need this one to be so pronounced, like I wanted that beam to be a bit more pronounced. So let's do something. I'm going to take this one and then try to rescale just a bit. Okay. Now if I reimport that once more, it should be taking this place. Now it's something similar and later that we remove that. It's going to be visible like that. So let's again try to change and I'm just going to bring export and then reimport Okay, now it's on a good scale. Okay. Now we are finished with the rooftops. Of course, if you have time, you can go and try to create more. But now we are going to stop this lesson, and in the next lesson, we're going to create the beams. Okay? And then after that, we're going to remove the base measures here. So the beam creation is going to be important. I'm going to pause and see you in the next lesson where we are going to create beams. Okay. See you there. 37. Create The Building Frames: Okay, everybody. Now we have reached to a point that we are ready to go and try to create the beams. And after that, we're going to remove the base mesh from these so that the final look of our buildings takes place after a lot of effort. So it's going to be, again, a simple process. We're going to just take those measures that we have and try to kit bash and see what we can add to the buildings. And because the building number two and four are the same, we're going to create one base for them, and maybe for building number four, we add something to support this barn. Okay, but the building is going to be the same. It only needs one extra geometry. We will copy that. So for building number one and five as well, it's going to be the same thing except again for the barn, which we're going to create a base for, and then the building number three. Okay? We're going to have three separate parts that we're going to create and two instances. So again, let us start with building number one. And now, because we have so many changes in here, we're going to export these measures again. So I'm going to take these measures, take the blueprint and export it as FBX so that we could import it to Blender and try to work there. So let us go to building number one. Okay, it's here and we're going to start with this one. So now that we have selected this, we could go to File and Export Selected. So let us just call it building 01. And save. So now we have options here and we want to disable the collision because we don't want the collision to be exported. We don't want level of details. We want the mesh itself, and now export. So now let's go and try to import that. It's here and now if I import, it should be placed somewhere around in the world based on how far away it's from the center of the world. So this is the center of the world in Unreal Engine. So I'm going to just reset the locations. So it's going to not be that great. So let's select this one and join everything. Okay? Now, if I bring that to the center of the world, it's not working. So, it went to the center of the world and let's deactivate the rotation as well. So now we have our mesh to start working. So now let's try to remove the base. Okay, because the base is composed of many meshes, I'm going to let's go back to a part that we have separated geometry parts. Okay? These are modular ones, and I'm going to take this one like a base. Okay, here it is. And then I'm going to select everything press Shift P or press P. I those Control P and parent to object while keeping the transform. Let me take that and remove and reimport that once more. Okay. And then I'm going to select this one. Let me select everything and this one, the active object. Control P. Look, let's do something. I'm going to select all of them, press P, the clear parents. Okay? Now, it has scaled too much, but before that, you see that it has scaled dramatically. Let's try to select the base again and then try to parent with it. Control P, keep object and transform, okay? Now we should try to scale that I believe if I scale it by 0.1 no, that's a scale that by 0.01. Okay? Now, that was the correct scale. And now I bring this and try to test to see it's working all right. Let me bring the building number one. Okay. It's working great. So now we could take this and hide it for the time being, and now here we are left with the building. And now we're ready to try to place these around the building to create a base for it. Okay, we're going to use these and let's do something. I'm going to I'm just going to solid view, so that I'm not distracted by the material. So let's apply a simple material. Okay? Now we are ready to start kit bashing. Oh, let us start with these And that is just a simple kit patching process. And it's going to be easy as well. So let's remove that for the time being. I'm going to take these and then separate the mesh. He. And now let's place the pivot here because I want the base to be here. And now let's select this one as well, okay? Now it's a lot easier to manage from here and try to rescale to a point that we want. So now, let's try to bring this to here and then try to rescale that to match the directions. Later that we add the separate material, it's going to look a lot better. So let's just copy and then we're going to duplicate them to the other side. Very easy. Okay, it looks like we didn't copy. No, it's there. Don't just try to think, like how this building is going to be created. It's a storytelling part. And later that we were finished with the mesh, we could take the mesh that we have here and remove, and now we're left with base only, okay? Let's just create a base for here as well for the attic. Okay. Let's go for 90 degrees. Now I'm going to create beams for the center part as well. But I don't want that to be too prominent. I just want to see that in the construction. Let's duplicate here, rotate 90 degrees to see the other variation. Okay. Now let's take these 50, bring them here, to use for the site as well. So again, I'm going to take this to the center and create a base for the attic as well. Yeah. Let's try to rotate that. Like so. And this is a part that depends on you on how you want to create these measures. Nope. I wasn't okay there. Okay, now let's do something. I'm going to hide these for now. And by deleting the hierarchy, we're able to delete that. Okay. Now I'm going to take all of these, join them. But the pivot needs to be in here because we brought the previous mesh and placed the pivot in the center of the world. So let's bring the pivot to origin. No pivot to cursor. Okay. Now we have a frame that we could use to see what we have done so far. Let's call this one. Let's pick up the name from here. Now, let's pick up from here. Static Mash Building 01, and then it's going to be frame. Okay, let's place that in the De folder and I'm going to export. And now we're going to test it to see what has happened. So import our final folder. And now let's go ring here. And finally, we could take this and delete. This is a test building or we could try to replace it with another mesh. So let me add instance, static mesh and call it frame. Okay? Now, for the frame, let's just search for it. Static mesh frame zero, one, and we need one instance. Okay? Now, you see that it's working all right. Now let me bring this up so that this one is now the pivot. So now we could take this one and then try to remove it. Okay. Now if I compile and save, you see now, it has applied that geometry here. But of course, the color combination is a bit annoying. Later, we will create something that looks a lot better. Okay? Now, the same thing could be used for building number five as well with just a simple variation. So now let me select building number five from here. Okay. Now I'm going to export and then just call it building 05. Okay? Export. And now let me create a variation and bring this one over to here. Now what we spawn should be placed in here exactly. Building number five. Let's see what happens. First, we need to create the parenting. Let's select all of them, P, clear parents. Now again, I'm going to select that base here, Control P, and keep the parent. Now again, we need to scale that by 0.01. Now you see it has been spawned exactly on the place that we wanted. So that is going to be easy. Let me bring that. And let's try to separate the mesh and create a base for here. Oh, let's rotate that. Like so. Okay. Now, of course, we could bring some planks and place them here which you could create. But for now, I'm not actually interested in that. Well, let me take this, and this one is the parent. So we need to delete hierarchy to delete that. Okay, now let's take this one and this one is the parent Control J. The pivot is in here. Now it's going to be building number five Frame. So export. Okay, here's building number five. And let us import it here. Okay. And then we could easily try to spawn that here. Search for frame and replace it with here, compile and save. Okay. Building number five is corrected as well. And if you want, you can go and try to create more variations and create more changes. But since we're limited on time, I'm just happy with what we have created already. So now let's go for building number four and two. So I'm going to work on number two and create variation for number four. So let me find number two. And again, export, let's just call it number two with the same settings. And now let's go for number four as well and export that. Eventually, we will try to work on that variation. Number four, with the same settings and let's go for number three as well. Okay. And then export. And let's call it number three. The same settings. And now let's take this and I'm going to import the building number two. Let's zoom. First, we need to unparent that out P clear parent and then make sure that you select the base, which is going to be the pivot and then Control B and parent that then try to scale that by 0.01. Okay. Now the scales are great, and we can work. And then after creating this, we could duplicate the variation in number four and call it done. Now, let me select the frame and hide it for now. And I'm going to just copy these. Let's create a folder and call it 02 for the time being. Let's select all of these and 02, okay? Now, we're ready to start the creation process. First, let us correct the pivots. Then this one, as well. If we bring it here and return back, we're able to get back here and try to work a. Okay. The work is going to be easy. Just keep bashing the meshes and the powerful work of this method is just taking the meshes and rotate them here and there to create variations. Okay, let's just use the other side and add just a bit of variation so that they're not totally identical. Okay. Now let me take this one copy, bring it here. And here as well. Let's rotate that 90 degrees to create a horizontal base for here as well. Okay. Okay. Now let's try to create something for here. You know, there's not that much learning value in this lesson except for kid dashing, which we have been creating a lot. Okay? So we can take your time and try to create more variations the way that you want. Okay. Now let's call this one done. And let me see if I go to the collection number two that we already created. Okay, now we're left with a structure for building number two. It was just duplicating some measures around, okay? Control J and make sure the pivot is in the center Okay. Now let me call it building number two frame. And then I'm going to export and bring it here. Okay? Our final folder. Okay. Just like the previous one, I went and replaced that with the previous mesh. Okay, it was this, and I just went and replaced it with frame mesh, which is this one. Okay? Frame number two, compile save. Here you see the result. And now let's go for number four, which is another variation of this building. Okay? Let me bring the building number four and create duplicate of this. Okay, building number four. Now it's parented. So let's unparent everything. Make sure that this is the base, selected so that it's in light colour Control P, keep the parent and now you should scale that 2.01 and you see now it's working correct. So now let's take this and try to hide. Of course, we should hide it, not delete. Now, let me take one of these. And I'm going to just create a simple base put this part in here. So let's rotate that 90 degrees to use the other variation and rotate this 180 degrees to use the other variation as well. Okay. Now, let me select this, delete hierarchy, and it removed. Now let's try to select Control J. Select this one, Control J. Now the pivot is correct. And now let's call this building number four frame and export and then try to reimport it here. Building number four, then select the pivot compile and save. Okay? But of course, we need to change the color composition a bit. We want that to be something like this, a neutral color rather than being something like these sharp colors. Okay, now we're left with only building number three. Now let's do something because that color was too sharp and just creating lots of contrast. I'm going to select that, create a filter, and let's bring a hue saturation lightness and try to just change the color to something like that, a bit of desaturated wood and with a darker tone. Of course, later we're going to create a good texture for them, but this is now just for testing. Okay, again, export. And then here, let's just try to find the textures reimport. Now it's more of a desaturated more just better texture. It's reading with these a lot better. So let's see if we could change the hue to match with these a bit more. Now, let's add filter and then contrast. Contrast and luminosity, after adding a bit of contrast, it should read with these a bit better. Again, export and once more re import. Okay now, color combination is a lot better. It needs to be improved, but it's a bit better than the previous ones. So now let's go for the building 03, which is this one. Just like always let's remove any parents. And then this is going to be our base. And then rescale that by 0.01 for whatever value that it tells you to do. So let's place them in two folder los Ds Okay, now let's hide everything else, including the base. Again, we're going to correct the pivot one last time. So just try to place your beams on a place that you want. Okay, we want one here because you see, there's lots of contrast on these wood planks. Okay, I'm just trying to create a good result here. Et's go to normal or local. Both of them should work properly. Okay. All you need to do is just following the shape and see how you can create a base for this one. So let's try to rescale that. Now, let's see what happens. Okay, we need these to be duplicated. Okay. And this one as well. To the side. So now, I think, like, it should be enough. So now let's just try to select everything Control J, and let's bring the pivot to the center. Now, let's call this frame number three. Okay, and exports. And now let's place all of these in the De folder. Okay? And just like the previous ones, I went and replaced that with the pivot. And now we see that our environment is taking shape. Now all of those base meshes and those temporary meshes are out of the way, and we have now created the modular meshes that we needed. So the next lesson is going to be either going for correcting the textures or maybe correcting geometry parts that we have forgotten already. So I'm going to pause and see you in the next lesson. 38. Wood Texture Completed: Okay. Now finally, we are going for creating texture for the wood kits. And you see probably more than 90% of the tutorial or the environment is composed of that wood texture. So that is going to be an important ext to create. So you already see that we have created a very simple material with the textures that we already created in painter, and we didn't create a really sophisticated texture. It was just for testing the results. And now I see that we just desaturated the results a bit. Let me plug this here because I want the texture to look all right because if you go and update the texture, then it's going to be desaturated first and then processed and then we could see it. So using this we're able to see the texture itself and nothing else. Okay? And because we're using this wood kit material for all of these, if I go and try to just update the texture and then export it and then reimport, it's going to affect the whole world of the environment that we're creating. So here's our painter file. Let me just do a demo. And, of course, I just created a simple board to place some textures here to help us pick colors from to see which direction we want to go. And just note that these textures are PBR calibrated, and it means that they're not affected by the light at all. Okay? If you just bring a color that is affected by the light, you're going to get problems in the colors because colors are either too dark or too bright. But these ones have been processed and are PBR calibrated, and you can download re images that are PBR calibrated and pick colors from. Okay? Let's go and try to pick a color from these tones to replace that. It's only affecting the wood plank. So now let's use a technique which is called gradient mapping. I'm going to bring in a color because I only want to change the color. Oh, instead of creating only one simple tone and using a color or to pick colors like this, I'm going to bring in procedural texture. So let's go here to procedural textures, and I'm going to bring something that has lots of range. So let me find something. For example, let's bring this one to base color. Okay? You see now we are getting something like this. If I go and set that or let's bring the tiling up to something like two. Okay? Now, if I bring in a filter and here bring in a gradient map. It's going to look at the color composition here that we have and go 0-1. In here, we tell that, for example, we want five colors, and it tells that wherever in this black and white texture, it's black, replace it with a certain color. Or if it's, for example, something else, just replace it in that range. Okay? And let's set this one to 0.2 0.4 And do not worry if that looks like this. If we change the colors, it's going to look a lot better. And for one as well, let's leave that to be something like that. Okay? That is wood and to be directional. Let's go and go to the black and white texture, and let's try to exert that like it's something directional. Okay. Now let's go to our gradients, and I'm going to pick from these ranges. Okay? Just color pick Okay. It's going to change the color. And then we will return back and try to change these values. Okay? Now you see we have something like this. Of course, it's not a great result. And you can see that we can get different results based on our needs. So now let's say that we're happy with this color composition. And the great thing about using reference like this is that we get color consistency all across because this color has consistent colors and it doesn't have value jumps like the ones that are not PBR calibrated. So now I'm going to export this texture, and it's going to be replaced with the previous one. Okay. And now if I go and select these three textures and re import, you see now the look of the environment changed completely. And why is that because we changed that color to something like that? Of course, this is not something that we want. But here's the powerful workflow of this method. If you change something because we have instance that across the world, it's going to affect all of them. Of course, later, we're going to create shader material that, for example, we tell that, for example, for each plank, do a bit of color variation so that they are not just a simple color. If we go here now, you see, it's a simple color being repeated all over, but later we're going to create a better result. So now we are going to re export this and then re import again. It's going to return back to its previous look. So from time to time, I'm going to bring real engine and test the result to see if we like the result or not. Okay? And then we're going to texture three types of wood. One is this one, which we might use an exposed color just like this, but with a better texture. And is this one, which is the main one which is being used a lot in the scene, and this is just for first shape that has been used in the scene, okay? Now I'm going to remove what we have here so far. And let's try to create folders. Let's call 101, and just bring a very simple texture here. So just to identify, let's change the color to something that we can see. And then we can go here add a black mask. Okay? And then using this polygon fill going to object mode, we are able to pick up this color. Okay? Now we have created a folder and later, whatever change we want to go for, this one is going to happen in this folder. So let's bring another one. Let's call this 102, bring another fill and now let's go here, add a black mask. And then I'm going to pick up these three. Of course, it's not visible because default color is white, but here you can see the idea. Okay. Now another folder, let's call that 03. Okay. And then I'm going to pick up these three. Okay, now the folder structure is there. Whatever we are going to do is now it's going to be through these folders. Okay. Now let us start with the texture creation, and we're going to start with the plank because that is the most used one in the scene. So let's call this one base wood. We could start with a simple value or we could go and use one of these procedural textures. Well, let us start with these procedural. And I think that the best one to start with is the wood rough. Okay? Let's replace that. So we could delete that one completely and replace it with this one. Okay, now you see, because of the rotation and the way that we created the UVs, all of these should be rotated. You see, these are getting rotated the way that they should, but the rotation of the texture is different. So let's go for rotation and set it to 90. So now you see all of them are getting rotated the way that they should. Okay, now we are seeing that there's a good amount of wood information in here, but definitely we need to change that. So it depends on us if you want to introduce lots of noise in just this beginning stage or start with less noise and add noise later on. And, of course, because this is a generic modular kit, we're not going to add lots of special details. For example, we're not going to add something like this because if we instance that in the scene, it's going to be revealed that it's a repetitive detail. Rather later we create variation maps to add variations there and just remove a lot of that repetition. Now, let me delete that then start to work on this wood rough and see what we could do. Okay? Now this is good. You see, I don't want a lot of distortion in those beginning wood fibers. Just I said that because it's going to be too noisy in the beginning. So for the wood color I like to bring a color like this. Okay? And then let me bring another color, and this is going to be the variation. Okay, I'm just going to rename these layers and you do not have to watch the renaming process. So let me bring one of these, and I'm going to pick up one of these values that we like Okay. And now let's try to change the blending modes to see which one is the best one for our use case. Looks like this is good to start because I want them to be a bit desaturated color. No, here's the base color updated in on real Engine. And I think that it's a good color because we could add variations on top of it to look a lot better. And if you see that, there's this knowing color change. Later that we fix the results. It's going to be a lot better. Okay. Now let's try to add just a bit of color variation. I'm going to copy this and let's name it color variation 02, and let's go for a darker color. Let's add a filter, and then I'm going for hue saturation lightness and bring the lightness down just a bit. Okay. And now I'm going to add a black mask here. So instead of selecting different colors here, I'm going for procedural. So let's go to our procedurals, and I'm going to bring something directional. Okay. Now if we go here, you see that there's a bit of color variation. So let me see if the direction is okay. If we tie it by four, it's a good variation. And now we can go to material and change its properties a bit, including roughness. So we could bring a lot of roughness because wood is something rough, and let's see the roughness Okay. Now this is a good color variation, and let's go add another layer. Okay. Now let's try to bring something else. And this time, let's try to bring the gradients mapping technique that we have been talking about. Okay? Now, you already know that we're going to bring only color, okay? And then on the base color, instead of using something like, for example, a single tone, we are going to bring something procedural that has lots of range. Okay? This concrete looks good. Let me see if we could fix the tiling a bit by three, okay? Let's see if the rotation is going to help. Okay, now that is something directional. Okay, now, let's try to add a filter, and I'm going to bring in a sharpen to sharpen the result because I want to have a bit of contrast here. Okay. Now we're going to convert this to color data. We are going to select that and bring in a filter, and then we're going for gradients. Now this is going to help us pick colors from. So let's bring lots of colors so that we could really bring something rich in terms of color variations. So again, we're going to use this one because it has lots of good colors, and I'm going to try to pick up from dark to bright colors. So let's bring that to something like here, okay? Now, This is taking too much later. We're going to bring that back. But the color is going to a good direction. First, we pick the colors that we like, and then we will change the composition by changing the color here. Let's pick something light. That was similar to what we already had. Okay. Now, let's try to change these colour sliders so that we get the results that we want. This color composition is so great. Now, I'm telling you that, for example, whenever the color is in a point of 00.3 in the black and white color because the color is 0-1. For example, whenever the range of the color is 0.03, just go and place that color. Okay. Now let me bring this to here and this dark color Okay. Just go and see which color composition you want to be in certain places. Okay, now we create a really sophisticated texture like base color. Okay? Now, let's see how we could lend that with previous color information. Looks like darken is a good one. Overlay is good as well, but that's going to be too dark. Okay. I like the pin lights. I believe it should be, okay? It's a lot better. So let's go see this is the color that we have. And now I'm going to create a mask based on that because I don't want that to be all over our texture. So let me add a black mask and then add a fill so that we could use some of these procedures to help us with that. So let's go for a wood texture. So these are the baked ones that we already had. No, I didn't like any of them. So let's go for something directional. So let us start with the directional color, and we need to rotate that 90 degrees first so that it matches the direction of our color. And then let's go for a tiling of four, for example. Okay? And then let me add filter, and I'm going to sharpen that because we need lots of ranges here. So whenever it's black, it's going to show the previous layers and whenever it's white, it's going to show the current layer. Now I'm going to bring another fill to the mask and let's bring some of these procedures and try to use them. Let's tile that by four, and I'm going to use Max Lighten to add to that color composition. Let's try to bring something directional and with a bit of contrast. So let's go to the normal mode. Let's go to normal. Okay? Now, of course, we need to bring more white textures to here because I want to see more of our wood color. So just try to use these colors that have lots of white colours. Okay, Max Leighton, but that was too much. Okay. Now we're seeing that we are getting some of that color variation here. Now you see the color is getting the darker tone that we wanted. So let's do something. I'm going to bring to multiply. Now, let's see which one is going to be the best one. Okay, I tested and found that that pin light is a good color. But again, after that gradients, we could bring in a level. Now, let's bring in a filter and use a bit of contrast on our texture. Okay? This we'll try to differentiate between color textures. And that is okay. So if this was a single prop or something that didn't get repetitive, I would have added details. But since that is something procedural and it's going to be instanced a lot, I'm not going to change that much, and I'm not going to add so much special details. Oh, let's add another variation. And, of course, let's go here to the previous layer and go for roughness and change the color to something else. Let's go for roughness. And of course, we could bring the height as well to something more visible. So it adds just a bit of surface color surface undulation, excuse me. We just don't want to have a lot of ranges so far for now. Now let's go for the next variation. And now let's use some of these height changes that we have based on what we sculpted in Zbrush. So let me add a black mask and I'm going to add a fill. So we're going to go for the Bake mesh maps. So let's pick up ambient occlusion and you see, no, ambient occlusion isn't a good one because some of these are darker than the others. Let's go for something else. Let's search. If you have baked the height map, it should be good for now. Okay? You see now it has the height map. Let me see if we could use Auto level o know the height map isn't good as well. Let's see about curvature. Okay, curvature is okay. Sound out because I want to be able to pick up these areas which have been sculpted. We need to burst at a level, use Auto level and then invert that. Okay? Now we're using these areas which are basically opposite of the curvature map. And if we go here, we need to add levels and try to limit that. And here we are able to pick up certain areas of the color. Okay. Now let me use gradient mapping again. So first, let's bring something that has lots of ranges. So this one is okay. Let's go for base color. Okay. And let's try to add lots of tiling. Okay. Now, let's add filter and gradient mapping. And I'm not going to add lots of colors. So I'm going to pick up darker colors to differentiate these areas which have been sculpted in Zbrush. So let us pick up from these darker tones. Okay, this is the result like dirt collecting in these areas. Okay. Now you see these areas are more pronounced. If I go back, you see, we have more variation in these areas. Let's go for roughness as well because those areas where the dirt is going to collect. It's going to be so rough. Here's the roughness, excuse me. Okay? We want them to be rough. So we want these areas to be rough. So now let's see what we could add here. If we add a bit of edge damage, these edges as well would really shine. Because now if you look from far away, you're not able to guess the distance. So by adding a bit of edge, we're able to focus the composition on these areas. Okay. And now let's do something. This one, instead of using normal, let's go for pass through. And what pass through does is that it's going to capture colored radiation, excuse me, color information from the layers before it. So let's do something. I'm going to bring in paint layer instead of fill layer. So let's set it to pass through. And you see it takes a screenshot from the layers before it. So why am I doing that? Because if we bring an edge mask. Let's say that, for example, we apply that edge you see that it's distributing only one color on these areas. But I'm going to use the previous one and use the colors themselves to blend with themselves. So let me add filter first. I'm going to bring hue saturation lightness and try to bring the saturation up a bit and try to bring the lightness up so that instead of using only one monotone color on the edges, we're able to use the color from the previous layers. So let me now bring that So let's bring something. I want to be able to pick up the edges. Okay. This is good, but we need to focus more on the edges. Okay, that's fine. Let's add a bit of contrast. And now, if we go to here and try to bring up the color, we're able to tell where the edges are. So let's zoom far away. So let's do something. Let's go back. I believe this wood layer, okay? You see? It just distorts those edges. We don't want that to look like that. Let us go to roughness. Let's go on this effect, and I'm going to add a fill. This fill is going to add a bit of information here. I'm not going to use color, neither metallic roughness or I'm going to only use the roughness. So let's go to our roughness value and we could bring that to something like this so that the edges shine a bit more because the light catches better in those areas. Okay? Now, so far, I'm happy with the changes that we have created. Now let's add a bit of mesh related changes. So I'm going to bring only color and try to see what these masks offer and use them in the color. So let's bring the ambience oclusion effect because I don't want ambient occlusion here. Okay, this is going to use a darker color. Okay. And let's go set to multiply and bring it to something more controlled. So let's add another layer. And I'm going to test. No, this isn't right. Let's go for other areas. So this paint is good. Later, we might use for colored radiation that we create using shaders. Okay. This one is not bad. Let's pick up the dark color. And we could go bring the global balance up. And we don't want that to be something like a paint layer. We want that to be something like a dust. So let's go bring lots of roughness. Oh, here's the result so far. Now let's do something because we have already set up a material here. I'm going to right click and create a smart material. This is going to create a reusable material that we could, for example, place in this folder and use here with a bit of color changes. So of course, we could have removed the color first, okay? Now, for example, we could add a paint layer on top of everything. I'm just testing to see if we like the result, we will go and use it and if we didn't like it, we will just texture these from scratch. So, let's set that to pass through, and then I'm going to bring in a filter and use a bit of contrast on the color. Okay, and looks like this little layer. So let's see it would be a good idea if we remove it. Okay? Oh, here's the result. Of course, we are seeing lots of value jumps. If we go here, I want them to look similar. So let's try to bring the contrast to something more controlled. Okay, and then add a filter and use saturation lightness here. Okay, it's a good one. And let us add the same folder to here as well. And then we're going to change the tone to something else. Let's bring another hue saturation, lightness. I want this to look more desaturated and a bit darker. Okay. Now let's do something because the result here is okay, but I want that to have a bit of brown toll already. So I just create a fill layer, excuse me, a paint layer. Let's set it to pass through so that it captures all of the information from these layers. And then I'm going to bring in a filter and let's go for el saturation lightness, and I'm going to just change the hue of these colors to something like brown. M No, this isn't working. Let's add a filter and add contrast instead. Okay, now I'm liking the results more. And later that we add the variations, for example, separate each plank. It's going to look a lot better. So let me pause the lesson now and in the next lesson, we're going to create material. We're going to create a material that is reusable across the project, and we're going to create something to control what we want from the texture. For example, if we want to change the base color to what we need, if we want to add extra normals or if we want to control the roughness and so on. And then when we make sure that the material is okay, we will go and create the variation maps and add secondary UV channel to these for variation maps. Okay. See you there. 39. Master Material Creation: Okay, everybody, now we have created a very basic texture that fits for all of the buildings. Now we are going to create a material, and that material system allows us to create variations per instance in Andrea engine. So we are going to add specific detail types that we want. For example, we go and create something to change materials per building using these blueprints. For example, so that we have different colors of wood so that they don't look exactly the same. Okay? In the first lesson, we're going to create a master material that is going to be used for most of the props in the scene, including these modular ones. Okay. And then we're going to create variations in that as well so that we get the most amount of variations from these specific details. Okay? Now, let me go to our boulders, and in the materials, I'm going to create material. Okay. Let's call this one, zero, zero, so that it appears alphabetically in the beginning of the list. And then it's going to be MM representing the master material. And then let's call it modular because it's going to be used on our modular pieces. Then we're going to take instances from this for the pieces that we want. Now one thing is that we're not going to use this material attribute the way that it is. The first thing that you want to do is use material attributes. Now, this gives us more control and we go here, for example, create one material and then plug it here to avoid a lot of noisy macaroni type of material because some of the materials that we create might have a lot of wires connected here and there, so we don't want a lot of overlap. So this one helps us achieve that. Of course, these blending modes are important as well. But this one works because we're going to use for surface, and it's opaque because we're not going to be seeing what's behind it. Okay. Now, here's our wood material. I'm going to export it so that we could create the material based on that. We're going to export the base color normal plus the roughness, metallic and ambient occlusion. Right now we do not have any metallic information, but anyways, we're going to create something that is reusable for later. If later you create texture that has metallic, it's going to use that one as well. So now Control Shift E to bring that again. Now, the format is going to be Targa and the resolution let it be four K. Of course, we could have used the tiling textures. This one will do as well. So we're going to create a system that allows us to export the base color normal and the act texture, which is going to be an RGB channels separated, each one for specific use. For example, instead of exporting only roughness to one texture, just like the one that we have here. Let me bring that. Okay, here you see, we have exported the roughness channel to only one texture. So this is not going to be that optimized. So we're going to pack those black and white textures into one texture. So we have some plates in here that we could go and try to use. So default one is the unreal engine packed. So it already has everything that you want, but we're going to duplicate and try to change it. Okay? Right click duplicate, and now let me just call it UI packed. So now, in here, you see the first one is going to be the base color. Okay? We're not going to export an Alpha channel with it because Alpha channel is going to make the texture more expensive. So we could click and clear channel. Okay. Now the next one that we have is, you see, it has created RGB separately. The base color has RGB all in the same texture, and it creates a color texture, just like the base color that we have here. And here we have the RG and B separated. So now the next thing that we want to do is separating excuse me, setting the format to be Targa. So let's change targo for all of them. Okay. Now the last one you see in here is ESV. We do not have an emissive channel. So let's just remove. And in here, you see we have normal. So it has an RGB. So you see that it's normal direct X. Of course, Unreal Engine exports, excuse me, reads the normal indirect X format. But since I'm used to work in OpenGL, I bring the OpenGL map from here and plug it here. Okay. And then later, we will just convert that to direct X in real engine with one click. Now, or something like this, which is our pack texture, you can just click here and it will bring something like this, and you can just try to use the same naming convention to whatever you want. For example, bring that. And for naming convention, you could click here. And for example, first, you tell that first place the name of the mesh, something like this. And then it will place the name of the texture set and things like that. Just like this, you can create the variation that you want. For example, here, first, it would bring the name of the mesh, and then it would bring the name of the texture set, and they have been separated using an underscore then name of the texture and things like that, if you want to create something like this. So we already have a pattern and now let's use. So the R channel is using mixed AO which is using the ambient oclusion from the bake and the ones that we have applied. So we haven't applied any ambient occlusion results. But since sometimes you might have applied something, let's keep it. But I'm going to bring the mixed A O. Instead of R, I'm going to bring it to B. Okay? Now, in the green channel, we have roughness. I want that to be metallic. So from these inputs, you can search for metallic, it's in here and bring it here. And then for R, I want the roughness channel to be the R. Okay? From here, you can search for roughness. And now we have created a texture that has roughness, metallic, and ambient occlusion in here. Of course, if you're not using ambient occlusion, you could, for example, bring a missive to one of these channels if it's only a mask or if it's color, you can create a separate texture for it. So for now, we have the template setup, and in the settings, you just want to go here and go for UEFive packed that we created. File type, it's already set to Targa. It's okay. So now we're going to export Okay. Now you see it as exported three textures, and now if I take a look, this is the base color. This is normal, and this is the ambient occlusion, roughness and metallic. So here they are. And now this one is a channel texture that we're going to separate in on real engine. And now for a naming convention, I want to add T underscore before the name to tell that it's a texture. Okay. Later, if you want to find, for example, textures in your project, you could search T underscore and get faster results. Okay? Now let's go to our textures, and I'm going to import. And here they are. So import. Now we need to change some settings for these textures. So the first one is this channel pack texture. You want to go compression settings. Instead of default, we want to set to mask. So using mask, we are preventing those value changes in the texture. So now we have R channel, which is the roughness. We have green channel, which is metallic, so we don't have any. And then B is the ambient occlusion, which is the baked ambient occlusion and the ambient occlusion that we added in the texturing phase, which we didn't actually. So here's the default ambient occlusion in that texture. Okay, now we have a normal, and this normal is OpenGL. So to change it, you want to go here, all advanced details, and then you have slip green channel. So you click and save, and it's converted to direct X, and we have the base color which is good, and format is set to default direct X, and it's okay. Now we're going to create a master material to use these textures. But make sure that you do not use these textures in the master material itself because you see this texture is a four K texture. And if you use it in the master material, every time that you instance that material, this texture is going to be instanced as well. So it's going to be heavy for performance. So we're going to use placeholder textures that are so smaller in scale and are better for performance. So now let's try to create, and for the first one, we're going to create as color, basically. So first, I'm going to cross T and click here. It brings a texture. So we have no way to connect this texture to that material because that is a totally different type of data. So for our workflow, we need to create material attributes ourselves. So search, make material attributes. Now, this will bring the inputs that we wanted. For example, if I bring the base color to here, and then I could connect this one here, and that works. Okay. Let me find our material. Okay, now we have a system that works, although we need to create textures, but you see that it works. And I'm not going to use something like this because we need to create different controls, and I don't want to really overcomplicate the project. We create what we want and then create a reroute node and relate to the inputs that we want. Okay. Now, let's say that we have a base color, and this sampler type is very important as well. And the next one that is important is sampler source. You want to set it to shared wrap so that if you use lots of textures in one material, you don't get any errors. So now, let me bring one of the default textures. Just search for the default, and there should be a default diffuse that is small and not consuming so much space. Okay? I think this is. So let me bring that default texture. And you see, this is only a color that is 128 by 1228. And it's a lot lighter than a four K texture being duplicated multiple times in different instances. And you want to make sure that this sampler type is set to color as well. So now for changing this one in the viewport in the material instances, we need to convert this to parameter, just like the parameters that we created for changing the color in the viewport in real time. Okay? Let me just call it Andres 01 to tell that this is the base color from the material 01 and then base color. Okay. Later, if you wanted to create spright material, for example, a paint material to be painted on top of these materials, you could duplicate the same you could duplicate the same things that we create here and just change the name to 02, and you're going to be fine. Okay? Now, let's do something. In the beginning, we're going to set the sort priority to negative one. Why is that I want the base color textures to appear on top. So let's not do that. We will later just explain. But for this one, I'm going to set it to material 01, okay? It creates a folder and brings all of the textures parameters that belong to the same material. So we're going to create a system that allows us just like a substance painter system that we used for changing the hue, saturation and lightness, we're going to create that and then the ability to add contrast to the texture as well. So here's our base color. And then for the UVs, because these are baked UVs, we're not going to change the UVs at all because if you tie the UVs, you're going to get errors in textures. But since we do not have a tiling UV right now, we're not going to use the UVs for here. Okay? Now, just plug the RGB, and the first control that we're going to use is the ability to be able to change the hue change the saturation, excuse me, because first we desaturate the texture from the green to something, for example, like a gray scale texture, and then apply color after that if you wanted. Or if you didn't want, we just could simply avoid that. So let's bring the desaturation, okay? Color. And then it needs a constant here. So a fast way and quick way to create is exactly what you want is right clicking in here and right click on the node, and it should be promotive parameter. Okay, it creates a parameter, and then let's call it, 01 underscore representing the material that we are working on. And then EC representing the base color. And then it's going to be desaturation. Okay? Now, for the desaturation, the default value, we want that to be zero because desaturation of zero means the default texture. And if you just set it to one, it's going to desaturate it completely. Just right click here, start previewing and you see it has converted that to a gray scale texture. But if you set that to zero, you get the default texture. So we're not going to change that at all because we want that to be the default without any change. So let's stop reviewing. And then the next control that we want to add is the ability to add a hue. To change the texture color. So let me bring multiply. And there are multiple ways that you can add hue, one is multiply, one is overlay. Okay. Both of them could bring a good result. So let me bring in vector. It's three channels vector, and let me convert that to parameter because these all want vector three. And if you apply one vector, it's going to, for example, if you bring one vector constant or vector one, it's going to multiply all of these three channels into the same value. So that is why we're going to bring a vector so that these are separated. Now, let me call it. Let me just take the naming convention from here. And then it's going to be base color Okay? Now, let look like that here and here. Just start previewing. And because we have multiplied everything by zero, we're not getting anything. So the default should be white. Okay? Now, let's say that we change the hue to something like blue color. Okay? This is using multiply, and now let's start previewing this one. This is another one. So both of them probably give you something, but the multiply because multiply, you need to have a value that is bigger than one to lighten the texture. And here you see we have all values that are lesser than one, for example, in here, it's going to darken the green channels. But overlay does not have that, and it's going to be a bit lighter. So it depends on you. If you want to have the multiply, multiply is going to darken the texture a bit unless you go and exaggerate the value. For example, if you go for 1.25, say it tries to lighten the texture. If you go for two, four, ten, okay? But if you want overlay, you could use overlay. So let's try to use overlay instead and stop reviewing the node, and it's going to be our texture. So let's set the default value to one. Okay? Both. Now, it's ten. So let's go for one. Okay, one, one, one in here, and it's good. So now, the next one that we're going to use the ability to darken or lighten the texture. So we already know that the multiply is a very good one for here. So it's going to use only constant, and that constant is going to be multiplied on all of these channels, RG and B. Right click promote to parameter, and then I'm going to apply the same naming convention, and this one is going to be lightness. Okay. Now we are previewing that because we have been multiplying that by zero. So every value multiplied by zero means one, excuse me, means zero, and by 0.5, it's going to darken the texture, and 0.1 is going to be the default value of our texture. So let's stop previewing that. And then we created a very basic control for base color. And now let's go bring contrast as well. Let's bring the cheap contrast RGB. And then let's start previewing that so this is the default and the default value is zero. So it means that we don't want any contrast. So now, if I promote that to variable now, let me rename that. So I just renamed that to contrast and now contrast of zero means no contrast. Contrast of one is really going to contrast the texture, contrast of ten, you see, you're getting very, very unwanted results and contrast of negative one, negative ten, you see, you get different contrasts based on the values. Okay, now we created a very basic control for our base color. And now instead of plugging that here just like so I'm going to create what is called a reroute node. So add named re route. And then this is a container. It's going to contain all of this information and then pass that to here. So let me just name that to 01, Base Color, okay? And now, if we right click here from these named reroutes, select the unrece base color, plug it here, it means that all of these informations are going to be kept here and then passed here. Okay? This is just like if you have worked with substance designer, the order is from left to right. Okay? And then the last node, for example, if you change something from here, it's going to again go and recalculate them and then pass the data to here. Okay? This is only container of information. Now, I'm going to instead of again creating a wire to connect that here, I'm going to create a named reroute Okay, add a named reroute, and then I'm going to change that to material 01. Okay? Now, this in here, we're going to right click from these named reroutes. We are going to bring the material 01. Okay? Plug that here, and you see our texture is working fine. You see, it's taking the information from here, exactly, bring that to this container. And then this container is going to be plugged here to base color, and then this material is going to be converted to this container. Then this container is going to be here. Later, if you want to blend the materials, for example, blend two materials instead of creating lots of wires to make the readability a lot more difficult, it's going to be just something like this. We bring different material attributes and blend them together. Just very easy and convincing. Okay. Now, let's see what we have created already. So let's go and try to create a material instance. So this is our master material, and I'm going to create a material instance. Let's call it MI representing the material instance. And now let's call it Wood kit. Okay, here you see we have parameters. Of course, we need to create a better order. So you see we have these controls here. We have a base color hue, and then we have the base color itself. But you see the folder creation is not okay. The only thing that is okay is the space color which is in the material 01. So let's go here and try to select these. And then from this one, we're going to select the material. So let's save. And you see now, they have been applied to material 01. Now, the desaturation, okay, we missed this one. Let's plug. Now you see, they're all in the same category. But then I want them to be in the order that we created them here so that it's easier for us to find and basically create the results that we want. So now I want the texture to be appeared on top. So here, it's a matter of changing the sort priority. So now, this has been set to 32 and all of these as well. So I want this one to be negative one. So negative one means that, for example, if the number is smaller, it's going to appear always on top. For example, it's going to be from zero to infinity, for example, zero, one, two, and three, and they're going to be in the line. But if you set this number to negative one, it makes sure that it always appears on top because negative one is smaller than zero. So I'm going to set this one to be one, and then this one to two, and then this one to three. Okay. Now we miss this one. So let's name this 12. This one is going to be three and this one is going to be four. Okay? Now just see the changes that happen. Okay? You see desaturation is the first one, we get hue, then we get lightness, and then we get contrast. And then this texture is on top as well. So let's just bring the fault mesh from here. So let's go to our meshes and bring one that is using the wood kit. Okay? Like this one and use this one for our testing. Okay. Now I'm going to just select the material MI underscore W kit. Okay? Now you see it has been applied here, but then we need to go and find our values and set. Okay? For the base color, I'm going to find it in our content textures, and now let's plug it here. So you see we are getting that perfect. So let's try to see what our values do. So desaturation, if you set it to one, it's going to completely desaturate. And then we could go and try to, for example, change a different hue. For example, if you want a darker brown texture, which we want for this, okay, you see, now it's more like the texture tone that we want. We created this and we left this to be like this. I wanted to change the texture in painter, but I just left it to be for engine. So we could go and try to apply different tones. So now if I bring the desaturation to zero, you see how the color changes. Why is that? Because that is now taking this color information and applying that hue. Okay? Now this is the color information, and it's applying that hue. But if you desaturate it, it's going to get black and white texture and apply that, okay? It depends on you on which one of them you want. I want a bit of the color information that we created in painter to be applied there. Okay? Now then we have the lightness. If you set zero, you get nothing. If you go negative one, again, you get nothing. One is the default. 0.5 is half, one, two, three, ten, and basically to whatever value that you want. Okay? And then we have the contrast as well. Let's go for 0.25. You see, it's very, very sensitive to values. You want to keep that every way we control, for example, 0.25, 0.1, okay, it adds a bit of contrast. These values are correct. And then using this, you can revert back to the default value. Okay? Now this is our base color, and later if we wanted, we could bring a tiling base color on top of the base color that we have to up the resolution. So let's see what we could do. Of course, you want to have the optimization in mind as well. So now we created the controls for the base color. Now let's go for the normal, okay? And then the normal is going to be just bringing a normal and I'm going to apply a tiling normal on top of that to be a detail normal. And that will up the resolution as well. If you look at close up, it will bring the details. So let me bring a default again. So I'm going to place To because we have a texture selected here, it will bring that. But now if you bring, it's nothing there. Okay, search for the fault, and now we should be able to find default normal, okay? It's here. Let me find the one that is lighter than the others. Okay. Now you see this is 124 by 124. You can go and try to change the resolution. So bring the all advanced details, and there should be a resolution Okay, it's maximum texture size. So let's set that to 128, and now you see the file that is in the disk is still available there, and we could find it. But now the display is 128 by 128, and that is being used here as well. So now I'm going to convert this one to a parameter as well, and then let's call it 01 normal. Okay. Now, let's already place that in the materials folder, and the sort priority is going to be negative one as well to appear on top in the list. Okay? The only control that we want for normal is to be able to change the normal intensity. So there's a node, which is called flats and normal. Okay. Now this flattened normal is value. Zero means the normal itself, and one means normal flatten. Basically, it's flatness. The more you increase the value, the later the normal is going to be. Okay? Let's try to promote that to a variable, and then I'm going to set this one to be five because the latest one that we changed was four. Okay? Now it should be in the material 04 as well. And now let's call it zero, one, strength. Okay? Why I did call it strength instead of flatness, that is because I want to invert that value because the way that I used to work is that I like to see, for example, if I change this value to two to see my normal be more stronger. So let me just connect that here to normal. Save, and this is for testing only. We will later return back and correct it. Now you see this is our normal texture, and again, let me bring that from here, and you see our normal is being shown here as well. Without it, with it. Okay, now we have the normal flatness. If I set it to one, you see, it's just like the texture without normal. And if I bring values close to one, it's going to be strength. So if I go for negative one, you see it tries to even strengthen the value. So I don't want that. I want that to be inverted. So that when I go above one, we get stronger normal. So one way is to bring one minus node. This is just like an invert value. For example, you see, one becomes negative one, zero becomes one. It takes just a black and white texture and invert that, that is easy. So now you see our normal has been changed because negative one is now one. No, it's not one. It's just flipping the normal. Okay, now zero means no normals, and one means the default normal. Okay? Now this is good for the default, and let's set the default value here as well to one. So that later when we changed the value, it's going to be staying the default. Okay? Now, in order to add a bit of resolution to our texture, we could bring a tiling normal on top of this that adds a bit to the resolution of the texture, but it's going to be performance heavy. So we want to create a switch to be able to see if we want the normal to be using a tiling texture for resolution or do we want to use the same normal? Okay. Now, let me just I just disconnected that to create our detail normal as well. So we're going to repeat the same process here. But again, I'm going to take this and change it to detail normal. Okay, so that it doesn't get mistake with this. Okay? And then this one is going to be detail normal strength. Okay? And then to add the ability to tile this texture because we want to tile it, we are going to bring texture coordinate, press U and click. It will bring that texture coordinate, and it's going to be for UVs. Okay? Zero means the default UV. We are going to multiply that. Okay. And then it depends on you if you want to have proportional tiling, for example, to tile all of them at the same time or tile, for example, if you want to have a tiling of two for X and Y, something like that, you could bring different values and try to append them. But since we're going to use only one value for all of it to tile U and V or X and Y at the same time, we're just going to use one constant, and it's going to be applied on both of them. So let me just take the name from that. I'm going to convert that it's already a parameter, details normal tiling. Okay? Now, if I apply that here, we have details normal setup, but we need to add to the calculations. So before that, let's try to change the numbers, okay? First, this is the number five, and now we want to have the ability to change the tiling first. So let's set the value to be one because the tiling of zero means no tiling and we get error. We don't get error. We just get wrong display. Okay? Now it's tiling of one and it means the default tiling. And then this one let's call it seven, ok. And now we're going to blend these. So there's a blend No, not blender. It's going to be angle correct blend angle correct normals. No, not this one. It's going to accept a base normal and additional normal. Now, if I plug that here, again, let me plug that to the normal, which we're going to fix later. Let's do something. I'm going to bring that material instance for detail normal, let's go and pick up something that is tiling from the contents. Let's go to our texture folder, and let's bring something that has lots of range. For example, this detail rock is going to be applied here. So you see it brings a bit of detail, but it's going to be too strong because the default value is set to one. And the tiling, as well. I I bring that up, let's go for a tiling of two because these textures tile a lot on the surface of the texture. Okay. And we could bring that to 0.5 or 0.1. This will add just a bit of additional normal detail on top of the texture to make the texture more look more high resolution in the close up. But in far away, it's not going to be that important. So if that is going to be used in close up, you can just create something like that. Okay? But let's say that. We don't want that to be applied on all of our textures because it's going to be heavy for performance. So we're going to create a switch to allow us to use the false normal or the corrected normal. So let's bring a static switch. Okay, this is a static bull. We want that to be. And let's bring a static switch. Okay? Now, we have a true or false condition here, and this value is going to be connected here. So the default value, we could set it to be false to use this one or we could set it to be true. Okay. Let's set it to be false or the default for optimization. So I'm going to plug the result to here so we get error because it needs to be applied. So let's first rename this let's bring the static switch parameter because that is going to be changed in real time. So static bull parameter, this is the same thing, but with ability to be changed in real time. So let me just set it to let's rename to add detailed normals. Okay, the default value is going to be false because we don't want the normal to be applied in the beginning. We don't want the additional normal. So for sort priority, let's set that to negative too, so that it appears on top of the list. Let me bring the material instance, okay, so that it appears on top of everything. So let's flag that here. This is the value. We don't want the normal or mix of both normals to be applied. So this is going to be false, and it means that for the default, it's going to take this normal. So this is going to be true. So now, whenever we set that to be true, it's going to use this normal, corrected and with detailed normal. And whenever we set that to be false, it's going to use this one, okay? True is going to use this and false, it's going to use this. So let's just create a reroute for a better readability Okay. Now, let's save, and now you see now we don't get the detail normal here. Why is that because the switch is deactivated? So if I bring that and activate you see now we get detail normal. And then we get all of these detailed tiling normals and the normal strength. But if I disable that, we don't and that is going to be good for optimization as well. So just take a look at the instruction numbers the moment that you activate the detailed normals. This is it. This is the number of instructions. Now if I enable, see if we get an increase in the number of instructions, which makes the shader a bit heavier. Let's take a look at the shader complexity as well. So it should be optimization and shader complexity, okay? The more towards this, the better it's going to be. So you see, it's somewhere around here. Okay? Now, let's just bring this and deactivate Okay? It's not a huge save, but it's something to consider, okay? Because that is a small number of instructions, but you have in mind the optimization as well. So let's just create a comments box around these by pressing C. So this is going to be base color. Okay? And then here's going to be our normal. So let's create the named re route as well. So it's going to be 01 dra square normal. Okay. Now, let's disconnect and then right click from this name the reroute, I'm going to bring the normal. Okay? Fine. And now let's create a common box around this and call it normals. Apply and save and we see no change because everything is working all right. Because this lesson is taking too long, I'm going to pause here. In the next lesson, we will go and create the packed texture that has the roughness metallic and information about the ambient occlusion there. Then we will see the possibility to create variations for each kit. See you there. 40. Material Instances: Okay, everybody, now we created the very basic information for the base color and normal, and I see that there's a change that we need to do. Let's go to our unlit mode so that we see the colors. So you see these are both the same texture. But this one appears a bit lighter. And in here, you see it's a bit lighter, and that is because of the overlay that we set up here. So if you want you can bring the multiply back and plug here, and then this one plug here, and then replace it, remove the overlay and if I apply, you see, with the same settings, we get the color back, and now let's go here. And if you take a look, you see, we have the same tone without any change, okay? Overlay was a bit too bright. Of course, you could have kept overlay, but with a darker value, but let's save that headache for something else, okay? Now we're going to bring the packed texture that holds the roughness metallic and ambience occlusion texture. So let me bring a texture, and let's go for the defaults, and I'm going to bring one that has masks. You see, now the compression setting should be masked because we want to bring in an RGB texture. So we need to separate all of these. So right click, convert to parameter, and I'm going to just rename that to 01 rescore masked. Or let's call it packed texture. Okay? We could directly use default RGB or we could use this separately. So let's create a named reroute and call it act roughness. Okay? And let's call this one, create a named reroute. I'm going to call this packed metallic. And then this one, let's call it Act AO. And I just added the 01 before them so that we see what is going on. So let's call this one act texture. And then let's start with the roughness. Okay. Let's bring the pack roughness. Okay, it's in here. And then it's going to take the roughness from this texture, and then we're going to have a bit of calculations for the roughness. And we actually don't want to add lots of values. So we are going to add a multiply, and this multiply is going to control how intense our roughness is going to be. And then we're going to bring in a power, and this power is good for contrast. It's just like a contrast for this one. So let me right click here and let me just take that name and we need it for renaming. So let's promote that to a parameter. And now I'm just calling that underscore 01 roughness intensity, okay? And you already know that the default value for multiply should be one if you want to not change anything. So now for contrast, let's right click from O to parameter, and then I'm going to just rename that contrast. Okay? The default value for this, I think, should be one. So let's start previewing that. Okay? It's going to take this information. We should be able to see the R channel, which is this one, just like this in the material. Now, if I set the default value to one, you see we get that R channel completely there. Zero is going to be this and two is going to add more contrast. Okay? The default value is going to be one. So let's stop previewing that. And then this is going to be our roughness. So let's call it 01 roughness. And we don't need to add lots of changes because the roughness is something that we create in painter or a designer, and most of the time, it's going to stay the same. So let's bring that Okay, roughness and plug here. Let's create a comments box roughness, so that it's easier to find just like that, okay? Now we're going for metallic and metallic is straightforward as well. We don't need to change lots of things. We need contrast and intensity, okay? Let's do a bit of more optimization as well. Let's, for example, this texture that we're using this material doesn't have a metallic at all. So why calculating results for metallic? We could create a switch to use either black and white value for the metallic. So zero is going to be non metallic, which is this one and one is going to be metallic. Okay. In the first level, we decide to see if we want to use these values for metallic or not. Because, for example, now that this is non metallic, we could just switch a very simple value like zero to the metallic. So that would be a lot more optimized and better for workflow. But sometimes the material might be full iron or something like that. So that way you might as one. But sometimes you might have a customized map, for example, you have a texture and you have a knife that part of that knife is fresh and new and some part of that knife might be old and rusty. So you want to use something in between or a customized map. So now we either decide to use these values or if later we created something that had more complexity, we will use the special map. So first, let's create a static switch Okay. Now this is going to be our first metallic layer. So let's plug this one to false, and let's plug this one to true. Okay? First, we decide to see if we want our texture to be metallic or if we do not want. So let's create a static pool parameter and let's just call it metallic. And then the default value is going to be zero, which is going to use this one false. Okay? Now, let's plug this one here to see what happens. So let's bring our material, and later we will correct that. But first, we need to bring our packed texture. So let's see it's here, okay? Packed texture. And now let's bring our texture Okay. L here. And now, if I go to one of the buffer visualization modes and go to roughness, you see now the roughness map is there. Now by using intensity, I'm able to bump up the roughness to be rougher and bring that to something like this. For example, to be something shiny. For example, if it's connected to water or something like that, it would be shiny, okay? Let me create a light here and that would be more obvious. You see this highlight in here tells that it's not rough at all. Let's bring that. Now we have a packed texture and let's go to our metallic. It should be a parameter switch. Okay, it's here metallic. And now if I apply and apply metallic, you see now, it renders like it's a metallic part. You see the color changes because now it's considering that a metallic object like a metal or something like that. Now, this is the first one which is either metallic or not. And then after that, we will bring the calculations based on the map. Now let me disconnect that and then let's bring the calculations based on the map, and then I'm going to reuse the same in here. Let's call this one metallic. And then these are going to be okay. Then let me bring the packed metallic. Okay this is taking information from the green channel of our packed texture and plug it here. Okay? This way, we're able to customize our metallic map. Okay? Now, if I plug that here to our metallic again, Okay. Now you see, we are plugging the same one here, so it creates a loop. So we wanted to bring acted metallic, not that metallic. Okay? Now it's taking the information from here. Okay? Now, save. And now here, you see, because we don't have any metallic information, it's just calculating that like this, we have no metallic information and it's calculating based on zero, and that means nothing. So again, we need to change this one to metallic. Now we should be able to see here. I just renamed those. Okay? Now we see the metallic being here. And now let's go to our visualization mode and bring the metallic. Okay? You see now it's zero in here because we don't have any metallic information, and no matter how much we apply or we don't get any metallic information because there's no metallic information here. But if I bring that, you see, now it's a metallic information based on this and you see it brings the contrast and then the intensity. Now it's completely metallic. Just something like that. But if I bring that Okay, excuse me, I'm just changing the roughness. So this is the metallic and now this is the metallic intensity. So again, let me bring the metallic from here, okay? Now, Okay, excuse me, something is wrong. By mistake, I renamed the metallic to roughness. So you want to keep that in mind. So let's bring the roughness intensity like that here so that I can bring the metallic plug here. And then this is going to be roughness and this is going to be metallic. So I just needed to change these. Now, let's save. And now if I change the metallic, you see now, it's non metallic, now completely metallic, and then we can just change the intensity and things like that. Okay. Now, this is using this metallic value. Let's bring our texture and use this because it's not metallic at all. So because this texture doesn't have any metallic value at all, it doesn't actually it's not a good idea to use lots of calculations. We could just use a simple metallic value. So again, I'm going to bring in a static switch. Let's bring a static switch parameter. And let's call it, use metallic map or value. So if you're going to use metallic map, it's going to be true, and if we're going to use metallic value only it's going to be false. So the default value is going to be false as well. Let's log that, save. And then let's see if that has been brought to material instance as well. So you see now, because the default value is false, we're using that metallic either yes or no. So if I activate, we see that we could bring the metallic controls as well. So if I unplug that, you see the metallic controls go away and we're able to use a simple control. So that would be a lot more easier for optimization. Okay, now let's disconnect that and create a named reroute 01 metallic. Okay, of course, we have one here, so let's plug this one true and bring this one here and remove that. Now I'm taking the same metallic make sure that you bring the metallic, not the packed because the packed belongs to the texture, and now we have the controls for us. So the first one is obvious. We don't need metallic, so yes or no. Or if we want to have controls, you see the number of instructions go up and the shader complexity as well. So by removing that, we're able to save a bit of instructions. So now, let me call or let me bring these. And I'm going to just call it metallic, with optimizations, and now it's time to create a cleaner result here. So let me see. The last one that we created was seven. Okay. Now here, it's going to be eight Okay, let's set this one to be eight, this one, and the folder should be set to material 01. And this one is already material 01, negative one, so that it appears on top. Okay? And then for metallic, let's set this one to be the first one. So it should be ten. And the material 01. First, we ask, No, let's not set that to be ten. Let's change it to something else. First, let's set this one to be ten. First, we ask, do we want the metallic map or values? Okay? It's going to be ten and material 01. And then this one here is going to be 11. Let's save Okay, let's see the changes. Now, we have the question, do we want metallic map or value value means we're going to use this one, the metallic either yes or no. Then if we want to have these values used. It's working all right. And now let's sort priority. Let's correct the sort priority. Then all of these should be in material 01, Okay. And now let's see the final result in here, which is working right. We have these textures, and now if we apply the detailed normal, excuse me, it's going to be available as well. And then we have these controls. Do we want metallic, okay? And then these will appear. So now it's going to be, again, exact same calculations for ambience occlusion. So let me just copy and paste here. Then let's just call AO instead of metallic. Okay? And then this one is going to be a O. And do we want Ao map or value. Okay? Now in here, let's set the default value to be one because Ao of zero means everything should be dark, but one is going to be the default value so that not everything is dark if you're using an screen space ambience occlusion or baked lighting instead of lumen. This is going to be the default and we want ambient occlusion to be one. So now we're going to use packed AO instead of this, Okay, packed AO. Let's plug that here. And then this is going to be AO intensity, and it's very important to change the name first and then change the order and sort priority because if you do not change that, you're going to change these that you have copied. Okay, excuse me. Again, I went and changed the wrong order. Okay? It's metallic AO, okay? I was just again, doing the same mistake. Okay? Now, let's bring the packed AO here. No, not this one. Let's bring the packed AO here. And then this one is going to be a intensity, and this one is going to be Ao contrast. Okay? Now everything is set up. Let's bring the results of that and plug that to ambience occlusion. And then let's go for sort priority. This one, let me see the last one this one is going to be okay. And then it's going to be this one. And then this one. And then this one. Okay, let's save. And now everything should be working right. So do we want ambient occlusion to be applied map or value. So by default, it's going to use this one, which is using AO instead of using a zero value which is going to darken everything, okay? We want that to be activated. And then if we want to use the ambient occlusion, it's going to bring no this is metallic. So this is ambient occlusion. So do we want ambient occlusion map to be there? Okay? Yes, it's going to have the intensity. Okay? Now the calculations are done. And we created a very basic master material that could be used for lots of situations. Okay? Now let's try to create a comment box around all of them and call this one material 01. In case you had something to create, you just copy and paste and then change the values, the names, and things like that. Okay? Let's save. And then let's try to see the changes on this one. Mi underscore with Kit. It's going to be all right. And we created the material instance as well, which could be applied on any instance that we want. It's not going to be used on these because these are luprint instances which need another way to be changed in real time. It uses on static measures, just like this one. You say static mesh components, but these are luprint instances that we later create, okay? Now let's create something for this one as well for the extra material. So let's go here. I'm going to create an instance from here and make sure that you create a good parent and child system here. For example, if I go and create an instance from this and only change the base color, let me bring that. Let me just explain. Okay? Let's say that. We only bring the base color here. Okay? And let's say that we're happy with this. And that is going to be our extra material. But whenever we go, if you just select that instance, you see, the parent is MI underscore Wood kit, and it's this Wood kit material. It's here. Now, it means that if we go and change something in here, it's going to be reflected on these as well. So make sure that whenever you're going to create material instances, just create instances carefully because if you change the parent, it's going to change the child as well. So let's try to take from the master material, I'm going to call it MI underscore extra. Okay. Now we need those textures. So let's go to Painter and export that texture with the correct information. Okay, this is it. And now we need to export that. Okay, we already have that template. Let's go and bring our UE five packed and for the resolution, I really don't want that to be four K because these are the measures that are far away from the camera. So a two K texture would be right. And then it's going to export the textures correctly, just like the previous ones with the packed textures. So we exported them. Let's just change the name. Though I'm going to use that naming convention, it's going to be the underscore extra Okay. Now let's import them and use. Import, it's going to be T underscore extra and these. Now let's go for calculations. We need to set this one to be mask. This one is okay, and then this one needs to get converted to direct X. Okay, now let's bring our extra material instance and apply our textures. So base color, normal, and the pack texture. And let's bring static mash that is using this one. So this is it. Let's bring that. It's using the wood kit. So let's go for MI underscore Wood kit to use that Wood kit material. Okay. And then for this one, let's go for MI underscore extra because that is using those calculations from Lander that we exported. So now this is the material from Unreal. You see these and they no longer look shiny, just like this, and the color is changed back to the look that we had in painter, but you see the default is again the materials that we imported from Blender. Okay? If you want to change that completely, you can change it here, and that will change every instance in the world. But now we have used only on one instance. Okay, it doesn't matter. Let's see what we have changed here. We have just used a contrast of 0.75. We have darkened that to 0.25 and a desaturation of 0.7. So let's use the same calculations here to change that look to something darker. So let's bring the material instance, and then I'm going to reuse the same calculation. So for contrast, let's go for 0.75. Okay, we're using the wood kit material. Excuse me. Let's go back and bring the extra material. Okay? It's here. And now, the contrast should be 0.75, no, 0.0 75. Okay? It's here exactly. So the lightness should be 0.25 if we want. Okay? And then desaturation should be set to 0.7 as well. We look that way. So they're too dark now because now we have the roughness and things like that set up. So let's bring the contrast to a certain value. And let's change the color. Let's first desaturate on 0.5 and the lightness, as well, we could bring that to control value. Okay? Se they're darker, but let's go for 0.2. Okay, it should be all right. And for hue as well, we could bring something like green to tell that there's a bit of moss applied on these buildings. Okay? Now, what we could do to reflect these changes is to apply the material on all of these static measures. So for example, if I bring this here, I could bring the MI underscore Wokit material, apply, and it's now using the color information, roughness information and everything from that. And if I go change that material, for example, if I go and try to so if I go now and try to change the lightness to 0.5, for example, you see, it tries to darken the texture, and we could change the hue to something like a brown color. So let's see what this one we'll do. Let's keep this and I'm going to use this one on all of the instances and later, we will create special for example, you see now the bridge is different from the static measures in here. So we will make sure that we create enough variations to make them look different. So for now, we could bring all of these and try to apply the material to those static measures so that it appears and changes on all of the environment. Okay. This is extra. So first, let's bring the ones that use with kit material. So you could copy and paste here. So you see, it gets a bit darker. And just later we will create something in blueprint to change the material. But since I'm going to see how that looks, I'm going to bring all of these static measures and apply the material. Okay, now we see some of these have been changed. Okay, now this is the material applied. And now we could go and try to remove what we do not need, including these, okay? Static mesh bridge zero, one, okay? I didn't change So let me see static Bridge 01, which is this, okay? Now, if I take these and try to remove, there's nothing stopping us from removing those. Okay? Now, if I bring the material, now we could try to manipulate the changes. If I bring too much saturation, it's going to be very, very it's not going to be that realistic. So let's try to add a bit of desaturation as well. And then the lightness. Okay, and we could bring a bit of contrast as well. Okay, that's Okay, I just changed the texture, but I really wanted a warmer color. Okay, let's remove the desaturation, and let's leave that be for now. And here's our extra texture as well. Okay. Now, this one is good. So, this is something in between both of them. Now we are using good value. So let's try to remove the hue for now. Instead, let's go for a bit of contrast. This will bring the colors to a better range. Okay. Now, for example, later, we could try to create a variation from this, and let's try to bring the contrast zero to lighten the texture and we could apply that, for example, on this bridge so that the color changes. Okay? Here's what we're going to do in the future lessons. But we're going to use blueprint to make the process a bit easier. Okay. See you in the next lesson where we are going to create the second UV map for detailing and create maps for textures to apply dirt, moss, paint or things like that on certain parts of the environment. Okay? See you there. 41. Second Uv Channel Explained: Okay, everybody, now we created a master material and applied it here and changed it to better color in terms of contrast and everything. So now, in order to add special details, we are going to create secondary UVs for this. You see, in the first UV let me bring that. You see, for example, take this bridge, and it already has a UV channel. Okay? You said this is the UV. And because it's using kits, you see, there's a lot of UV overlap. So we're going to create a second UV, and that second UV is going to be responsible for generating new data on these measures. For example, we go and bake this and get more details. For example, we separate the edges, we separate the areas which are occluded like these, and we just generate new data based on black and white data to generate new details on this, including dirt, moss, or dust or whatever. To add special details. For example, for these planks themselves, we are going to create a map that allows us to change the color of each plank just a bit so that it's not a single color of plank on all of the environments. So now, this is why I just went ahead and removed everything except for the measures that we have and the ones that are already in the scene. So I'm going to create four UV maps. One is going to be for the modular kits. I'm going to create UVs for all of these. And because there are a lot of instances we might increase the resolution of the RGB map that we create for these. And then the next one is going to be for the rooftops, and then the third one is going to be for these structural ones, the frames and this here. And the fourth and the last one is going to be for these extra ones. Okay? And the reason that I'm not placing all of them in the single UV and in the single texture is that there are a lot of instances that we have created. For example, you see, there are many planks just creating this piece here. So we're going to unwrap them, and that unwrap is going to be special, not something like the current unwrap that we have. Let me bring that. Okay, you see now, no matter how special that is, it's just the same planks repeated over and over again to create this piece. Okay? Now we're going to create a secondary UV map for these meshes, and that mesh is going to be responsible for generating new data. For example, on these areas which might occlude or on surfaces or on edges, we will go and place details in painter based on the masks, okay? Now before anything because some of these meshes are off in scale and rotation, you see the scale is off here. The rotation might be wrong on some of them. I'm going to select all of them and apply the rotation plus the scale. Okay. Now the next thing, let me make sure that everything is all right, okay? Now, the next thing that we're going to create is the secondary UB for each and every individual mesh here. Okay? Let me select, and all we need to do is going into data and in here in this mesh, we want to create a secondary UB. So you see it's UV Map 0.001. The naming doesn't matter. The only thing that matters is that this naming convention is the same across all of the meshes. Because for example, with the first UV, you saw that we generated polar data on these planks. Now, we are going to create a secondary UV so that we tell that, for example, on every part, we need data. We're going to just create secondary UV for all of them and I will return back when the creation is done. Okay. Now I just created a second UV map for all of them. Now let's try to demonstrate by showing one of the examples. You see that we created a second UV map, and by default, it's going to copy the content from the first UV map to second UV map. And if you just change the render to one of them, it's not going to matter that much because they're both the same. Okay? Now, let me visualize the content of the first UV map and you see they are stacked UV shells that create this object. Okay? Now, if I go and visualize the content of the second UV map, it's no different. But what we're going to do now is trying to pack them so that we get these stacked UV shells individual. So you can just use blender packing, or you can use the UV packer. So you see, it just packs all of these UV shells into their different locations. So now you see this is just another type of UV, but the first one is still in place. The first one is responsible for generating the color on generating the material on the object, and the second one is for generating black and white data so that we could use that for our purposes, including, for example, telling where to place moss or dust on the mesh. Okay. Now, it's just the same process, but we're going to, for example, place multiple measures in the same UV. Okay? Now that's why we need to select for now, of course, we need to select the measures and just activate the render mode for the second UV. Okay? You see now this is different because we already mapped that. Okay? Now I just selected all of them and activated the second UV map. Okay? Now I'm going to as you know, I'm going to just separate them into four UV maps. First, these ones are going to be one UV and the ones are going to be one UV these ones, and these modular kits. Okay? Now let's start with the modular kits. I'm going to select all of them and go to the UV map. Okay, and just make sure that you are viewing them from the second UV map that we have created. Okay? Let me go into object mode and you see all of them are stacked, except for this one that we already unwrapped. So now I'm going to select all of them, and we do not need to unwrap anything or we don't need any special maneuver to be done. All you need to do is go into UV Packer and make sure that it's high quality, bring the padding to one and just press pack because there's lots of information here. It might take a couple of minutes, but it's going to be right. So press pack. Okay. Now there's a bug in here. You see, it's just not the way that we want it. So first, let's go remove the map so that we could see a bit better. Okay, you see there now it's an edge caused by the Boolean operation. So you can delete that easily Okay. Now, this one as well. Now press pack once more. Okay. Now, after a couple of minutes unwrapped and you see now everything is working right, and all of these UV shells have been separated into their own unique location. Okay. Now, let me go back, and now it's time for these extra objects here. So you can just select them and make sure that the active object is one of these. And then I'm going to bring the UV editor. And because we are changing the secondary UV maps, it's going to be right. So with the same settings, just rest pack and wait for the packing to be done and to see if there's any errors or not. Okay. Now, if I take a look, you see this one is packed as well. So these are packed individually and these ones. So let's go for these extra meshes. So let's select one of them like the active object, and then select, ok? You see, it's all packed UV. So we're going to pack all of them in the same UV channel. So it's going to be a bit of waiting, and then it's going to be packed, okay? So now, this one is done as well. Perfect. And now this should be the most complicated because these have the most triangles of the environment. So this is going to take a bit more. So let me go to edit mode, and there are lots of instances here, and all of these shingles are going to be calculated. And each shingle here is composed of different TUV shells, so it's going to take a bit. Select everything and make sure that everything is selected and go and press pack it should take a bit, and I'm going to pause and return back when it's done. Okay, now this one has been unwrapped, as well. So you see the most complex UV map is here because it has a lot of UV shells and lots of instances from those shingles. And now we are going to bake those maps in painter. But because Painter doesn't support the second UV channel for now, there's a work around. And that is we are going to duplicate these meshes and use them only for unwrapping purposes. Excuse me, only for baking purposes. So that we then use those information on these meshes. So what we're going to do now is duplicating these meshes, and then we're going to remove the first UV map so that the second UV map becomes the primary UV map because substance painter for now doesn't support the second UV map. And then use those meshes only for baking details and then remove them. They're not going to be used in final production or things like that. They're only for baking in painter and accepting the results so that we could return those results to these primary meshes. So I just called the folder primary, and I'm going to duplicate all of them shift the Okay, now right click to paste them in their own place, and then I'm going to create a new collection, and I'm going to just call it temporary because these are going to be deleted, and they're not going to be used in the final production. So let me take the primary folder and hide Okay. Now we're only working with the temporary meshes. And what we're going to do now is selecting the meshes and removing the first UV channel so that this one becomes the active UV channel and the only UV channel that we have. Okay? Just go and remove and I'm going to return back when the process is done. Okay? Now, I just remove the first TV map, and you just note that these are temporary meshes, and the primary meshes that we had are here. Okay? The first TV map is there. This is only for baking purposes. So now, one more thing that we're going to do is creating separate material for these. You see, because, for example, some of these meshes have two material IDs. Including this one, for example, if you just select and use the material editor to visualize the materials, you see it has two material IDs. And you already know that if you export this to painter, you are going to get separate files. So we don't want that. We want all of them that belong to the same UVSL to have the individual material so that the final export is going to be on a single file, not on multiple files. And it's going to be more optimized as well. So let's go create a material I'm going to call it second UV Extra. No, it was second UV foundation because this is the foundation to the rest of the modular kids. And now I'm going to call these the second UV extra. Okay? I'm going to select and make sure that nothing is left. And let's apply a material second UV extra. Okay? Now, let's call these second UV modular because this belongs to the modular kits. And let's call this 1 second UV rooftops. Okay. But you have to keep in mind that we have the primary measures here. We're not going to delete them. We just need to work on these temporary measures, and the result is going to be directly transferred to the primary measures. Okay? Now I'm going to export all of these into a single FBX file, which should take a bit of time. So let me go export on FPX. Make sure that limit to selected object is selected because we don't want to export our primary measures. We only want to export these. So export. So it exported, and now I'm going to select these again and I'm going to duplicate once more. Okay? And let me create a new collection, and I'm going to call it ID. So why am I calling that ID? Because we're going to use this one only for baking the ID map in Blender in painter, excuse me. So for baking the ID map, we need to explode all of the measures to their kids, okay? All you need to do is selecting the mesh going into Edit mode, press P and separate by loose parts. So now you see it just converts that to the existing measures that compose this geometry. Later, we're going to use this for generating an ID map so that it would be used for variation map that we talked about in previous lessons to add different color to all of these different measures if you want it. So now let's go back Okay. Now instead of just selecting meshes one by one, I'm going to select different meshes and use that way. All you need to do is separating by loose parts, and then it's going to extract different meshes for you. Okay? Now let's select these and then separate by loose parts again. Okay? It was easy And then these ones. And now you see each of these planks are different UV, excuse me, different mesh. And we don't want to change anything for them. So now let's select these ones which are the complex ones. So Now these are separated by loose parts as well. Now you see each individual shingle is different mesh. Right now we should have lots of meshes. You see more than 4,000 meshes, which is going to help us generate the ID map later in painter. I'm going to select and export. Let's just call it second UV ID. Again, we're going to export and make sure that the selected object is activated. Okay, everybody, here's our painter and all of the files have been inorted correctly. So you see, we have four texture sets in here. One is the extra, one is the foundation. One is the modular kits, and then the last one is the rooftops. So now we're ready to start baking these results. So we are going to bake these with the same file, and it means that we're going to use the high poly as the low poly as well. So let's try to demo. Let's bring the modular kits. And in here, you see we have resolution slider, which might need to be changed for some of them. So now we go to texture set settings, and we're going to bring the bake mesh maps. Okay, now let me hide this for now as well. And I'm going to bring the same pile to be used on painter for hypoi as well. Or you could check this one as well. So I'm going to bring the same pile. I'm not going to bring the ID for now. Okay? Now, it has loaded, but we need to change the cage file just a bit. Okay. Here, because it's going to be hidden. It's not going to be seen. We're not going to do anything because you see, this is a one phase caused by that Boolean operation, and it's okay. So now, it's good. And we can now try to bake that. So let's go for four K. I'm going to bake all of these. And now here, instead of baking all of them, I'm going to bake for the modular one. Okay? Now, the modular, I just by mistake, I'm working on the foundation. So we're working on the foundation, excuse me. Now let's go for the modular, okay? And then if we go just select the texture set that you are going to work. And with the same settings, make sure that you bring the sampling up and the resolution to four K, and let's go for a test bake and bake. Okay, you see it tries to bake those results, and I'm going to pause and return back when the baking is done. Okay? Now the baking is done, let's go to paint mode. And if we go to our bake maps, here's the normal, here's the world space ID, of course, we're going to fix that later, ambience occlusion, curvature. And these are the maps. Okay? Now, let's just demo what we're going to do. We are going to create black and white masks. For example, we create a black and white mask just like so and then tell to apply a white color, for example, on the edges. Okay? Let's go to our smart masks and from here, let's try to use an edge that has lots of noise. Okay? Now you see it creates a black and white mask on top of this, and this is going to be used for later. For example, we tell real engine to apply a certain color on these white areas. And then these black areas are not going to be affected and anything in between is going to be the mix of both of them. So we could try to up the resolution, okay, to get a better result. And using this way, we're able to create masks. And use them in real engine, but it's going to be a bit different. The workflow is going to be a bit different. So, for example, one of them that we're going to use is the paint. So let me bring one. Now, you see, because this is using a grunge, we need to go and change that as well. So let's go for a tiling, like so. And then this one is going to be used for painting the results on the buildings. For example, on these white areas, we add paint on the buildings. So for example, we could set that to UV projection so that it has a bit of more changes based on the UVs. Okay, we're going to create black and white masks. This is it. It's going to be a bit different, technically, but it's going to be the same process. Okay, let's go to our material and bring all of these, okay? And we're going to go to our texture set settings. And because the baking is going to be right, we are going to activate all of these, and the baking is going to be done except for the ID which we are going to bake after this. Okay? I'm going to bake all of them, and I will return back when the baking is done. Okay? Now the baking is done, and if we go to our baked maps, we see that everything is working right. Okay, here's the normal road space ID which we're going to fix later, ambient occlusion. Curvature, and all of the maps are okay. So now the next step is to bake the ID map. So now I'm going to disable all of them. And here, I'm going to remove that. And now I'm going to load the ID file. Okay, now it's working right. So we need to go to our ID and for color source, we're going to set that mesh ID. So that is why we separated those meshes in blender so that now every mesh, you see that we separate it has an ID, and for that ID, it's going to apply a color. Whether it's going to be a huge shift or whether it's going to be grayscale. So I'm going to use gray scale because I'm going to use gradient mapping, just like we used gradients mapping in painter for texturing, I'm going to use gradient mapping in rela engine as well. So I'm going to use this gray scale so that it applies a range 0-1 on all of these. Okay. So now let's bake. We should deactivate on all of them. Let me go for ID. And here, again, we need to set to mesh ID and then set to gray scale. You should repeat on the other as well. So you need to disable all of them except for the ID and then set the color starts to mesh ID and then gray scale. Okay, now. Okay, now everything is working right. So let's go for bake. Okay? Now the bake is done, but there's a problem. And that is you see some of these meshes have the same color. Why is that? That is because of the blender. First, we wanted to force every mesh to have its own ID. So just take a look at here, for example, here's the blender, and just take a look. You see, we have the difficult to material. We have different IDs on all of them. So you see the ID is the same here and it's another one here. So we need to go and make sure that it changes them. So you need to go to this material tab and click here. So it will make that a special. And if you want to search for it, it's make single user copy. So you want to select all of them and then bring the search menu and then search for make single user and use Object plus material. Okay. Now, if you select, every one of them has been converted into its own data, object and material. So again, we're going to reexport that and just test it. Okay, Export. Now it should fix the issue. So again, let's go to bake mesh Maps. And then instead of this, we're going to bring the other one, which is this one. Okay, now let's try to bake. I'm going to bake for all of them. ID, make sure that all of them are deselected and bake Okay, baking is done. Now, there's an error. Of course, not an error because instead of file ID, we needed to set that to mesh ID. Excuse me. So again, let's go bake. Okay, baking is done, and now the gray scale as well, is not delivering the result that we wanted. So let's go to bake. And instead of gray scale, let's go set that to random. This is going to make a random color. Then we are going to convert that to either black and white texture or use it for color variations. So let's try to bake, and this time, it should work right. So you see for each individual plank, it's going to apply an individual color which later is going to be used for variation on planks in unreal. We either convert that to black and white texture and use a contrast, for example, to make sure that each plank is not having a different value, but to make sure that some of the planks that have same value in gray scale should be neighbor. So we will decide for it in unreal engine. So let's try to take a look for each plank, you see, we get a different color. Okay, now it's done, and it's okay. Perfect. So now we're ready to start the process. But because it's taking too much this lesson, I'm going to pause and see you in the next lesson where we go and try to create our GB maps that we will apply the data to. Okay. See you there. 42. Second Uv Channel And Id: H Okay, everybody, now the baking is done and we're ready to start the process. So I'm going to start by the modular kits, and you see the ID map is present there. If I go to ID, you see the ID is fine, and we're going to use this one for one of the channels in that texture because we're going to create an RGB channel packed texture. That, for example, one of them is for variation map based on ID, which we created. One of them is for paint, and one of them might be, for example, for moss or something like that. Okay? Now, you already know that we need to create an RGB map. So we're going to have three distinctive colors, red, green, and blue. And then in Unreal engine, we separate the blue colors, we separate the green colors, and then we separate the red colors so that we could apply, for example, we tell that wherever it's green, apply something. Whatever it's blue, apply something. We're going to do something like that, but it's not going to be just creating a color, setting the color to blue, for example, okay? And and creating something like that, and then creating one that has, for example, the green color and creating a mask or things like that. Okay? You see, it's going to create an RGB texture, but it's not going to work that alright because we need to create channels instead of colors. So let me explain. We're going to go to texture set settings. And here in our channels, we need to go create three channels, okay? From these user channels, just go for user zero User two, and then user one. So let me remove that. We're going for user one. User two. So now, for each of these, we're going to apply one color. And you see, it's just like the roughness that we exported, black and white texture that we already have in Andrea engine that we exported, that R channel was for roughness, green channel was for metallic and blue channel was for ambience occlusion. Now we are going to do something like that, but it's going to be, for example, R channel to apply dirt, for example, G channel to bring paint and the second one, for example, for ambience occlusion, data or things like that, okay? Now, let me call this one R, G, and B. Okay? Now I'm going to bring a paint layer. And in here, you see, we have R Okay, let me apply the name. Okay? We have RG and B. Okay? Now, for example, we go and tell that apply a certain color when it's using R channel. So here as well, we could go and select that. For example, R. You see now it's totally white. So we need to have a channel that is totally zero, okay? Let me bring that because if you do not create something like that, it's going to have a transparent layer. So let me create zero channel. Okay. Now I'm going to bring one, and you see now we're looking at R channel. So let me call it R and disable everything except for R. So now we go here and apply that paint, and you see on R channel, we see that we get this mask. We are creating mask, not color. So now if we go to our material, we see nothing because that has been applied on channels, not the colors. But if you want, you can bring a color, for example, and now that we are using R, you can just go to RGB, bring the green and blue here so that you see what is going on there, just a representation of what is going to be there in real Engine, but we're not going to export the paste color because that is going to be wrong because all of them are going to be mixed. But we're going to use channels instead. And the final one that is going to be exported is this channel. Okay, now let's go and try to see what we could do. Let's go for UV projection, and now let's set the tiiling to be something more. Okay. And then we could change the balance in here or in Unreal engine. So we will let Unreal Engine decide. Later, we will create intensity and contrast and those things like that to create the result for us. Okay? Now this is the R channel. Now let's create one. Let's call that G. And then we're going to remove everything except for that channel. Now let's go for G, and let's go for color and apply a green color. It's going to be on the green. Okay, just to represent what we're doing. So you see now we see that. So let's go for an edge strong. So you see now it has been applied. Let's go to our mask. Okay. Now, it's right except for we need to bring wear level down and not that much contrast. Okay, this one. Let's go for 32. This will make the resolution of the grunge map a bit better. Okay, this is good now. So now if we go to color, you see now we are not getting exactly that color, the R color because that has been mixed with that. But it's going to keep the R channel perfectly there. So this is R channel. You see, if I remove that or leave it, it's not going to change this one at all. So that preserve data for us. So now let's go here and then create another channel. I'm going to bring B. Let's go bring the blue color. Okay, this is just for visualization. So B. So now let's bring something like dust. Or moss for ambience occlusion data. So let me bring the moss and let's go visualize the blue channel. So you see, it's mainly working in these areas that are occluded. Okay? You said this is a bit intense because these two meshes are a bit closer, and that is causing ambient occlusion, but it's going to be right. So I'm happy with it, and let's call it done. So let's create a new folder. I'm going to call it RGB masks. Okay. And now we could re use the same folder structure wherever we want it. But before that, you need to go set up the channels. So here, use 01 and two. So they're going to be R G, and then B. Now if I go here, select that and go to my extra folder that we have set up here, if I paste that folder, you see, we get something like that. If we go, this is the R channel. This is green channel, and this is the blue channel. Okay, perfect. Of course, you can create smart material from that so that you can use that in your other project as well. Okay. You just need to right click, create a smart material, and you see this is RGB mask. So now if I bring the foundation, I just apply that here, and with just one click, we see the color, but we need to go and set up the channels as well because the channels are not going to work right. So let me remove that for now and then bring the channels 01 and two, and then all these R G, and then B. So now let's reapply that ok. And then if we go to our channels, this is R, G and B. Okay? Now, let's bring the rooftops, and I just left that for the final one because I wanted to create something different here. So it's not going to be totally different. It's just using a ground dirt that starts from here and collects to top for one of the channels. To tell that, for example, the moss is starting from here and going up. Okay? Now let's bring our channels zero excuse me, one, then two, and then just rename them and use the smart material here. Okay, done. And then let's go see R. Of course, because this is too much, we need to reapply them, but this is going to work right and this one as well. So it looks like for R channel, we could go and set that ground dirt. So let me bring R. Okay. This is it. Let me remove that. And then I'm going to bring a smart mask that has ground dirt, something like this. Okay, let's take a look. It's completely taking these areas. So let's go. There should be something like this one, as well. Now that one was better. Let's go here. Okay. And then we could try to use the level. And you see, it starts from ground and whenever it goes up, we have variations. So we don't want any contrast. Let's not use triplanar and let's bring the ground. We could remove the effect of AO And then here we have the gradient. We have top down gradient. If you want to start from the top down or if you want to start from these areas. Okay, that's good. Now we could bring another generator, and there should be a light generator. So this is it. We could create a mask based on rays of light, so Now we could set that to Now, let's remove that. It's not going to work. Okay, now we created those results, and that will really bring the level to a new standard by bringing the environmental effect. So now we could set to four K. Of course, this is for preview, although we're going to export them on four K as well. But later we will the possibilities to see if we could bring the resolution to something cheaper for performance. So we're going to export four K and see how it works in real Engine. And then when it worked right, we see if we could just downgrade the resolution, okay? And now for exporting, we need to set up a new template because these are not just like the previous ones, the base color, normal, and pack texture. We're going to create a pack texture, but that is going to be a bit different. So first, define the folder that you want to export. And then you see none of these are going to work for us. We need to create a new channel, new template. So let me create a new template and I'm just going to call it masking. Okay? Now we're going to bring an RGB texture, but it's not going to be this RGB because this is good for something like a base color that mixes the RGB. We need to bring RGB like this, separate channels so that we could apply three distinctive channels to that. So let's for a naming convention, I'm going to write the rescore and then here name of the project because the name of the project is now second UV, and then rescore it's going to be name of the texture set, which is this one. So now, I'm going to remove the name of the project because it already has the second UV on name of the materials. And then underscore. Let's see. We could write RGB. Okay, now this is a naming convention. Let's set the format to be Targa or something like that. And then we're going to channels and apply the user zero to R. And then apply user one G, and then apply user two, to B. Now, let's go and select our masking, and then let's set the resolution to be four K for now. So export, and here they are. Second UV for extra foundation, modular and rooftops. Go back to Unreal Engine. Here's our results, and I forgot something. I didn't use the planks for gray scale gradient mapping. I didn't use that. So we could either change these. Okay? For example, we could go to R, and instead of using paint, we could set it to use the ID mask. But I'm going to create another one that may create a new layer. Okay? This time, I'm going to bring the RGB, not RGB, excuse me. I'm going to bring the ID mask, okay? We're going to set that to UV projection because we're going to use exactly the UV. So it's going to be only the color. And now let's go search for ID. So you only need to go to your textures and from this menu, go to project so that it brings the colors that belong to the UVs. Okay? Excuse me, so that it brings the maps that belong to these misses. Okay? Now we're going to bring the color map that belongs to extra Okay, now there's one thing about this because we're using a baked mesh map here. If I go to foundation, for example, and apply the same layer you see, it's going to work right because then it's going to look in the meshes and then find the baked mesh maps that belongs to that layer. It's going to replace that without us needing to change that. And that is an automatic process. So it's a good one. So let's do something. I'm going to modular again, paste that here as well. And let's go to rooftops and then paste this one as well. So now we could either convert these to black and white texture in unreal or stave that and leave that for painter, because that is going to be more performance. And we get only one texture in unreal and we do not need to do anything. So right click here, add a filter, and then on the filter, we're going to bring the hue saturation lightness and bring the saturation. Okay, so that you see black and white texture that we could apply to Unreal Engine without any problem. So you see now we do not get that much variation because now all of the colored information is left is removed and we're left only with the value of the textures of the colors 0-1. And then we could also go in Unreal Engine and try to add contrast Okay, things like that. Or we could manipulate the color in unreal engine. So we're going to leave that for unreal engine. So let me copy effect. And then I'm going to replace the same effect here. So paste effect. Okay. Now let's go to our modular and then just press control, it's going to automatically bring the paste effect here. Okay, now for the rooftops. Okay, now we have a black and white texture that we could export. Of course, were black and white textures. Okay? Now, because this is only a single color, we could export it on even one K texture. So again, let's go to export and we only need the document channels, which is going to export the channels. Okay? Now let's set that to PNG as well or JPEG. It's not an important texture to need a lot of resolution. So let's set that to one K and export. Okay, I just export it to two K. You see it's a gray scale map that we could use for delivering the variation. Later, we will return back and to see if that was not working, we will just do something else. Okay? This is only for dialing. It's going to be right. And you see the name is second UV extra base color. I'm going to set that to ID. That was more descriptive. Okay? Now we see these four textures that are ready to be imported in real engine. Okay, here we are. Let's go and try to import all of the textures. So this one, this one, this one, and this one, and then secondary UV channel RGB. Okay. Now we need to select and start compression setting the mask. So this is the RGB channel. Let me set it to mask. Okay? Now, you see now this is R, G, and then B. It's going to look right. I'm going to select all of them and set to mask. You see it just corrects the color variation that Unreal Engine does on these. Okay. Now I'm going to pause because we're going to create a variation in the material. It's going to take a bit more. So we're going to pause and see you in the next lesson where we go and try to create variations. Okay? See you there. 43. Testing Second Uvs In Ue5: Okay, now we are ready to add the second UV map in the calculations. So I'm going to directly use that in the material editor. So already we have only one material here. So you could, of course, bring multiple materials. For example, bring paint material. If you want, you can create most material, but we're going to rely on colors mostly for optimization. So now this is going to take place here. So this is where this material is going to be handed to the material attribute, and then we are going to expose some of the PBR values that we want to change, for example, base color, metallic roughness, and maybe normal in some cases. So again, we have some of the textures here. We could go and set the sampler source to shared wrap so that if you later added lots of textures, they would have no problem, okay? Now, we are going to take this material and expose some of its parameters, including base color roughness and metallic. So it should get material attribute, okay? And then here we could add different elements that we want. So base color, metallic So you see these are attributes, but I don't want the specular. So let's set to be roughness. And then the next one, let's set to be normal. Okay, now we are extracting these information from the material 01 here, and then we're going to let the rest of the values that are not going to change again get connected to this material attribute. So now from here, again, we go for attributes and then it's get material attribute, I believe. And then we connect this here. Now, it's going to ignore all of these values. So in order to bring those values again, we are going to bring the same values and use them. So let, excuse me, this is again get material attribute. So just search for attribute. Then it should be set material attribute I believe. Okay. Now, if we plug these here, they're going to be just with no problem. But if we plug this one, it's going to let this one go and ignore these. So let me again add another element. So again, here's going to be roughness. And then here's going to be normal. So we have a couple of roughness values here, which it doesn't allow, and now let's go for normal. So now if we just connect these, it's going to be the default, and it's not going to change at all. So this one, this material attribute is going to let all of the ones that are not change to go to the material attribute and get calculated. And then here we could apply some changes to the base color and plug the results here so that it allows all of them to get calculated. So now let's just what is going on in the world. And you see there's no change because everything is going to pass and these are going to be ignored for now. And then let's try to create some named reroutes as well. So I'll add a named reroute because there's going to be a bit of calculations, and we're going to bring the calculations somewhere around here to let this area to be a bit clean. So let's just create named reroute for all of these. And then we will return back and try to rename them. So now, I'm going to call them material attributes, then base color. And then this is going to be metallic Roughness, and then normal. Okay, now later, we will add the calculations, and then we will create name three routes again and then plug the results here. So we are going to reference these and try to change. So now let me bring the base color here. From these names, we route I'm going for material attribute and base color. Okay? Now we're going to add changes to this, just like we changed here. For example, we're going to take that as something like this and the calculations on that. So in order to let the calculations begin, we're going to bring the mask texture and try to use that. So let us go here, or before that, we can bring a texture and set the source to be shared wrap. Then let's bring a default mask texture. Now I'm going to convert this to a parameter and call this one RGB mask. We need another one, and that one is going to be the variation map. Okay. Now all of these are going to be in a new folder, and I'm going to call that mask. Okay. And let this one to be negative one and this one to be negative one as well. So before anything, let's try to add the variation map. First, we add the variation map to add the changes in the planks color, and then we will add the RGB details. So you can use either of the blending modes that you want. You can use arp. You can use blend mode. You can use multiply whatever you want. It really decide based on the needs of the project. So for now, let us start with multiply Okay. Now you already remember that we wanted to use this variation map. We wanted to use this one for gradient mapping, just like painter. We wanted to add colors to be mapped on these different gray scale ranges. So now, in order to create that, we are going to create curves. So if you search here for curves, you get some options. The ones that we're going to use are curve and curve atlas. The curve is going to be one curve and the curve atlas is going to be one that is going to host your curves. For example, you can create hundreds of curves and map them to that atlas to create the variations that you want. And we're going to use this to our advantage. For example, we create different curves based on different color schemes and let the shader expose them so that we could, for example, change this building to a color, change this building to another color, and so on. Okay? Let's again go create a curve. And we have options here, we're going to use linear color. So let's call it gradient mapping because that is what the gradient mapping is. So now, you see, we have a curve that is 0-1. Now we're going to create ten of these curves so that it tells unreal to place a certain color on each of those gray scale areas. For example, we tell that whenever it's something like this, this color, apply a certain color. Okay, just like in painter. And just like in painter that we went and define how many steps we want to divide the space 0-1, here we have the ability as well. So important thing is that you want to keep time snapping because if you disable that and disable this one as well, if you right click here, add a key, it's going to add that to this value. Okay? But if you activate snapping, if, for example, click here, add key, it's going to add it to the next round number, which is 0.1. So we're going to add key Okay, now we have different ranges 0-1. Now we're going to select each of these and tell unreal to apply a certain color to them. Okay, here are the values, and these ones define the color. So if I select, for example, blue, it's going to create a range between blue to white, which is here. So if I change this one to green, you see, it's just trying to create a variation between blue and green. Okay? And of course, we're going to change these as well. So let's try to double click here on each of these points it's going to add only a single value. And later we're going to return back and try to pick different colors. Okay? Now I'm going to select this color, for example, just double click and you're able to pick colors. So this is why I'm bringing this color palette to try to use that. So for the first one, let's try to use this one. So I'm going to keep this one here and try to pick colors for each of these right here. So now let's start to pick color something like this. Okay? And then I'm going to try to find different colors for different areas. And because this is a consistent texture, the result that is going to return is going to be very good. Okay. Let's zoom to pick up some more vibrant colors. And finally, this one We have a range of colors that is being mapped. Let me hide this for now and I'm going to save for now at list and we have created a curve. If we take a look, you see, we have a curve here that is going to be used. But this curve is going to be used in a curve atlas and that curve atlas is going to be used in the material. This curve by itself couldn't be placed in the material editor. Instead, we are going to create a curve atlas. Okay? Let's call it gradients mapping atlas. So if I click here, you see, it's a very, very small texture, and you can store lots of curve atlas elements into this. So let's bring one. And then I'm going to bring this gradients mapping that we had. So these are the ones that are default in on real engine. So let me bring that and you see it has added that on top of this list. Okay? Now, we're going to bring them here. So all you need to do is just search for curve, and it has a curve at las perimeter. Okay, this is it. And this one is going to accept black and white data to store those colors on those black and white data. So we're going to use this variation map. Let's plug here. Or if you have different variation maps, for example, just like the RGB mask that we created, you can go and create, for example, use R here, use G on another one, and so on. So you can use B on another one, and so on. So here, let's try to call this gradient mapping, and let's place that in the mask folder. So here for the default, let's select an atlas, which is this one gradients mapping atlas, and for the default curve, we're going to select this one. Okay? So now, I'm going to use this one on a multiply or on an overlay. Let's use overlay to see what happens. Let's bring the multiply there. I'm going to bring this here and then this one to multiply. To blend, excuse me, to blend overlay. So let's this directly to the base color for now. But why is that? It's because we can instead of plugging this RGB here, we could bring a separate channel instead. For example, for example, R. But if you take a look at these variation maps, you see, because that is only one, it doesn't matter. All of them are the same, okay? Now, let me save, and now there's a variation added here. So that variation isn't the one that we want. So let me bring that Wood kit material. Okay. And this is our variation map, and this is our gradients map. So if we have multiple gradient maps in here, it's going to allow us to choose the one that we want. So first, we need to add a variation map, and this is where our texture is going to be divided. For example, if we bring the variation map that belongs to the rooftop it's not going to work on this here. So this is why we need to create multiple material instances, each one for the kit that we want. So the second problem is that we do not have exported the second UV measures that we corrected in blender, the unreal engine. So for testing, let me bring one. So here's our blender file, and these are the files that we just correct it. And now I'm going to export this, and it's going to be exported again on the final folder. So let me export. This is for testing. Later, we will bring all of them, but this is for testing. So it's wall, excuse me, four by four B. So let us find it four by four B. So this is it. Okay. You see it already has only one channel because we haven't reimported that. So reimport and now you see it has the second UV as well. Okay? Because that belongs to the modular kit, I'm going to bring in the variation map from the modular kit. So let us plug that here. And now I'm going to bring this for testing. So if we take a look, you see nothing is happening because that texture that we're using is going to be mapped on the first UV channel. So if you want to use that correctly, you need to make sure that it maps to the second UV channel instead. So you see some errors being caused in here, and that is because this texture is getting mapped on the first UV channel, which is this one. Okay. But we want that to be used on the second UV map. So UV number is 0-1. It doesn't start 1-3 or so on. It starts with zero. So one way to fix that is to bring a texture coordinate you can search for coordinates and it will bring that. It's the same or you can press and click it will bring that. So, it's coordinate index is it's zero, and it means that it's going to use the first UV map. If I set that to one and plug it here, it's going to map this variation map to the second UV. So just note what happens when we apply that. Okay? You see now we have a Perbic variation. If you take a look, you see now this brick has a different color, this brick another. But because the color selection that we made was a bit similar to the color, it's not going to be that visible. But you see you get the idea that now each of these bricks have a certain color that makes that a bit less repetitive. So you already get the idea. So here's a screenshot before gradient mapping on this kit. You see everything is looking the same, and this is after. You see, it tries to separate them a bit based on the color variation that we added. And you can create different curves as well. So now let's go try to create a couple of curves. So I'm going to create a folder and call that curves and try to place these here. Okay, and everything is working right. Let's try to create some different curves. So duplicate and call this 101. So now we're going to pick colors from different color maps. For example, now, let's try to pick from this one. Okay. Now, let's try to pick up from here, okay? It's fine. So now, just go and try to select different tones. And you should be alright. So because it has a lot of range, we could zoom and try to pick up something else. Okay? This one is a good one because it has a paint color to it as well, which we could use for a bit of color variation. M So let's try to pick up from here. And for the last one. Okay? Let me save. And now in that curve, let me bring the curve atlas. We are going to add another one. Gradients mapping 01. Okay? Now, if I bring the material instance, we are able to select between the different curves that we created. Okay? Now, you see, it's really obvious that these have the different colors, and it really adds to the storytelling elements of the scene. And you see that there are some problems in here, and that is because we need to create different material instances for different kits. So for now, I'm going to disable this and disable this one as well because we want to keep this one as default. So here's the power of using gradient mapping for a workflow like this, which will apply certain color for different variation maps that will take the level to the next level, basically. So now I'm going to plug this one to RGB mask as well, because this one as well, is going to be using the second UV map. Okay, now let's unplug this and now it's time to add the RGB to add the variation based on these colors. Okay, we have a second UV map and here we could try to bring different paint colors based on different maps. Okay? And you can try to use RGB as well as a mask. And we could also try to control that mask as well. For example, try to weaken that, try to add contrast, try to add intensity, and so on. Okay, now, first, let me try to make it more readable. And then I'm going to continue from here and bring another blend overlay. You could use different of these blend modes, but I'm happy with a blend overlay. So the first one is going to be this we're going to use that as a mask. So I'm going to bring a larp and a larp is going to bring two values and select between them based on an Alpha. So Alpha is going to be this, and then the first one, which is this one going to be here, then we're going to plug this here. Why? Because I'm going to take this blend overlay and change something and use it as a different value, just like in substance painter, where we use that layer to capture the information before that instead of using only a different value, only a single value. Now let's try to use an obvious color, plug here, and then I'm going to plug that to base color. Just see what happens. Now again, let me bring that. And I'm going to test on this one as well. So for variation map, let me bring the variation map from modular ID. So for RGB mask, I'm going to bring that one as well. Though you already see that it has added just a couple of blue colors here. And this is not what we want. So we want to have the ability to change this mask. So I'm going to bring multiply again with power. No, not Panner, just search, power. Okay. Now I'm going to plug this here and plug this and plug this one to Alpha. So now what this one is going to do is just control the intensity and this one is going to control the contrast. So let me promote this to variable, and I'm going to just place that in mask folder and promote this one to variable as well. Save. Okay. Now let me bring the material instance once more. And now we have the controls. So if you see the default is set to zero, which we should fix later. But if I bring this one to one, we get paint color. And if I bring this one to one as well, this is the default that we had in painter without any contrast or any adjustment. So if I try to bring the intensity up, you see that layer is going to gradually try to paint the result, just like a paint. Okay? Now, you see with adding that paint, we're able to just add paint to our color. And because we are using this correctly, it's going to work right. So now for testing, let's try to use the next channel to see what it does. So let me go. Okay. If I go to that, you see, this is the one that was responsible for the edge mask. And if I bring that up, you see, it tries to add an edge mask and we could try to change the contrast. And now, if I use this one, it's going to bring a bit of occlusion dirt. Though this will really add lots of variation. So let's go to one and you see using these, we are able to add lots of variation. Okay? Now that we know the workflow, I'm going to pause because this lesson we couldn't finish the material, so I'm going to pause and return back in the next lesson to finish that. Okay, see you there. 44. Variations In The Materials: A. Okay, everybody. Now we created a very first layer of the black and white data that we created in painter and you see it's working all right because we have created the second UV channel, and these new information have been set to work on that second UV channel. Now, you see in here, this one doesn't work. Why is that? You see if I just zoom you see there's a bit of pixelation. Why is that? Because this one is still using first UV map and it doesn't have the second UV map. So let me just search for it. It's wall three by three. And it's 04. Okay? Now, this is the same that we are taking a look at here. Although it's just like this one belonging to the modular kit, we do not see the change happening in here. Why is that? Because if you take a look at here, we still have the UV zero. So we should return back to Blender and make sure that all of the measures that have the second UV channel created are going to be re exported and re imported again to work properly. Because although we have set the blue color to be applied to the second UV because this one doesn't have the second UV, it's going to map that to the first UV, and it's going to cause some issues. And the moment that we bring the mesh corrected with the second UV, it's going to work right. Okay? I just found that in blender, that is the mesh wall three by three number four. So if I re export that and then re import this. You see now that color has been applied to correct place because now we have the second UV, which is going to be responsible for generating that color on those areas of the second instead of the first U. So now you see that has been applied correctly. Okay, now we need to go back and try to fix the other channels as well. And then we will remove these to make sure that we have a default one so that we can create variations based on that. Okay? And if I change this one as well, you see the color formation of those change as well. So this is how powerful this method is. So let me bring the master material, and we need to correct some of these. So let's try to create a better structure. So let's reset this to one, one, one, so that we get default white color. And then here instead of this, I'm going to write R, which is responsible for the R. So let me plug that. And then it's going to be okay, I just rename these to R intensity and R contrast because they belong to R, and they are responsible for correcting the black and white data on R. So default one for this is going to be one and for this one, it's going to be one as well. So now let's see what we have Everything is working right. So let me just unplug that and then I'm going to bring this here because I need a bit of more room to work. So I'm going to just take these, duplicate them. No, I need only these four that are responsible for generating the new information. So before anything, you want to make sure that you go and rename the channel before everything. So this is going to be the green channel. Okay. And then this is going to be the next one. Okay, now plug the green here and plug the blue here. Okay. Now, let me take them so that it's more visible, and then I'm going to create another learn. Linear interpolate. This is going to be plugged to A. Why? Because unreal engine works this way because A is zero. We have a black and white mask as well. When we plug this result into A, it means that wherever it's black on that mask, you shouldn't do anything. Wherever it's one, which is going to be again, this one show white. Based on this Alpha. Whenever we have black, it's going to do nothing, which is the result before it and whenever it's white or one, it should show this one. Now we have different sources of taking the base color information. We could already take that from the material attributes from here or we could take that from here after those calculations are made. It really depends on you to see which one you want. So let's try to go after the calculations because I'm not going to pick up the raw base color from the material here. I want to have a mix between these. So no, let's try to pick up from here instead because sometimes when you just bring too much colors, it will create some random colors that are not expected. Okay? Again, I'm going to try to pick up from the space color. So let's try to copy these as well. This base is going to be plugged to base. Now, the base color is going to be plugged to base. So it looks like we need to do a change because now this material attribute base color should be plugged to base, and this change should be plugged to blend. So let me take this and replace it with here, and now this is going to be the base color. So this is going to be base, and then that one is going to blend with it. And let's see the changes after that. Okay. And then this is going to be base, and then this color, let me again change that to something like blue and then plug this result to base color to see what happens. Okay? This is the base color variation that it created, and that mask is working right as well. So let's use this way. Okay? Let me again unplug so that we could work on these so let's return back to the default color. We will later parameterize these so that we could change them in real time. So now we have the base color set to base, and then let me plug this one on the blend. Why is that? Because we need to blend this color on our results. Okay. And then this one is going to be plugged into B of this channel. And then for the channel, we could take the blue channel and try to plug that in Alpha, green channel, excuse me. So let me bring that. And in order to work a bit better and to see what is going on, I'm going to change the color based on the channel. So this belongs to Let's just change the color to something that we can visualize. And then this one is green. So let's remove everything. Okay. Now let's go for another larp and the results of the third channel is going to be plugged into this Alpha. Uh, Okay. And then let's create another blend overlay. But this time, it's going to be a blue color. And let's take the base from here. And then plug this result into B. Okay, now it should work right and with no problem. So I'm going to take this and plug that into base color for now, and I'm going to just create parameters which are there, of course, but let's save and see what is going to happen. Okay? Now it's exactly just like what we created blunder in painter, excuse me, the blue color, the green color and red. They're mixing and creating a very good result. So we could bring also the material instance And let me see. Okay, they are here. Of course, we will create a better sort priority. Do not worry. So this is R, of course, this is contrast for R. So let's bring that to one and if I bring the intensity, you see this color takes everything which is correct, and now blue, this blue. If I bring the blue intensity, and if I bring the green intensity up, you see green taking effect. Okay? Works right and fine. So now instead of that, let's create a named reroute And just call this attributes corrected or base color because you can create roughness as well. So now here let me bring that base color attributes corrected, and I'm going to plug that to base Color. Okay. And now we could take these and bring them here so that there's not much information going on here. Okay. For the metallic roughness and normal, you can do the same thing. But since it's going to be a bit heavy for performance, I'm going to just leave that like this because you can go and create the same. All you need to do is taking the mask and trying to blend the values together. And then instead of blend overlay, you could bring, for example, blend ten or whatever value that you want to create that result. Okay? Now we could also try to remove These ones, okay, click here and try to delete because I don't see the need to change this. But of course, if you have something like that, you could reuse the same formula that we have. So let me call this one main because this is what creates the main material attributes. And I'm going to call this one masking. And now let's go try to create the sort priority. So this one, it should be shared wrap and this one shared wrap as well. And the sort priority should be changed to negative one plus negative one. Okay, working all right. Oh, let's set this one to sort priority of zero so that it appears on top after these base colors, these textures, excuse me. And then this one is going to be sort priority of 12. I want the intensity to be appearing first. So this one let's take this color, convert that to a parameter, and I'm going to just color it or color. And then I'm going to that sort priority of three. Okay, now, this one is going to be And then green channel G color. And then this one, let me correct the sort priority, and this one is going to be seven, eight, and then the color should be changed to nine. Okay. And then the folder should be set to mask. So let's save. Of course, you can just bring the colors to a normal value. So let's see what is going on here. Of course, we need these two to be placed in the masking folder. So this color and this one should be all placed in the mask folder. Save. And now it's working right. First, we have the mask and then we have the variation map, and then we have the gradient map, and then we have or intensity, plus the color, G intensity and contrast plus the color, B intensity, plus the color. Okay? Working right and fine. And you can use this on all of the results in here. So all you need to do is bringing the corrected UV maps to work. And then we're going to keep this one as a default so that we could create multiple variations. From that, we're going to create multiple childrens so that we could use that for different of these buildings. For example, we could go try to use different colors on different buildings because before that, you saw that it was just simple texture on all of the planks with no variation. Okay, now you could also activate or deactivate the changes on the material instance, just like the metallic and ambient occlusion and roughness controls that we added. Okay. Let's go here. I'm going to create a static switch parameter. Okay, let's call it. Do you want RGB changes? Okay, if it's true, we want to plug this. And if it's false, we want to plug this and let the default to be false and plug that here. Okay. It's going to take a look at this default value and decide to use which one. If it's going to be false, it's going to take the same material that we have here and plug it here. And if it's true, it's going to take a look at here and plug that one. So the default is set to false. So let me plug that again in the masking folder, and this is going to be negative too, so that it appears on top of the list, even on top of everything. Okay. Now those changes have been cleared and now if I bring the material instance, you see in the mask folder we have do you want RGB changes? If I apply that, we get all of the changes. This is good for sometimes maybe you want some of the materials to not use this variation. You can just deactivate with one click and save a lot of instructions. Let's take a look. At the shader complexity, excuse me, it's this one. Okay? You see these are lighter than the ones that do not use that. These ones are going to use as well. But you see the shader is a bit more expensive than the previous one because we have added some more instructions. And if I disable that, you see the color gets a bit lighter. But we want the change. It depends on your purpose. Do you want all of these changes or you want. So let me go to the material, and I'm going to disable this, and disable this one as well, because I'm going to keep this one as default. I don't want them to be present. So later we will create variations from this. For example, let me create a material instance from that. It's going to be I wood kits, and then we're going to look for those second UV channels. For example, let's call this one modular. That's why we have these ones like the default. So let me disable that one as well. Okay? Now, if I go here, I can now disable or enable on this, but we have not applied that on any of these, so we need to go and create a blueprint logic to allow us to change that. So now, if I bring the modular ID, plug here and modular mask plug here and apply that here. You see we get the same changes corrected because now this belongs to modular secondary UV. This way, we have the wood kit in its own place, and we use these variations. So we're going to create a couple of more variations because we have four different UV shells. So this one is going to be foundation this one is going to be rooftops. Okay? It's responsible for the links on the rooftops. Of course, we're going to create another variation from this extra to create material for the rooftops, but these shingles. Okay? Now we will change that as well. So now, this is going to be Extra, this one is going to be deleted. We have all of four different variations that we needed extra foundation, modular and rooftop. So the same thing is going to be applied here as well. I'm going to just keep this one default. Let me create variations, and I'm going to pick from this, not going to pick from the other ones instances. So we created four. And now this one is going to be modular this one is going to be foundation. This one is going to be extra, and this one is going to be rooftops. Now for these materials to work, we need to again go to blender and re export these files with the correct UVs. They should have both of the UVs applied. So and for some of them which have a couple of material IDs, for example, this one, it's a good idea to make sure that the material ID is consistent. For example, we want always the material would kit to be on top of this one, so that it's material zero. For example, in here is its material zero. In here should be material zero as well. Just select and using this, you can bring that up so that later that we want to apply materials, material index is very important. We always want the material would get to be applied on index zero. Again, just bring that up. This is extra. So let's do something because on these materials, the extra is zero, let's again bring this one as well. I'm going to let extra be the index zero on all of these. Okay, let me select these as well. Export. Okay. Now the modular kits and now the rooftops, and then the last ones. Now we're able to start importing or re importing the meshes. So this is Bridge 01, and it's been using in two of these maps. So let's leave that B, but it's going to be only these that we're going to reimport. So you could just reimport. I just reimported all of them, and now let's randomly try to pick up random ones and try to use. This is already tested. And you see all of them have the second UV map applied. Okay. Now the next level that we're going for is going for materials and correcting these based on the maps. So I'm going to select these this belongs to the extra kit. So what we're going to do is selecting different maps based on different UV shells that we created before. For example, this is extra, This is foundation modular rooftops. The same way that we applied for these, for example, let me hide these primary ones. And if I bring the temporary ones, you see this is foundation. This is modular. This is rooftops, and this is extra. So we need to bring those secondary UV maps and apply them here. Okay. Now, this belongs to extra, so I'm going to bring extra RGB here and extra ID here. Now this is foundation. Let's activate that. This is foundation, and then variation map as well. Okay, now this is extra modular. Which is this one, so modular RGB, and the modular ID. And we're going to create different of these gradients mapping curves as well. So now this is, excuse me, rooftops, okay? And ID for rooftops as well. So now that this is set up, of course, this belongs to rooftop, okay? Okay and the reason that I wrote this is that we have two material sets on these materials. For example, this one has two material sets. If I bring this, it's not going to apply to the ones that have the material ID extra. It will only apply on the material ID Wood kit. So we needed to sort that. That is why we're creating different variations. So let me apply. This Wood kit isn't going to change at all. So now we're going to bring extra, so this is extra ID, and this is extra RGB. So this is foundation, so foundation RGB and foundation ID. So modular is already set up and now finally the rooftops. Okay, now rooftop RGB and rooftop ID. Now these are set up and now we need to apply them on these buildings. So you see, we have too many measures here, and if we go and apply material, it's not going to work as well because these are instances of the blueprints. So we need to go to blueprints and create something that will allow us to change the material using the blueprint. He. In order to create that, we have a couple of considerations. For example, one is that, for example, you already saw that the textures are a bit different in terms of second UV. We do not have a consistent second UV for all of these. For example, this one has a separate second UV. This one has a separate second UV. This one has a separate second UV. And if you go and try to apply one material to each blueprint, it's not going to work. So let me test. There's a node which is called set material. Okay? Now it's going to take a look at a couple of things and set the material. First, the target and the target, we're going to make sure that we select all of the instance static measures in this blueprint, and then we have an element index. So that is going to be wherever we are so it looks like I just reimported those two textures so there was something wrong. So if we go here, for example, exactly for this, you see that we have two material IDs. One is element zero and one is elements one. So this set material is going to select based on element index. So I'm going to test because later we're going to use something else, but this is for testing. So we need to select all of the instance static measures in here. One way to do and that is a bit time consuming is to make a ray Okay. And then try to create let me connect this one, and we could try to bring each of these and try to manipulate and try to manually connect so that we connect all of these to the array. So this is going to be too time consuming. What we're going to do is node which is called yet component. So if you go in the beginning of the list, we have a get component by class. This is going to get all of the components from this blueprint based on their class. So if I go here and search for instance static mesh component, this is just going and selecting all of these and creating one array with them. This is going to select all of the instanced static measures in this blueprint. So if I like that to target, it works. Now we need element index. So element index is going to take a look at the material index on the mesh and change based on that. We're going to use another method, but this is just for testing. So now if I promote this to a variable and make that visible, Now if I go to the blueprint which is here, if I bring that, you see, we have one material ID. We're going to bring one that has the modular second UV textures. So let me go to my materials and I'm going to bring the wood kit and the one that has the modular material. If I like that here, you see, it's not changing the way that we want because that's not working correctly. What we need to do is bringing a node which is called set material. But it's going to be by name. Okay, let me bring that and I'm going to remove the frame from those calculations. So now, again, it's going to be the same thing. Let me bring that here, and then the target, again, is going to be that. And then here instead of the material index, we're going to use material names. And then let me plug that material. Now, let's do something. I'm going to accidentally try to pick up some of these materials in the blueprint. So I'm going to rename the material in those measures. So let me bring this one, for example, Okay. And then here. So now I'm going to change the material name in here. Okay. Let me call it 01, and I'm going to copy exactly because whatever name it's in here, you want to exactly copy that. So let me save. And now here, I'm going to write the name and let me go here as well, icu that. And I'm going to change the name on this one as well. And then let me compile and save. And you see now this is changing the material and another mesh which is using that. Let me see Which mesh was that? Okay, this is wall three by three number three. This is wall three by three number two. And this is number two as well. Let me spawn building number three. So I'm going to bring that and wall three by three. Actually, I'm happy that this happened and that is because instead of Y component, we have one component. This one is going to only, I think, pick up this one, the main one that is the root. But if you bring Y component, by class. This is different. This is get component, this is get component. Okay? Now, you see this one is only one value, but this one is array. You see it has multiple ranges there. So now if I change, apply, save, and now if I bring one test material, again, we needed to Of course, we need to set that in static mesh first and then apply that. Compile, save. Now you see these ones that have the same name of the material have been renamed correctly. So this is the one that has the same name plus this one which we set the name accordingly. Okay? They're all using the same name. Okay? This way, we're able to set material names and go and create different variations of the materials. For example, we could create a lot of variation for individual kits. So let me return back to this one. And you see that one has been applied here as well. Because all of these are belonging to the modular kit, it's going to work. But this one, you see, it has a bit of bug because this one belongs to the foundation secondary UV kit. So now we're using the UVs of the modular on that, and that is not going to work. So we're going to create variations as well so that we could apply materials based on the second UV map so that we could go for more variations as well. So that process needs a bit of renaming. So we're going to our meshes and we're going to rename the name of the materials of these based on the secondary UV channel. So I'm just going to rename them accordingly. So this is going to be extra, but because that is shingle, I'm going to call that. First, it belongs to the rooftop kit, and then it's shingles because we have the rooftop here as well, which needs to be rooftop plank. So we need to differentiate between them. Okay. Now for testing, I'm going to use the initials, R for rooftop and then P for planks, and then R for rooftop and S for shingles. Later we would know how these are, and we're just renaming based on the secondary UV channel of them because we couldn't apply one material of these on all of the measures and expect them to work. Now this is again going to be RP. This is going to be RS. This is going to be foundation. This belongs to the foundation kid. This is going to be again RS, rooftop kit, and that is shingles. Okay? We need to rename this to RP. This one is RS. Again, this one, RP, this one is RS. This one belongs to the foundation, and this one belongs to the extra kid, which it's already here. So I want to make sure that the naming is consistent throughout because that is important for renaming later. So let me bring some of these. This one belongs to the modular kid. This one as well. This one RS rooftop shingles. This one belongs to the foundation, this one RS, this one foundation again, foundation, and this one RS, and this one RS again. So let me go bring more of these, and they all now belong to the modular kit. Okay. I'm going to just at the name because I know that all of them are going to belong to the modular kit based on the secondary UV that we already set up. So I just renamed all of them. And then there are a couple of them that need renaming. So now this belongs to Extra kid. Let me bring these. So here we are in blender, and I see that these all belong to the extra kit, and this one belongs to the foundation. Okay? These are extra, and now this is foundation, okay. And then these ones belong to the extra kit. This way later we could add lots of variations. Of course, we could have gone. This belongs to the foundation. We could have gone and not use lots of variations, but that way the village look really generic and modular. Now the naming convention is done, and now let's go for St material by name again. Set material by name. Again, we're going to reuse the same or selecting all of the components. And now let's call this one modular. And then I'm going to reuse that name and paste that here. Now, this one is going to be extra and now let me promote that variable and call that extra compile and save. So now you see it's working right here. Let me bring this one. And you see now that modular kit has been applied to all of those that have the modular in their name, and now if I go for extra, it's going to change this frame. So I'm going to go for modular no, excuse me, MI underscore Wood kit extra. So it didn't change. Why is that? Let me go for finding that frame. Okay? That frame belongs to the foundation kit. Excuse me. Foundation, and now this should be renamed foundation as well, compiled save. Now you see it's working all right. So we need to find the foundation kit as well. So you see, we're able to change different materials based on the naming conventions. And now, when this is done, later will go and try to copy this to other places as well. Now the next set of material is going to be extra. And now this is going to be promoted to variable, and I'm going to call that extra. Let's make that visible. And then the target is going to be this one again. So I think we do not have any extra material here. So it's not going to work. So now, let me bring another material. It's going to be again that and now I'm going to change the name to R E because it's going to be responsible for rooftops planks. Let me promote that to variable RP, make that visible. Then another one, let me again like that here. This one is going to be Rs. Then the target is going to be this one again. The name of this is going to be RS and now the material is going to be RS as well. So if I go here we need to promote this to variable as well. Now RP material, let me go to MI underscore Wood kit, and then I'm going to bring the Wood kit material that belongs to the rooftop. So Wood kit, you say it's working all right. Now RS is going to be responsible for rooftop shingles because that has two material IDs in one mesh. So now if I go for extra because this belongs to the extra kit and rooftops. You see this works because we have two material IDs for this mesh and two material secondary UVs. So we need to split them so that we could spawn them and apply the materials to them. Okay? Now that we know this is working, I think it might be a heavy lesson, and I encourage you to return back and be what we have done already if you haven't got what we created because we created two materials. One is the Wood kit material, and one is extra material. And now we created four secondary UV sets as well. So we need to spawn different parts of the measures based on if that is using the material, for example, Wood kit or extra or if it belongs to the secondary UV of extra foundation modular or rooftops. Or if that belongs to the material extra modular or things like that, basically. Now that we know that this one is going to work in the next lesson, we will apply this to all of the levels and then ing the colors and create more variations. Of course, for example, later, we're going to create variations to each building to make the look of each building different to other ones. See you there. 45. Completing The Setup: Okay, everybody, now the setup is complete and we're able to go and use the setup to make every building look different. For example, we could go for the different buildings, for example, here, this one that we already have set up, and we could go and, for example, change the walls, change the rooftop. Anything, and that is going to follow the same thing. And if you want, you can go, for example, change the material. You can really change the look of each building using the setup very easily and create a very, very vast range of variations. The setup might just take a bit of time, but after you create that, it's robust enough to cover a lot of areas. Okay? Now, we are going to bring a blueprint and try to apply the materials. Okay? This one has been already set up. So for now just focusing on what we see in the scene, for example, this one and this one that are far away. I'm really not that concerned about them because we're going to save a bit of time and focus on what we see in the scene already, okay? Now this is a variation of building one, and I could bring that to here. Okay. And now we could swap the rooftop to something really more destroyed. And then let me see what we could do. We could also create something like that. So let me bring that so that there's a bit of blend between these buildings, creating a bit of layering. Okay? Now, for the modular, let's go for Mi underscore Wood kit because the Wood kit belongs to the modular kit. Okay? Modular. And let me just zoom to see if anything is working all right. Okay? It's working all right in here, and we need to swap the for the rest of the materials. Okay, board of foundation because foundation is using the wood kit material as well. All of these are using the wood kit material except for this RS, which is responsible for rooftop shingles. Okay? Now, to make that a bit easier, I'm just copying that and paste that here. And then from this list, I easily use the foundation, okay? And then for that extra, let me copy that again and pick up extra. And then for this one, let me again copy that, and then I'm going for rooftop. Okay? And this one is a bit different. This RS is responsible for rooftop shingles. So this one belongs to the extra kid. Mi extra, and then rooftops. Now let's do something. I'm going to copy that material. This RS, I'm going to copy that and go on all of these blueprints and find if we have that RS material and the setup. Now it looks like we need to go and reuse the same formula that we created here and apply to other blueprints as well. This was something that I forgot. Let me bring this one as well. This is the last. I'm going to copy this here and paste. Okay. And then all you need to do is plug in this here. And if you compile and save, it tells you that, for example, there is no variable named modular because we copied those, and you see in here, we do not have any variable. So there's a quick fix to fix that. You just right click here, create a variable named modular. So make that visible. All you need to do is just right click create a variable and make that visible. And that is going to very easily apply all of those changes in a quick manner. Now, everything should be working all right. Now we do not get any errors. So now, again, let me go to the rooftop. We could go and apply the materials. So it looks like we could leave these alone and start with the modular kit. Let me copy from here. Later, we will apply good colors here. Right now we are seeing only RGB, but we're going to change that. So shift and left click here, it's going to apply that color. So now let's go for foundation. Extra is going to use the modular kit as well. All of them are going to use the wood kit material, but with different UVs, except for this one, which is going to use extra material with rooftops UV. Okay, now extra, let me find it here. I hope that you know the difference between this extra and this extra. This MI underscore extra is a set of material, so extra. And that extra is a set of UV. So I hope the difference is clear. So rooftop, let me select that and correct. Now the next one is going to be that's one, okay? Now, something to save a bit of time because we haven't applied the materials here. In order to save a bit of time, we could select this blueprint that we already have changed. Okay? And in here, you see, here are the instances that we have here. What you need to do is right click copy all properties in this category. And now let's select the one that you're going to paste. Okay? That is here. And we could copy the results from here just by clicking on this default and copy all properties in this category, and then you can go to the default blueprints here that we have set up the variables. If you change them in here and you haven't changed anything in the scene, for example, here, it's going to replace all of them in the scene. So let me right click paste all of them here, and I'm not going to change these ones. I'm not going to change the meshes. I'm going to let them be just a default, okay? Compile, save, and you see all of them have taken those changes except for the changes that they have created on these measures. So that is easy and it doesn't take that much time. So let me copy the same changes here and open blueprint number one and paste them here. Compile save, and it has applied on all of them, except for this one that you see, we have changed the material, overwritten the material. All of them that have been default have changed. Okay. Now building number one and two are now there are building number four and five, which are the variations of the same one and two building or remaining plus building three, which is a different one and the platform. So we're starting with the building four and the five, and we're going to just repeat the same process and bring the formula from building one because they're all using the same kits from here and copy that here, and we will continue from here. Okay. Now the next thing is to set these ones to be variable. Okay. And then this one compile save, it works. Now we need to make sure that all of these are visible so that we can change them in the runtime using the blueprint. Okay, now let me find one of the building number four, it should be Okay. Here they are. And now again, because the materials are just the same, I'm going to just select this blueprint and you will see the variations. Okay? Let me copy all of them here. And now I'm going to pause here. So it doesn't allow because there are some differences in these variables, let me copy, and it's not allowing us. Okay? It doesn't matter who will set these materials. So for modular, we're going for this one, just copy and paste, shift, click. And then you just need to select variation. Okay? Now, this should be foundation. This should be extra. This should be rooftop. And then this one only belongs to extra rooftops. Paste, compile, save. Now you see all of the variations from building number four have been changed to that as well. Now we're going for correcting the building number five. Then again, I'm copying the same from here. It's the same process. You see, it's very easy. Once you create one of them, it would be a lot easier to create the rest of them. Just click here and promote to variable. Okay, compile, save. And now, again, we have these variations here. We cannot. So I'm going to paste that material here. Let me find that material modular paste and then paste here as well, except for that one which we're going to copy and then shift click here to bring that right in the correct place. And now we need to just go for other variations. So this one should be foundation. This one should be extra, and this one should be rooftops, compiles, save, and all of them have been changed except for this building number three, okay? And the platform here. Okay. It's an iterative process. Later, we will return back and try to create lots of good colors to make sure that we get a very, very good result in here. Okay? We're going for building number three and then let me copy again the same from here. Compile, excuse me, no copy and now stave. And we're going to promote that to variable. So let me see if I have applied building four and five, to be visible, it's all right. Now, compile, save, and if I return back to the building number three in this layout, it should be Okay, this one, we have the materials, and we just need to set up default materials. Okay, copy that, copy and then bring that here. So I just applied the materials just like the previous ones, and you see this one is going to be correct as well. So now all of them are correct except for the platform. So let me go for platform. And because this is using the same as well, we can just copy all of these and bring them here. And then we just need to renew these variables and make sure that they are visible. Compile. Now, again, let me start to apply the materials. So rooftop, it's going to be MI underscore extra and rooftops. And then this one is going to be underscore Wood kit modular. Okay, this is it. Now shift click here, and then we should set the material. So now everything should be working fine. And after that, we will set up the colors. We will create variations from the material instances, for example, to make sure that this platform here is different than this one in some ways to change the colors and things like that. That allows us to create different material variations and apply them in runtime without affecting the other instances. Okay. Now, this one should be extra. This one should be roofed up, and this one is going to be right as well. So now this one has been set up, and everything is working right except for these meshes. So because these are not blueprints, I'm going to select them. Let me go back. These meshes are just simple static meshes. I'm going to find them and apply the material here. So we already know that this one is the wood kit, and it should be extra, I believe. Okay. Now we see we could later apply these colors on the planks, and that is going to be right. So now we need to go for stairs, this one and this one. And we already know that these also belong to the extra modular. Okay, because they have been created with planks from modular kit. And then one quick way to fix these colors so fast is to change the master material first. And why is that because we set the master material to be in a way that apply the appropriate color to these channels? We have these three colors responsible for generating the data based on those masks. And it's in here, for example, for something like this, which is a children of that material. Let me bring that. This one is a children of this material Wokit. We do not have the masks here. So if we apply the masks here, you see that we have these colors derived from the colors here. So if you haven't already changed these, and I mean that they are deactivated. If you go and change these, for example, you're going to change them for all of the material instances that are using the same master material, which they are all of them exactly. So this would be a faster way. So let me bring this one here and for this color Let me just pick up color from here, for example, something like this one, because that is material, it's going to apply all of them. It's a parameter. Now let me go for this color and I'm going to pick up a range from these areas. Okay. Now, this one, let me pick up one of these exposed color. Now you see the colors are really changed. And now we are seeing changes based on the color values. We get a lot of edge red here. We get changes based on each plank, we get changes on different parts, and you can go and try to change them more. But now let me go to extra material. So this one, I'm going for the one that is responsible for the rooftop, which is here and I'm going to change the colors a bit because I wanted to just tell the message that there are a bit of moss and green colors here. So that one will prevent us from reaching that result. So let me just go for a green color here. You see the green color change there. And if I go bring more green color here and there, Now you see there's a bit of color change there, desaturated green. And we can also try to bring the intensity of these colors. For example, if I bring the intensity of that, you see it tries to bring more color in those areas. So, it looks like I like this green to be applied here as well. I want a bit of dark green, not something like those. And this one again from the same range. Okay. And now let's say that you want to apply her variation change. For example, let's say that I really like this building number three. I want to go and change that to something else, for example, to something that has a different color. So now let's do something. I'm going to bring the blueprint responsible for that, which is this one. It should be around here. Okay. We can go and try to create different variations of these materials based on what we need here. For example, I want the modular planks that are here to get a different color. So what I do, I go and find this in here, create a new variation, and I'm going to just call it, for example, variation 01, okay? And then apply that here. Now that it has been applied there, I can go and try to use a different color combination, for example, bring this one and then for color, I can go for something like paint. Okay, something like that. And then let me bring the intensity up. This is green intensity, not that. So I want to bring that. Now you see this one is changing and receiving that color. So you can easily just try to create lots of variations based on those masks. And then it would really be awesome to create and generate a lot of good results here. So let me pick up a color that is so obvious and then if I bring the intensity of that color, you see, it just tries to bring a bit of edge color to these areas. So let me bring that back. I want to look something like exposed wood color, something like this. Then let me see what this one does. Let me go for a green color. Okay? This is here. And then I'm just selecting a more fresh wood color, something like this. And then if I bring the intensity up, Okay. You see? Now this building is different than the other ones. You can create lots of buildings that are different from others. For example, this one is building. Of course, before that, let's do something. I'm going for this building again. It was building number three, and I'm going to create variation for the beams as well. So beam belongs to the foundation, and I'm just going to create another variation and I'm going to apply that. It should be foundation. Now if I go and change these colors, I'm going to bring the intensity of those as well. You see we get the same color here. Let's change that to something else. For example, something that has a bit of paint Okay. A bit of edge red as well. Okay, you see now this is looking awesome. And you can just create more variations. For example, you can create a building with blue paint or with a green paint or something that you want. And this system allows you to create a lot of flexible results. You can just change the buildings in no time. You can just create materials and create variations so fast. And you can create a lot of changes. So let's do something. I'm going for one of these platforms, for example, this one that we want to make sure that it's different from this. So it should be here and it's this one. So we could bring the modular and use this material. So let me see So, of course, we need to bring a modular wood, but that belongs to the foundation, so let me pick up that. Okay. Now you see this building is different than this one. See, we're able to create lots of variations just so fast. So let's try to paint this building in green, for example. Let me find it. It should be in the right. And it's okay here, building number four and variation D. So let me go for the modular. Let me find the material. I'm going to create another variation. So let me just call it 02 and then apply that to the modular kit that we have here. Let's just go try to bring different paint. For example, let me find something that looks great here. Then there's one let me pick up from here and this one from here. So if I just try to bring the intensity of the color up, you see, we get a different paint on this building. So let me try to work with this intensity as well. O So you see now this building is different than these ones, and we're able to create lots of paint colors that are great. So let me just take one instance from here and just note that I just took that instance from the modular number two. And I'm going to apply that color on this building. Now let me go find it. Okay. And then I'm going to bring this one. Okay. You see, it's accepting that color, and I'm going to go for another paint. Let me just paste the value here. Now we have already used green, let's go for another one. For example, something that is different to that one. They just make sure that you stay in correct ranges. You don't want to create something that is dealing with bugs. So let me select this building because I want to change this theme. So you see that using these variations, we're able to create a lot of good results. So if I bring that, you see. So I didn't like that. I just reverted the change. So here's how we can try to create different variations so fast and easy. Okay? I'm going to pause and in the next one, we're going for completing the scene the new levels. Okay. See you there. 46. Creating The Rafts: It Okay, everybody. Now, welcome to the next chapter. And this one, we're going to finish the environment. So what we're going to do is creating the water shader because that is an essential part of this tutorial because this is a village and we wanted to first create the water. So the water is going to be created here to add a bit of movement and motion to the scene. And what I decided was to create some boats or better said we're going to create rafts and here are the images that I have in mind. They are very simple, and again, we're going to use the kits that we already have to create these and float them on the water. So the next thing that I wanted to create is a lantern, and it's going to be old and not that professional because, for example, you see, we have created the environment. If we go and spend too much time on that prop again and only it's not going to be so optimal. So for secondary props or treasury props, we're not going to be focused like these ones. More detail you go, I mean, from the big medium and small, the more smaller and treasury apps be the smaller amount of detail and time we want to place there. So again, what I forgot to say that we're going to create doors for these. Again, we're going to reuse the same kits. But we might also return back to Zbrush and use those high poly ones to create the doors that way so that they are a bit more special and focused on. So what we're going to do is create something like a midday towards nighttime, lighting, we're going to create raft, water shader, these doors, and then let's see what happens and what we're going to create. So first, let's start creating the props. We're going to create rafts first. And then for the lantern, we're going to create the base with these wood pieces. We're going to create with that and then hang the lantern on them. Okay, we're going to focus really on reusability. So here's a blender set up again, and we're going to create rafts first. And again, we're going to use the geometry nodes to allow for fast creation and fast iteration. So let us start with a simple lane. And again, this is going to be subdivided to allow us to place different woods on these faces. Let me just go for something like this one. Okay? This is going to be the proportions of the raft. So let me see the actual scale. Let's go for 5 meters by 2 meters. Okay? Now, apply everything so that everything is okay. And then I'm going to create a geometry node set up there. And if you go here, you see that we have a geometry node to set up. So now I'm going to reuse these again. So this is the kits. I'm not going to change them right now, but I'm going to just duplicate, bring them here to the center, and I want them to face exactly to the direction that we have here. Okay? And then we're going to rescale them later as well. So let me apply the rotation, and I'm going to create a new collection, and I'm going to call it raft. Okay? Because we're going to bring these and use them on instancing. Okay? Now, let me just Okay, change the scale a bit, and now let me hide the raft collection. And again, we're going to reuse the same geometry nodes setup that we created before. So let's do something. I'm going to bring these. Okay. And then I'm going to bring different instances on these perfectly. So again, we're going to use mesh two point Okay. And then we want the points to be based on faces. Okay? Now, if I plug that here, we see nothing, but we see these here. So now, again, we have points. So let me bring the instances on point which is this one and plug this one to the geometry. So we're not seeing them because we need to bring instances. So separate collection and RSA children are needed. Now we need to pick instance, this is just a bit problematic because it's using this instance, this one, this one, and then this one. We want to make sure that they are based on the same scale. Okay? For instance, index, we're going to bring an index node again. Okay. And then we're going to go based on a random value. Yep. It's going to be based on that, let me bring an integer, and if I like that here, you see the order changes. And now you can just try to see which one you like actually, and then you have the seed as well to change. So I'm going to bring the raft collection for now. Let me just take that collection because I'm going to bring them over to here. Okay. This is my collection. I'm going to bring them here. Okay. Now let's go back to geometry nodes, and I'm going to take the individual ones and try to scale them based on the dimensions of our plane. Okay, let me just pin that. And now let me do something. I'm going to join geometry for now so that temporarily, we're able to see that. And then if I go here and try to re scale and then apply the scale, you see those get scaled as well. So now, let me try to scale them and apply the scale. No, just apply scale, do not apply the location. Okay, now let's go for a bit of rotation. So we want this to be rotated randomly. So I'm going to bring vector no, let's bring a random vector again. So let's go for random value. Now this is a float, we're going for random vector. So now if apply like that here, you see that is totally not what we want. Let's use a negative value, negative 0.1, and then to 0.1. So we want the raft to be a bit more structured. So this is not exactly what we want. Okay. Now, let's do something for scale. We could bring a random value again, which is a vector. So the minimum scale is going to be one and then here let's go for 1.1. Okay. Now let's do something I I ring. Now this is okay. Now let's do something. I'm going to limit this even more, so let's go for 0.02 25 to the same value in positive. Okay, I don't want that to be so dramatically changed. Okay? Now you see we have created these and we want to create the blanks or the kits that are going to hold that and are going to be rotated 90 degrees to here. So if I bring the references, you see, we have some of these barks that are rotated in the other direction. In here, you see they are holding the structure together. Let's try to create that, of course, that is very easy. You can go and try to compile that, realize instances, and then bring the wood pieces, rotate them, and so on. We're going to create that in geometry notes. So let's do something. I'm going to go to my plane and I'm going to go to Edit mode. And then let me just take that, bring it on top, rotate that 90 degrees. Now if I go back and apply, we are not getting the rotation that we wanted, so we want to be able to change the rotation plus the scale of that individually and separately from these. So we could do one thing. We could try to separate from that geometry. So you see all of this geometry is now sampled in here. So we could try to separate only the space and use that for generating a point. So how do we do that? Again, we're going to bring the mesh to point. Let me just control Shift D to duplicate that. While holding the collection, and now here we have a selection mode. So now I'm going to bring the index. Now these phases have different index values. For example, in here, you see now we have this phase number seven, it should be, I think. So now let's try to bring a math and bring that here. And if I hold down shift and lt you see now we're able to select between them. Okay? Now, if I go negative, I'm able to select that. So let's do something. I'm going to go to a point that I only select this one here. Based on how many planks you have or how many bases, it's going to be a number that you want to select. Okay? Now I have separated that and now we could do something again for the top one. So let me bring that, and I'm going to put that to this selection so that it leaves us with this one deselected. So now you see it selects only that. We want that to be inverted. Let's do something. Instead of using this ad, we can go to the same that we have been using. So let's go for, for example, here, less than. Okay? Now it's going to look for that value and you see now it's trying to separate them. Now this is not getting calculated. When we bring this value, it's going to be that. Now if we go here, we're getting that one perfectly. We could use this less than or greater than instead of add, it's going to work right as well. Okay? Now I'm going to again reuse the same nodes. Let me try to bring that. I'm going to pick up my collection index random value instances and these random values and Shift D or excuse me, I'm going to Control Shift D. So that it keeps the connection. Now here, we need to select these points and plug them here and then go for join geometry. Okay, it's going to bring that there, and now we need to go for rotation. So after this one, I'm going to bring rotate instances like that here. And then it's going to be rotated 90 degrees like snow if the pivot point is centered. And then we could go for gale instances as well, excuse me. That was wrong. Scale instances. Okay. Now let's try to scale that even more. Then we could go for transform or translate instances and just change that value in Z so that they're connected. Okay. Now let's do something. I'm going to go here and create another point. So let's go to the geometry. I'm going to select this space. And if I bring that here, you see, we have the same being applied here as well. But again, we can go try to change the scale and so on. Okay? Now, I don't want that to be applied here, and then that is the raft. Perfect. So let's try to change the scale a bit. And then we could go for pick instance as well and try to change those values like excel. If you want to get a different sputu of planks. So let's go to Maria mode. It's good. Okay, now we're going to create the illusion that these have been tied together with a rope or something. Okay? Now I'm going to bring this rope because this is a tiling rope, and I'm going to use them on these kits so that we are able to plug them to the kits so that they will be applied on the geometry nodes. So now let's do something. Instead of creating random curves around these using the curve menu, I'm going to borrow the geometry from these wood kits. Okay? Let me go on the top. Let's go to solid mode so that we're able to see better. Just try to select these. And then, we have the ropes selected. And now, if I click separate by selection, you see, they're getting used in the geometry nodes because they are in the raft category which we don't want. So let's try to take these, which is so that we need to select them and bring them to a new collection or out of the raft collection. Okay? Now we have these. Let's go to Edit mode and separate them by loose part. Okay? Now they're all separated. I'm going to bring the pivot to the center. Let's apply everything and then bring the pivot to the center again. So now you see all of them are centered. So now let me take this plus this one. And then in order to work a bit faster, I'm just going to bring that and bring them close to these like so. So now let's try to rescale that and then apply the scale. I'm just going to place them close to these so that it would be easier to work with the curve modifier. We're going to use the curve modifier to wrap these around these curves. So now they are all geometry now in order to convert them to curve. You just need to select Okay. And then go to your object mode, convert to curve. Now these are curves, and we're able to use the curve geometry. And you see there are now a curve geometry, and now in here we have curve menu. So now I'm going to select that and then let me go to the Form menu and then we have curve. Okay? Now let's try to select that. And then it needs a bit of okay, now you see it's working. So now let's go for negative Z. It's working either way. So let's do something. I'm going for phase orientation, apply everything, it's working all right. But then that is non destructive as well, it means that we could go and try to rescale and create another pipe. Let's select all of these, and then I'm going to Control L. Now, let's select this one, the last Control L, and then Link modifiers. So control L, L link modifiers, excuse me, it's link materials. Copy modifiers. Now the reason that these are so not working all right because they're using the same curve object and remove that, you see they get back to the same place. So now let's try to bring a curve modifier and try to pick up that instead. So this one is going to be the active object, Control L, copy modifiers. And now all you need to do is select the curves and let's do something. I'm going to go back again. Let's set this one to be Z because that was the correct rotation. Yours might be different depending on how you have created those kits, okay? Copy modifiers, and then if I select, you see, they're all getting wrapped around those curves. Et's select the curves. Of course, we could have created one curve and copy them around those, but you see using this way, we're able to create curves that are similar in scale to these kids. Now let me select all of these. No, I'm looking for these bonds. Okay? And then go to your object mode and convert them to mesh. It's going to apply all of those geometry parts. Okay? Let's try to scale this. And it can create lots of curves with these just so easy. Okay? Now I'm going to select these and just join them to this one. Control J, and you see they get applied here. Perfect. So let's do something. I'm just going to rescale them just a bit. So now, I'm going to select these. And then this one, Control J. Okay. You see, wherever we have used those, it's going to apply them as well. So this one and this one are going to be joined here. And then this and this span are going to be joined here. Okay? You see that really creates the illusion that they have been joint using ropes and planks, especially here, which is great. So now let's do something. Again, I'm going to select these curves which are now geometry. And now if I duplicate and bring that to the center and try to rescale, try to rotate, you see, it's just going to duplicate them around. Okay, now, you see, it just creates the illusion that they have been welded together using these ropes, which is great. So now, let's try to use or create another of those rafts. So let's do something. I'm going to hide that plane for now and I'm going to bring another plane. And this time, it's going to be something like this. No, I changed my mind. I'm not going to create that. You already have the knowledge to create that. So you can go and try to create. So now let's go to our geometry nodes and then I'm going to realize instances. Okay. Now they have been converted to geometry, and then we can export them to unreal and try to use them. So let's apply. And we have two material IDs here, which is going to be correct. And then the wood kit is going to be the first one and the extra is going to be second one. Great. And then we have this geometry node set up there wherever you want or whenever you want, you can try to, for example, create a plane bring the geometry nodes. Again, reuse the same setup. So this plane has been created in the raft collection, you can bring that to scene collection. Now you see it has been created. And now let's try to take the plane, try to rescale So it just created something like an unfinished raft. So you could use it for the dressing prop to tell that, for example, somebody wanted to create that raft, and it hasn't been completed yet. So let's try to use that. Okay? This is the unfinished raft. And let me just try to select these because I want to delete them. Okay. Now I'm going to pause this lesson, and in the next one, we're going to create the lighting system. We're going to reuse these kits and create a very, very simple lantern as well. So on the next lesson. 47. Lantern And Rgb Masking: A Okay, everybody. Now we created these two raft, and then now it's time to create the lantern. So it's going to be based on this because this is going to be the base for it, and now let me bring the pivot here so that when we found that in the world, it's going to be based on this ground. Okay? Now this is already 7 meters. So now let's try to rescale that to a point that it reaches to something like 5 meters. Let's apply everything. Okay? This is good. Now I'm going to bring some of these planks and try to place them I'm just using my imagination to create that because I do not have a reference on how that looks, so we're going to use our imagination and create that. So this is going to be placed here, and then we could use a boolean to try to create a place here for the rope to be hanging. So let me bring that. And I'm going to use this one, because it's going to bring that exactly on the geometry. Now, let's try to bring the pivot here. And then if I bring a cylinder, that cylinder is going to be spawned exactly here. And then I'm going to just rescale that and then use boolean on that. So let me apply everything, bring that here again. And then I'm going to take this and these two and this one as active object control minus. And then we're going to apply the boolean. Perfect. And now we could just delete this, and now we have the place for our geometry to be instanced. Again, I'm going to use a simulation to simulate a very simple cloth and use some of those edges to make that a curve, just like what we did for the bridges before them. So I'm going to bring in a plane and let me rotate that. Okay. And then I'm going to bring that here. And let's try to stop divided a lot. Simple. And then you see we have a lot of geometry here, and that will be a perfect case for generating the geometry. So I'm going to take this geometry in here and go to my vertex and apply that, okay? And then I'm going to base the simulation based on that. So let's go on physics and bring the cloth modifier. Let's go to m zero and then I'm going to go to my shape menu, use that now if I apply, so it doesn't allow those to the form, So I'm just thinking I'm just thinking about what we are able to do. So let's go to collision and activate self collision as well. It prevents the geometry to get buggy in certain areas. So I'm just looking through to see what we see that is okay, so let me apply a simulation so that we are able to select this part in here. So, that is a bit complicated. So I'm going to edge mode, step right by selection, delete that, bring the geometry here. And then I'm going to take all of these and remove. Now you see it leaves us with this connection here. And if I go and try to convert that to a curve, we have no problem. And now let's bring the rope geometry here. Again, I'm going to just rescale that and I'm going to bring that exactly to here. Okay, let's see what happens. I'm going to bring a curve and use this one. So let me apply the rotation. So if we go for Z, Z is working all right. So let's go for Z, and before that, I'm going to bring in a ray modifier as well. Why is that? Because we're going to offset that in Z one time. Okay? You see it creates that bend and allows for geometry to be tying. O. Okay. Now this is good. Let me apply everything, and then we could try to rescale that and place it here. So let me place the pivot here so that we're able to spawn that around these areas. Okay? We created something like a rope for the light to be hanged on. So now this pivot is going to be here, and then I'm going to bring that and just create the illusion that this is a different part. Okay. It looks different as well. So let's try to create the lantern itself. That is going to be very easy. It's just going to be a cone and some of these parts arrayed to create that. So I'm going to bring this here and let us just try to bring a cylinder, bring that to the center. Okay. This is just for the profile of that. Apply everything and then try to insect, remove, and then select these two, go to Loop tools and the bridge. So now, let me apply everything and let us see, the normals are lit. So Okay. Now I'm going to instance that a bit. We need to scale this one a bit like so, and I'm not going to actually create a very sophisticated geometry because that is not going to be useful because this is going to be used on places that it's not actually that important. So let me try to scale. I'm scaling based on individual gins. Okay. Now again, I'm going to select one of them, and I'm going to select one and leave two and go around and select my geometry. Okay, now shifting to duplicate P to separate by selection, and now I'm going to delete that, and now I'm going to select all of these parts. Okay. Now, all we need to do is bringing a solidify modifier. So you see it created something like that, which is great. So let me bring them in just a bit. And then we could apply a solidify modifier. So if you want the end to be like this, that is very easy just create an extra edge in the center. So let's do something because we could work on one instance and then copy to other instances. Let me select this. Control I to deselect everything. And now we could go to Edit mode and use this spin Okay, select. Okay. Now we have one that no it's okay. So if I go back, you see, now we have something like that created. We're not going to spend a lot of time on this. So let me select this space. Separate by selection. Then I'm going to select this inner edge and just try to create that cone shape with it. Okay. Let me shade smooth. Then we could bring solidify as well to create inner shell so that whenever if we place light or something, it prevents that from bleeding to other areas. Let me solidify And then apply. Let me apply everything, and let's take a look at here. So it's expected L the normals and it created so easily. And all we need to do is creating something to be placed here. So very easy just bring a circle Because this is a geometry, we could go and try to use solidify modifier. Now solidify doesn't work. Let's just do something I'm going to duplicate and then select these two. Use Loop tools bridge, then we have bases that we could extrude to create that. We need to flip that. Shade smooth. Then all of these are going to be joined let me select them. This is going to be pivot. Later, we are able to bring that and try to use that here to create the illusion that there's something going on there. This is going to be unwrapped Unwrapped is going to be easy because there's nothing special here and everything is based on sharp edges. So let us go to our UV and we already should have a UV map. If we select everything now go to your select mode and there should be a select by sharp edges. Mark SM, and now if I select all of them on wrap, if we get a very basic wrap. So in order to make that a bit more optimal, I'm going to mark SIM here. So let me see, okay? Mark Sim once more wrap. You see now, you get a better unwrap because these are now straight UVn wraps. So I'm selecting these. Let's just mark C wrap, okay? And then let me see where these belong to these belong here. So now I'm going to select these select all of them, a except for these ones. Now, let's select these only. Okay? Now if we go to UBS squares and try to straighten them, you see, we are able to do that. Okay? Let me apply everything. And again, I'm going to bring the pivot here. And now if we go to Unwrap unwrap once more. Okay. Now we need to go to pack. Okay. Now we get a more optimal UV. So then this should be high quality. Pack once more. Perfect. Okay, now this is going to be baked to create the lantern. We're not going to create a high polyfordO we could as well if we go bring a bubble. Okay, it creates a bubble. And let me see if I could bring a subdivision surface without changing everything. So it's good. Now, if we go back, you see, we have a high poly to be baked as well. So now let's do something. I'm going to select this and call it static mesh Lantern 01. Okay. And then this one is going to be the high pool. So we do not need to rename it. Let me select that. But I just called this dark mesh Lantern 01 HB representing the high poly. And then I'm going to apply one material on all of them so. Let us call that un restore lantern. Okay, both of them are now using the same material so. We're going to hexture that in painter, and we're not going to waste any time adding lots of details because this is a generic crop that is not going to be seen from up close. So why spending so much time on something that is not going to be seen? Okay? This one is the low poly, so I'm just going to call it lantern, low poly then this is going to be high poly So I just called this one Lantern hi pool. Look, I pointer now, and now let's go import the high poly and try to bake the results. So here's the high poly. So let's see what is causing that problem. Let's take a look at the high poly. So let's compare that with the low poly. We could go and try to fix the high poly, but since it's not going to be seen, let me just try to bake to see what happens. Okay. See, just there's a bug here. Let's see what is causing the problem. So Let us go to unwrap and see what we have here. So we have one UVsa which is incorrect, I believe, if I unwrap that Let me create one seam here. Or this one. So I don't know what is causing that. So I'm going to take this one and delete it completely. So let us go back. I'm going to bring a cone from the geometry menu. So this is it without any problem. We just need to scale Okay. Now let us do something. I'm going to bring the knife to press C to make that cut through, and it's going to be based on Y, okay? And then I'm going to select these parts, remove them. And then we take these two inset, remove. No, let's not remove that. Instead, I'm going to take this one and let us just extrude that here. Okay? That will solve those issues. They shade smooth. And then let us go and try to unwrap that. So first, let me take these edges. And then I'm going to try to apply a bubble. Okay, perfect. Now, let me select based on sharp edges. Mark Sam we don't want that. So let's try to select like so. And then one edge to split that. Go to face mode, okay? Now let's do something. I'm going to select all of these except for let me convert that to a SIM wrap once more. Now that's a separated. I'm going to select this Control L, and then let us go to UV squares, and we need to disable the UVSync mode. Okay. Now let us go back and try to merge that with this geometry. And now we could select everything and try to pack once more. Okay. Now, let's go back. I'm going to select that hi poly. I'm just going to copy the name and delete it. Okay? Now, this is going to be renamed as well. So I'm going to bring bubble, a very, very tiny bubble. And then subdivision surface. So let us see if something is problematic. So yes, here. Let's do something. I'm going to select this edge and mark sharp. Right click. Let us Mark Sharp to see if that works. Yeah, no. So I'm going to select that again and bring the mean crease up, okay? It creates the geometry a lot better, removing those issues. So again, I'm going to reexport these And then we import the mesh because the UVs are changed, we need to go and rebake once more. Okay? Now everything is looking all right, so let's bake. Okay, now we're getting the high poly result that we wanted. Okay? Perfect. So now, let us go for all of these as well. Excuse me. So I will return back once the bake is done. Okay, now the bake is done, and we could easily go and apply one of these metal smart materials on our results. No, not that one. So this is okay. And we're going to add a bit of damage to the metal as well. So we created a layer, and now let us go to these masks. Okay? This is the first layer, and now let us bring another one and this one is going to be for edges. So that is going to be too much. Okay, this is good. It's looking all right. So now, because this is something that we're seeing from far away, we do not need to export it on high resolution. So we're going to export it on something like one K. I just selected template UI packed, and then the scale is going to be one K. Or you can go for 512 as well if you want it. And here's the result. And now let us do something. I'm going to bring this here. Okay. And then one here as well. This is one variation, and another variation would be duplicate that, remove one of it. And then I could easily go here and try to remove these parts. Okay. And now this is the next variation. We have one that has a couple of lanterns and one that has one. So we could create the second UV channel as well. So we could save on these lanterns because they're going to be right. So I'm going to select all of them. This one is the pivot Control J, okay? It's here. So let's remove the normals, those custom normals. This is going to be static mesh Lantern 01 A. Okay? And then This is going to be the active object. Let me remove the custom normals. And then this one is going to be variation B. Okay? Let me export so I just we selected the vinyl folder. I'm going to disable the one material ID because these have pretty material IDs, so export and export as well. So now, while I was testing the environment, I just placed some of these modular measures that we have been using already and placed them here and there to create something like a door. Okay? And these are the messes that we have been creating already and we have been using. So, for example, this one, you see, it's building one wall five by two variation one, which is exactly this one. Okay? But I just brought them and use them here for a door. So because the door creation process was just something like the same, I just skip that and reuse the same process so that we do not need to repeat the same process. Okay. Now, here's our results so far, and I'm going to bring the other machines. So it's going to be Lantern, A and B. And we do not want the material to be imported with it. So in this material tab, we want to go do not import, and we don't want the textures to be imported as well. So here they are. We have three materials, Wood kit, extra and lantern. So I'm going to bring both of them. Misc Wood kit. I'm going to bring the wood kit, this one, okay? And then for the extra I'm going to bring that one. Perfect. And we need to create something for the lantern material itself. So let me copy that, and I'm going to paste that here. That's one as well. Okay. And then we're going to import the textures from the lantern and use them on material instances. So import, and here they are. Lantern base color, normal and mask. So let us set up the way that we want it. So you see because the colors of this one, it's the mask texture because the colors are a bit close to normal map, I imported that like a normal. So we want to convert that to mask. This one is a normal, so all that mans details and flip the green channel, and this one is okay by itself. Okay. Now let us go to the material. And I'm going to copy one from here exactly from the modular master material itself. MI underscore lantern. And then we need to plug the textures, and it's going to be right. Base color, normal, and the masked. Okay? Now it's working right. So let us go here, find that material, and I'm going to apply that here. So we need to do something because we have the metallic texture as well because we haven't set up the material to use metallic. It's not metallic now. So let me open the material. Now, there's metallic. So do you want metallic map or value? Let us apply the metallic map. Okay. Now you see it's using that metallic. And now we have metallic intensity and contrast. If I disable that, we have either metallic or non metallic. So if we outly that, we have the metallic map alid as well. So now if you take a look, you see now it looks like metallic so let me see if I can place some of these around here because later we're going to create something like midday environment setup. So we need a lighting setup to be there. Okay. Now I'm bringing one in here. And now I see that the color is too bright. So let us go to Material, and I'm going to bring the lightness to a more controlled value. So I'm bringing hue as well, and I'm going to bring that to something more controlled. Let us go to something half value. Okay? Now it's more controlled and looking a lot better. Okay. Now it's time to bring some of these to really tell the story dad, these are in the environment and lighting the environments later. So let us see if we could bring one in here as well. Okay. I could change that with this one. Okay, it's good for now. Of course, we might need to rescale the lantern itself. We will see that. So now we have the raft which are going to be exported. But in order to add a bit of detail, I'm going to create secondary UV map and use them there. So let us just bring those there, and I'm going to create UV Map. And then these two are going to be used Okay, let us go to UV Editor. And all we need to do is selecting these and try to pack. Here they are. Then now if we go to material mode, you see we're visiting the second UV map. If I go here, the first UV map is correct and fine. Now I'm going to duplicate and these are temporary measures that we're going to export to painter because painter doesn't read the second UV map. So we need to make sure that we delete the first UV map so that the first UV map replaces that. Okay? Now, if we go to UV, it's working all right. So let me export. And then I'm just going to call it Rag. Of course, before that, we need to apply one material ID to all of them. So it's going to be Rag. Okay, because all of them need to have the same material. Oh painted again, and we're going to bake the mesh maps, and we're going to make sure that we use the low poly like that, and we don't want the ID as well. So Bake. Now the bake is done and we need to go create the same channels as well. We're going to bring the 01 and two. Then we're going to name them just R, G, and then B. Again, in material tab, in material instances we needed to pick up that. This is just the way that we set up there. RG and then B. Then I'm going to export that. We're using the masking setup that we created in previous lessons, and now let's set that to be PNG or let's go for Targa. It's going to be a 512 texture. That is it. Then I'm going to import the meshes. So blender now, these are the measures that we're going to import. Okay, let me just call it static mesh raft 01. And this is going to be static mesh raft 02. Okay. Now, first, let me bring the raft RGB texture. So we need to place that in the textures folder. And then we need to go to our final folder and bring these and we do not need to create the material. Okay, here they are. And they have the wood kit and extra material as well. So we need to create material instance for them. So I'm going to reuse from these materials. So let me pick up from this material. I just called it material instance, raft extra. And then I'm going to pick up from this. Let me pick up this one. And then I just called it MicaftUnderscore Wood kit. So it's going to be here. Okay? And then we apply the material instances as well. We will apply the second UV, let me bring these two. And then we need to bring the raft RGB for these. Let me go to textures, and this is the raft RGB. We need to convert that to a mask. Now that error is gone, and now we apply that. If we go here, we see that there's a mix between these colors. And then of course, we could bring changes to these as well. So here's the raft would get if I apply the changes. It will bring the RGB masking, and now we want those RGB changes as well. They will let us go to see if we could apply some changes to these colors. Okay. And then let's bring the intensity of that color. Okay, you see the moss color is taking the result. So let's change this one to something like a bluish moss, as well. But not that much. Let's just add a bit of desaturation. So let's change this one to something like this. Okay, now for the main material color, let's try to desaturate at the bid. And then I'm going to bring another hue, for example. Okay, that is great. Okay, let's remove the contrast. So if I bring that in the scene, you see, it's different to other places from these kids. So we might need to change the color a bit. So let me bring that and go for something like blue here. So I'm going to pause now. We're going to create the water material, which is an important part of the environment. Okay? See you there. 48. Water Material Surface: Okay, everybody, do not worry. We haven't created anything yet in terms of the water shader. I just created a simple material and with a very small Roughness value, which is something close to zero, just to test the reflections and the one. It's just very simple material. There's nothing so complicated, and the plane is the default plane, which you can find in here. If I go to my menu and in here in shapes if you bring a plane, that is the same plane, and I just rescale that 1,000 times. Okay. Now, if I just take this one and delete and take this one, scale that by thousand, you see if we get the same result. And there's no problem. So let me go back and bring that one, and I'm going to delete that. And here we have a very simple material, which we're going to create, of course, new material for the water. So let us go to create a new material, and I'm just going to call it representing master material and then water shader. So I'm going to add a zero so that alphabetically, it appears in the beginning of the list. And now let's start creating. But before that, I'm going to create material instance from that. Let's call it MIPsce water shader. Okay, I'm going to take this plane and alo it out here. So is it because that is a very simple material we are not seeing anything and because we have scaled that material a lot, that is the fault material. But since we have scaled that too much, we're not seeing the information. So there's something to consider, and that is we're not applying the material on the UVs. If I bring the UVs here, you see the UVs are 0-1. And if I apply a regular texture material on that, so if I bring material from the default materials here and apply that, you see, it's very, very bad material in terms of the tiling. So why is that? Because we are using that material on the UVs of the object. So if this one is a simple object with default UVs, for example, material that is one by one by one, and it just matches with textile density, it's going to be right. So because we're going to use something like this on the object, we're going to make sure that we're mapping the material to the world, not the UVs. So no matter how much we scale, it's going to always be mapped to the world. So we're going to take that in consideration now back to our material folder and I'm going to open my material so there's a bit of preparation that we need to do to make sure that it renders perfectly for water because so far we have been creating opaque materials. The ones that do not reflect or do not let the light pass through. For example, this wood is going to block the light, and you're not going to see the light pass through the opaque parts. So we're going to make sure that we are going to create a translucent material so that it lets the light pass through and renders differently. So here for the material we're going to instead of opaqu, we're going for a translucent and this setup already doesn't allow us to have normal map or things like that. We're going to change the lighting mode to translucency volume. We get all of these back. So now for testing the UVs, let's go and create world position. We have a world position node and that it's going to allow us to bring information based on the world. So you already know that the texture is the UVs of a texture are using just two coordinates X and Y or U and B. So XYZ is a three D information. We just want X and Y, which is equal to UV or RG in terms of RGB. So let us bring texture, and I'm going to just bring the fault texture. This is just for testing. So this is for the diffuse color, and I'm going to bring this XY and plug that to U V. And if I apply that to the base color and save, let's see what has happened in the world. That because that is a very, very, very out of control number. If you zoom So close, you see, because that is real Engine is using centimeters for every centimeter it's going to tile the texture once. And if I go to unlit mode, you see the texture, the same texture that we have here has been tiled once in a centimeter. So we're going to control that number. So for example, you could multiply let me bring in a multiply. And if I just promote this one to a variable and use a very, very small value. So I think if we go for 100 it's gone. So that is because it's using the world coordinates instead of the UV coordinates. What it tells that tilt once per centimeter. So now, multiplying that, it tells that tilt once or tilt 100 times in centimeters. So it's going to tile that centimeters, excuse me, it's going to tile that 100 times more. So we need to revert that value. If I go back, see how we get that. And if I go for something, for example, very, very smaller, see now, we get more controllable tiling. So because this is not that great control, instead of multiply, I'm going to bring in a divide. So if I just rewire here, and set this one back to one. You see, this is the same because everything divided by one means itself, it means that it's going to tile that texture once in a centimeter divided by one, it means one. So if we go and press 100, you see, now it's going to tile the texture for each meter. If I bring a plane So you see this is a plane that has 100 by hundred, and it means that it's one by one in terms of scale. And it means that for each meter, it's going to tile the texture once. And I think that it's a lot more better for tiling the UVs. Okay. This way, we're telling unreal engine to tile that texture once in a meter, or if we double that, it's going to tile the texture twice in a meter. And the one. If you go, for example, for 500, excuse me, it's going to tile the texture now 5 meters, it means that it takes 5 meters to tile the texture once. Okay? You want to control that value based on what you want. So now let me delete that. Then this is the tiling that we have. So I'm going to call this one tiling or water tiling. And let us just create a folder, and I'm just going to call this water. Okay? So now, because this is going to be a material that is going to animate, and it means that it's going to have motion because that is just water. It's not going to be static material just like this. For example, the wood is going to stay there, and it's not going to get animated. But since it's water, we need to animate the texture. We're going to use a technique to make sure that we get something like water ripples or water waves, and we're going to tile the texture or distort the UVs in four directions to make sure that we get a very good motion in the water. So there's a node that allows us to have motion in the texture, and that is the panel. So if I apply that here and bring the texture, I let us bring the default texture again if I like that, and to the base color. Now it needs a time and speed. So time is how fast do we want that to pan and the speed is a direction based on X and Y. So for speed, let us just try to go for certain directions. And now if I apply real time here, you see now, the texture is just having motion. So if I just save that, and here you see now the texture is moving, and this is something that we want for the water. So instead of moving in one direction, we want them to move in four directions so that we could just simulate something like water movement. So we are going to use this panner and we're going to use textures. Because we want to just rotate or pan that texture in four directions, we need to bring four of these panner Okay, let me just copy that. And we're going to adjust these accordingly so that we're able to pan those textures just accordingly. So let me bring a texture, and I'm going to bring four of these textures. So let me convert that to a parameter, and I'm going to call it water Texture. Okay, let me step that to negative one so that it appears alphabetically in the beginning of the list, and I'm going to set this one to negative two because I want the tiling to be on top of everything. Okay? Now I'm going to copy this texture four times. Okay, so that each of these panther nodes is going to be applied here. And the reason that I didn't change the name of the texture is that if you change one of these, it's going to change all of them because they are the same. Okay? Now, let me log this one to the coordinates. And then how do we combine these textures? We're going to add them together. So pros A and click, it's going to bring these two textures together and these together as well. And now we're going to add all of them, like so. So let me bring that to the base color. Edit needs a default texture. So let us go bring the fault texture, the fuse. Okay? Now everything is working right. So, you see, it's having motion, but all of them are going to the same direction. So it's just like one texture, not four textures. So you see because we are adding it's just adding to the RGB values. Now what we're going to do is changing the motion to something else. For example, for each of them, we're going to have different speed in X and Y, so that it allows to create something like a distortion effect on the texture, creating something like a movement. So now I'm going to press zero everywhere on the speed. And right away, this technique is called four way motion. By adding motion in different directions, you are able to create something like distortion or for example, when you are in a desert and so far away, you are seeing a Mirage or something like that, that distorts vision. Okay? Now, creating a four motion, excuse me, a four way motion, we need to start with this and if I go speed of one and one, you see now these textures are staying the same, but this one is moving in these directions. So the speed is too much. So let us go to 0.1 and 0.1. So you see these are staying in the same place. While this one is having motion. So now I want this one to go in exactly opposite direction. So in speed instead of 0.1, we go for negative 0.1 and negative 0.1. So now you see they're going in different directions, creating the illusion that there's something like a distortion is happening. So this technique is called four way motion. It was introduced a while ago, so it's a good technique to use and learning new things about how to tackle certain tasks when creating the materials and learning something new. So now you see it's creating a motion, but out there just getting animated vertically or horizontally, depending on the perspective. Now, we're going to make sure that these are going in different directions as well. For example, in order to make this one pile or have motion in other ways, we could go and mix the directions. For example, instead of going for complete negative values or complete positive values, we could just use a mixture of both. So this one is going to be negative 0.1 and 0.1. So this one is going to be the opposite. So it's going to be 0.1 and negative 0.1. So now, you see, they're just let me save the material. And if you take a look, now, they're just having the illusion that they are getting distorted. But you see, there's a point that all of them reach the same point and creating that default texture. So we want to prevent that. So how do we prevent that? We need all of these to have a separate value in terms of speed. So we're not going to make sure that all of these have the same speed so that in one point, they gather to create that default texture. So you see, now, they created the same texture, and it was obvious, because they are using the same speed, we need to distort each individually so that there's no point or second in the game that these stay in the same place in terms of UVs to create that distortion, excuse me, to create that texture. I mean this one. Oh, because everything is starting from here, these are the UVs. If you add to the values of the UV, it's going to offset them to certain rotations. Don't let me show that in Lender. So you see, we have a couple of planes, and these planes are identically the same. Just I copied everything. Now, if I go here, you see it's starting 0-1 in all of the directions. So in U and V. Now, if I just take this one and offset it just a bit you see now it's no longer matching with one that is behind it. Okay? You see now instead of all of them starting 0-1, this one starts from something like this. So I do not know where that is actually, but it's not zero to one anymore. So now if they start animating, there's no point that they're going to be reaching to a same point in the game. So that's why what we're going to do right now. Oh, we're going to change this coordinate to some random values. So because the coordinate is constant to vector, and it means that it's going to use XY or U and B, we're going to bring a constant to press two and click one. Now you get something like this, and now what we're going to do is add this one to the coordinates that we have. And it means that instead of starting from zero, they're going to be offset it to random value. So let me bring add Okay, I'm going to bring this one here and this divide is going to be here plugged to coordinate. So now, nothing has happened because we need to change these values. For example, something very random. So let's go 4.2 whatever Okay. And then here 0.3, whatever. You already see that. This one has changed the behavior and has just removed one of them from reaching to the same point. Now one of them is not actually reaching to the same point like these three. Okay? This is what we're going to do for all of these. Let me this one right here, and then this one again. And then once more, then we're going to plug to the UVs of these ones to the coordinate. Now we need to change these values to something random. So because now all of these are the same value, they're all starting from this point. Now they should reach to a certain point, that one. So now we need to change these so that they all start from random point so that they never reach to the same point creating that texture illusion. So now let's go for 0.4, for example, like this and this 1.5, whatever. And then just enter a very random value. So you see we have subtracted two of them from reaching to that pain point that we had there. Now let us start to use different values. And now here. Okay, now that's one to gain I'm just entering different values. So now let's just take a look. And you see, there's very unlikely that these reach to the same point ever again because they're all starting from a random point, and the chance that they reach to a same point is very unlikely. So this creates the illusion, something like a Mirage that you see from far away. Just preventing the texture from tiling or from reaching to that same point that we had previously. Okay? Now, they start from different directions. And, of course, we need to change how these are using that motion or how fast by using the time value. So this time is based on real world time, and it means that in terms of seconds. So if I bring time This is the time. So the time node is actually using time in the material and adding the passage of time. So I'm going to multiply that. And it's just like adding a clock to the material. So if I added the time on all of these, you see now nothing has happened because we're using the default time. But if I just try to go for twice, you see, it's just animating a lot faster. So if I go for five, you see, it's getting very, very bad. So we're going to control that using a parameter in the material instance. So let me call this speed or how fast do we want that? So now it has changed, so let us go to default one. Now we see that actually like the default value. So let us it should be one in terms of sort priority. So if we go here and bring the material instance So let me take this one and place that in the water folder. Okay? Now we are getting the water tiling, water texture, and water speed. If I change the tiling, for example, to 200, it's taking 2 meters to tile the texture once. So if I go for 100, it's tiling once per meter. So for the default texture, we're going for default on reel engine texture in starter files. If we go here, if you scroll up, you see there's a water material that we can use. Okay? Now, just take a look and you see it just creates something like a water texture motion. But now you see the tiling is very, very small. We need to change the tiling to something else. For example, let us tile that Okay. Now by telling that once in 3 meters, we are able to see a better result. But for creating the normal, we could reuse the same node that we have been creating so far. I'm going to bring texture. Now it's using that water texture. Let us go for a default normal. Okay, this is it. Now I'm going to convert that to a parameter. And let's just call it water normal. Okay, it's going to be negative one in water texture, and I'm going to tile that excuse me, repeat that four times. Okay? Now, in order to match with this, I'm going to reuse the same UVs here. Okay? This is going to be used for this one so that we do not get repetition in that normal as well. Okay? Now again, I'm going to add these textures. And then I'm going to add once more. We could use Latin normal to control the strength of the normal. You already know that we want to add a constant, and then here we want to go for one minus. So that whenever it's zero, it's going to convert that to one. Now, if we add zero, it's going to convert that to one and it means that it's going to flatten the normal. If I enter one, it's going to convert that to zero, and then we get one for the strength of the normal. Okay. Let me save. And then if I bring here and bring a normal texture, I'm not going to use the water normal. Let us promote that to a variable. Okay. And then I'm going to aim. Okay. Now, if we just try to change the intensity. Let us go bring another normal. Now I'm using this value, and it's a good texture. Now you see there's a very sharp transition from the word to the objects here. I'm going to pause and in the next lesson, we're going to fix these. Let's create a transition. I'll see you there. 49. Water Color Blend: Okay, everybody. Now created a very basic water shader, and it's just like animated material. And in order to make that a bit more professional, we need to add a bit more calculations to, for example, separate the texture based on the distance that it has from these objects. You see, that is a very sharp transition, and we need to change that. So first, let us create a couple of colors. Okay, I'm going to just call this one Water primary. I'm going to convert this one to a parameter and call it water secondary. Now, let us create or select a very specific blue color just for testing. Okay. Now we're going to combine these colors and multiply them on the color texture that we have. I mean, this one, so that we get a bit of color change in the material. So I'm going to multiply that. And then we're going to bring in a larp like this one here, plug this one here. And then this is going to be based on the base color. So you see it has changed. So I'm going to use sort priority of three and four on this and then place them in the water folder. Okay, save. Now you see the change that has been done. And if we go bring the material instance, we're able to change that to whatever that we want. So now we're going to use a bit of calculations to make sure that we change the color based on how far it is from this object instead of just trying to use that color on all of the surface so that it creates a transition, illusion of transition and to make sure that these objects change the color of the water a bit, just like the effect that you see in the real world. So this is kind of a depth based calculation. So we need to bring in the depth and the in depth is going to represent the distance from the camera to the objects in the scene. So it's going to represent or return back depth information of each pixel in the scene. So if you just go here and search for them depth, you see, whenever you try to change the camera position, you are able to change the thin depth of each object. It's a gradient that starts 0-1, and it determines how far from the camera each object is. So we're going to use that and use it in our shader. So in order to make that specific, we could bring in pixel depth. The difference from the pixel depth to scene depth is that scene depth calculates all of the environment. But pixel depth is responsible for what is being seen. For example, it's only going to render what we are already seeing. And if you change the viewport, it's going to change based on that as well. If we divide this and use that of this image. You see, it just creates a mask. So let me save. And you see now it's trying to take these objects in calculation based on the effect. It's going to normalize the depth value to each object. Because it's using the scene depth and pixel depth, if we zoom out, you see now, it's just rendering based on a distance of the camera. And now just something to consider. If you just try to scroll up and down the city effect is trying to be removed or being strengthened. So that is because we need to tell on real engine the depth of the water. So if we just take the water plane that we have here, you see the location is based on this value. We need the Z value. So if I bring that, you see, it's just trying to change, okay? We need to make sure that this stays the same. So that's why we need to take the information based on this plane. So the node that is going to help us achieve that is going to be called actor position. So this actor position in the world space is going to take the information based on the XYZ coordinates of this plane or whatever actor that you have in the world. And that's a number in XYZ or RGB. So we need to manipulate only the Z so that when we go up or when we change the height or if we change the camera based on the Z, it's going to stay the same. So we need to offset that to the water level that we have, based on the world scales that we have here. So first, we need to go for component mask. What this component mask does, it's separating based on the value. So we already want Z or it's RGB XYZ. So to offset that, we need to add something to that. So, this one is going to be promoted to a parameter, and let me call it water level. Okay? Let me Again, convert this one to an RGB because now we're using only the Z value. Again, we need to bring in an append vector, plug this one here so that it's here. If I bring a constant to vector and plug it here, you see now we have RG and then this one is going to be the B. Let's multiply these together to see what happens. And if I apply that to Alpha, of course, nothing is happening because we need to separate the channel that we want. We want that to be in Z, not all of these. So if I change the water, it's going to only create a bug. Okay. Let us go back. And right away, we need to go for component mask and separate the Z channel. Okay, let me apply that here. Okay, now we need to go for one thing. We need to invert this. So let me take the height value of our plane and place that in the water level. So we need to bring in one minus and this one to the Alpha. Now you see it's inverted and now we are not seeing that effect because we need to change that to something. For example, we need to add a follo off to that. So a good number to add fall off is to bring the divide and try to promote that variable. And let me call this one water fall off. Okay. And because we're going to divide that to a number that is going to be too much, I'm going to bring in a saturate node. So the saturate node is just like a clamp node. So you see, it's clamp 0-1. But if you bring the saturate, it's going to be the same thing, but it's going to be cheaper and downside is that you are not able to change the min and max. So here you can change, for example, to limit that between 0.5 and one. But the saturate node is the clamp node, but it's locked to zero and one. Okay. If I bring the saturate and change this one and save. Now let me go to water fall off. And if you just try to bring the value, you see now, we are getting that one in calculations. But we need to make sure that we are able to see from the distances that wherever we are, we need to see that. So like this, we need to be close to the object. But we need to make sure that wherever we are, we are able to see what is going on. So let us bring a world position, and I'm going to subtract that world position from the water level that we have. So world position is going to be here and water level here, and let me plug that here. But of course, in order to take the camera in consideration, we need to bring the camera position as well. South camera position, and we're going to subtract this from the calculations. So even before subtracting the world space, we need to subtract the water level from the camera position. They are going to be inverted. The subtract camera position from the water level. Then we're going to subtract that from the world position that we have. First, we subtract the world position from the water level and then subtract the camera position and then subtract these two from each other. Let me bring in a subtract. Then we're going to stoptrat this from this. And now if we go here and change the it's trying to take effect. But again, when we zoom out, it's not going to be calculated. So let's do something. I'm going to bring in add here, and then I'm going to bring the camera position subtracted And then if we add it back to the calculations, you see now, even if we zoom out, we are able to see that. So let us go to here. And now we're able to by just changing the value here, you're able to see that transition a bit better. Change the water level so that you're able to see that a bit better. And what else we could do is changing that watercolor so that it's not that prominent. So I'm just searching for a different color. I just looked for a different color. And now you see we're able to see by changing these values, we are able to get a mix between changing the color whatever you like. Okay? Now, let's change that. So now you see there's a transition between the water and the object. Okay, now I'm going to pause, and in the next lesson, we're going to go for the lighting, which is going to completely change the mood of the environment. We're going to use HDRI images. Okay. See you there. 50. Initial Lighting Setup: Okay, everybody, now we are going to change the lighting. But something to notice is that lighting could really improve or worsen your scene. And with the good lighting, you can really progress your environment or with a bad lighting, you could really waste a lot of the time you have created in creating these good results. So what we're going to do is using HDRI images plus the post processing plus the lighting actors that we have in Unreal Engine to create a lighting inside Unreal Engine without relying to an external software. So everything is going to be done in real time in Unreal Engine. So before anything I'm going to bring in the post process because if I take a look here, you see, whenever we look at something dark, the eye adaptation effect is present. You see, it's dark and then it's just trying to match the curvature of the lighting to be a bit better. So I'm going to make sure that this one stays the same, no matter where we are looking at that. So let us go to exposure. I'm going to go for game settings because we're going to bring in a post process volume to help us do that. Just search for post process, and I'm going to bring that to the lighting folder. So here's that. And then we need to change something. We need to make sure that it's infinite extent, it means that if we change that, it's going to change the whole world with it because now everything should be inside this box, the takeoffect. But if you apply infinite extent, it's going to extend this to the whole world so that it affects the whole environment. So what next we need to do is changing the exposure settings. Let me go to exposure. Okay. It's in here and then we need to change these values. I'm going to set this one to zero and zero to completely disable the adaptation effect. And now, if I go here, you see that adaptation effect is not affecting anymore. So now, I feel like this is a bit too dark. Let's go for one here and one here as well. Because I want the environment to look dark, ok? We want that to be something past midday towards the nighttime, but it's not going to be quiet night. It's going to be something between day and night. Now let's go for 0.5 here as well so that it gets a bit darker. And then instead of using this skylight as the main skybox, I'm going to create a mesh in blender and import it here and apply a texture on it. So in blender, just go and bring the UV spear. Now if you take a look at here, you see that we have the UVs 0-1 perfectly fine. So what we need to do is shade smooth, and now there's something more. So if we take a look at the normals, you see now, the normals are facing outside. But since we're going to scale this one, for example, like 500 times, you see now, whenever we are inside that sphere, we are seeing this side of the sphere that is rendering incorrectly. So let me just create a cube. So take this cube as a player. Okay. Now, from the perspective of the player, we are looking at the wrong normals. We want the normals of this to pace the other way. Okay? Let me just select shift and recalculate the normals. So now, if we try to scale this one a lot, you see now we are seeing the normals from inside the geometry. If we were to look from the outside of the geometry, we would have needed to invert the normals. But since we are inside of that, we need to make sure that we are seeing the normals from inside. Okay? Now, let's rename that static mesh Skybox mesh. Again, using BTEX, I'm going to export. It's going to be to the same final folder export. And then I'm going to my meshes folder and import that here. So this is it. And we don't want that to be nanite. And then we don't want generate light map UVs to be activated as well. Okay. Now I'm going to find that. Let's take a look. And you see if we go inside of that, we're able to see the world around us. But if you take a look from far away because the normals are facing the other direction, it's going to be wrong. Let's center that exactly. It's going to be in the center of the world. Now, I'm going to bring that back to the lighting folder as well. This is static mesh, sky mesh, box mesh. Okay. And then we need to scale that until we are able to see that geometry. So now let's try to scale that by 100, okay? 200, 300, 400. Okay. Now we are seeing that geometry. And now we could go and try to apply material to that, and that material should be an HDRI or a panorama image that we have. And it's going to be this one. This is a tile ene texture, and we're going to apply it on the UVs of the sphere. So we have a couple of these. One is HDRI for the lighting, and one is for material creation. So I'm going to import them to our folders. Okay. Just let it calculate. And you just want to make sure that the compression setting has been set to HDR on both of them. So they are shared with you in the project files. And if you want to just follow with the same settings, you are able to. So one of them is the XR, and it's good for material creation. And one of them is HDR. The format is HDR. It's good for applying to the skylight. Or indirect lighting. Now I'm going to create material, let's call it AM Skybox. Then I'm going to bring in material. Let's bring that and see what is the sampler type. It's linear color. Okay? We know that it's going to be a linear color. Let's right click, convert that to a parameter. Just call it Skybox. And something to consider instead of using the default material, we are going to change the shading model to unlit. Unlit is going to just emit light from this. Okay. It's going to create a material, and we can apply that to our texture. So now let's apply. And if I select the skybox, let's create a material instance from that. And I underscore skybox material and if I select our skybox mesh, which is this one, I'm going to apply that material. Here's that. And now you see that material has been applied because the texture is tiling and it's tiling all around the world. And you can go and try to take that skybox mesh and try to just change the scale to what you want. Okay. Now let's go back, use this one instead. And now I'm going to create a bit of controls for controlling the tint, for example, if you wanted to add a certain color to the texture or to brighten or darken that. Now for a bit of optimization, I'm going to select that and instead of using this texture on the material, I'm going to bring something that has the sampler type of linear color. So there should be if I search for linear, okay, we see a white linear color here and the sampler is linear color. So if I apply, you see now, the material has changed and now we are seeing only one monotone color on our skybox material. So let us go to our skybox material and from here, I'm going to find our texture and apply that here. Okay. And now we get that back. Now I'm going to bring in a multiply. So using this multiply, we are able to bring colors. So I'm going to bring a color. Let me just call it color, it's going to be multiplied. You already know that everything multiplied by zero, zero, zero means zero, I'm going to set the default to white and then another multiply with a constant. This one is for changing the lightness or darkness of the material. So No, call it brightness, and we should set that to one to get a default material. Okay? Now I'm going to change the brightness of our skybikes to something really darker because I want the environment to look dark. Okay. After changing a bit of values, I found that this one looks a bit better with our environment. So now you see that we have a skybux representing our skylight. And now let's go for our skylight, which is this one. And we already have the sky sphere from here. If we take and remove that, you see, it's just the sky sphere. I'm going to take that and remove. Because we replaced that with something that we created. Okay. Now let's go to our skylight. And this is responsible for generating the indirect lighting. So instead of real time capture, I'm going to disable that. And for source type, I'm going to set for a specified cube map. Okay. So now, I'm going to my textures and I'm going to bring that and apply it here. So, you see, there's a bit of indirect lighting in these areas. And if you want to strengthen that, you could just try to bump up the intensity, and this is going to really brighten those parts that is not affected by the direct sunlight. So now, let's go to our directional light. And if I just bring the intensity, this is the directional light that we get from the sun. So if I disable that, it's just the effect of the skylight here, this HDRI image that we have applied. Okay? Now it's taking these colors and injecting them to the areas that we have, not the sunlight. Okay? Let me go bring the directional light and the default value that we were working with Okay, this is going to be something in between. And I want the directional light to have a bit of temperature. So if we go here, it's going to be something like onset. But if I bring that up, Excuse me. If I bring the temperature, we are getting cool colors because you see now with and without that change. Okay, what else do we have here? I'm going to go to our exponential height fog and I'm going to activate volumetric fog. Okay? Nice it blends a bit better with the environment. Okay, now you can really try to increase the density. For example, you can go past beyond any value that you want. But for now, I'm not going to use any value. So let's use this one, the default value. And then we could create a second layer of fog. Let us go here. Okay? You can just try to create a second layer, but it's okay by default. So what we're going to change is the fog and scattering color. That's going to blend a bit better with the environment. Okay? Now let's go to our directional light. Okay. Now, let's take this one. And if I just try to rotate that Okay. Now we get the material back, and now it's a lot better. So it was a bit of rotation in Z. And of course, we're going to change these values. We don't want them to be so pronounced. So if you go to the directional light, we are able to change the light direction to wherever we want. Or you can hold down Control L, try to change the light to use these shadows. As a composition tool. I'm going to pause and just rotate the light a bit to get what I want and I will return back. This is it. I was able to get the lighting that I wanted using these values by just trying to rotate the sunlight to the direction that I wanted. I feel like now we are going to a good direction. Of course, you can change the lighting to what you want. But for the time being, I'm happy with this. So let us go to the color grading, which is one of the important areas in there. I'm going to bring the Global, and this is responsible for all of the colors. And then we have shadows, mid tones, and highlights. These are going to separate the changes based on how bright or dark color is. For example, the highlight is responsible for the brightest part of the environment. Midtone is for the mid tones, and shadows is for the darker areas of the environment. Okay, something like that. You can just try to use them, but I'm going to add just a bit of contrast. Okay? No, this is too dark. Let's go for 1.2. No. 1.25 is okay. This is going to add a bit of contrast and make the colors a bit lighter. So I'm going to desaturate the color a bit. I want that to look like an old image, an old photograph. If you go for saturation, if you bring the colors up, you are getting something stylized. If you go for this, you are getting a black and white image, but I'm going for something in half. 0.5 0.7 0.8. Let's go for 0.75. This will desaturate the image a bit, and now I'm going to add a bit of blue for an old look. Let's go to our Gamma and let's see which colors are going to be okay. So this one this one looks like an old photograph but I'm going to add just a bit of blue. Okay. Now let's try to bring that value up, and this is okay. So we have already gain or things like that, which I'm not going to use. So we already have another temperature that we could use. If we bring the temperature up, it's going to look warmer or cooler. I'm just changing that to see which one I like better Okay, this is good. Before after, it's just adding a bit of cool light to the environment because that is something like a nighttime scene. Now we could also try to use color lookup tables as well. So if you go to Miscellaneous in the color grading tab and then bring the color lookup table, you can try to find the lookup tables that are shipped default with the engine. So just search for LUT, and then some of them are here. This is good. I'm liking that. This will change the color a bit. So let's see. Okay, this one was a bit better before, after. It's a bit removing some of those blue colors and bringing a bit of darkness and contrast to the environment. So to add a bit of quality to the scene, we're going to global illumination and the method should be lumen, and some of these stings could be changed. For example, that's one if we bump up to something like or the quality is going to be up. Of course, the frame rate is going to drop down if you use that too much. So lumen scene detail is going to improve the quality as well. Let's bump up to ten. And then the final Gater quality as well, is going to be good for increasing the quality. And these could be increased increase the quality of the global illumination. And then we have the reflections as well, which is great for just handling the reflections. Okay. Now let's go to our directional light, and I'm going to use volumetric features on our light. So the setting should be here, and then it's volumetric scattering intensity. If you disable that, it's going to completely break the connection between the directional light and exponential height fog. So if you bump up the value, It should be using and blend with the exponential height bug a bit more. Everything is okay except for, I believe, where we have placed the actor because that is really important on how you place that in Z. If you just manipulate the actor in Z, you see it's just going to change that in the world as well. So let's go to our Viewport camera, and I'm going to zero that. Now you see because that is on the zero, it's going to calculate from there up. It's a gradient that starts from the actor's location in Z and then gradually fade like it moves on the top. Okay? Now, Something like this is okay. Now if I disable that, you see, we're getting nothing. And if I go, for example, for 20 or hundred, you see, it's going to make the connection stronger. So let's use ten. So this is okay. I'm going to pause now and in the next lesson, we're going to create secondary light like point light and go for final adjustment on the lighting. Okay. See you there. 51. Completing The Lighting: Okay, everybody. Now we created a basic lighting for this environment, and everything has been created in real engine. So now, in order to add a bit of more interest to the scene, we're going to use point lights. And you already know that we wanted to place point lights on these candles, basically, on these lanterns, excuse me. So now let's do something. I'm going to go for the plane because that material needs a bit of adjustment. So this one, we could just go for a bit of darker color so that it's not too prominent. Now it's better. If you want, you can just go for a darker color as well. Now we're going to create point lights wherever we wanted. So it looks like there's a bug here. So we don't care. Now in order to create lighting, all you need to do is selecting this, press L and click here, it's going to create a point light. For the point lights, there are some considerations. So let me go to this camera in here. And now in terms of mobility, we're going to set them to movable. Of course, this is heavy, but since we're going to get good lighting, we're going to use that. So for intensity, of course, it's very self explanatory. Do you want to force that to affect very, very strong lighting or a weaker one? So let's go for the default one, and then we have the light color, but I do not really change that. Then we have the attenuation radius as well. So this is for optimization. If I just view, you see, now it's going to affect, for example, this certain area in full effect and gradually fade away. So if you bring that up, it's going to affect more areas. And if you have a lot of these areas, these lights, for example, in the same area, it's going to cause some problems in terms of performance and lighting complexity. So, okay? Looks like this is better. And I'm going to use temperature instead of color because for the color, if you're not too concerned with color that you select, it might be a bit stylized or not that realistic. But if you use temperature carefully, you're able to get a very good result. For example, let's go for a bit of warmer color here. And then, of course, there's a volumetric scattering intensity as well, which blends the light with volumetric effects in the scene. So you see now there's a bit of halo around that light. So if we go, for example, okay, you see now the halo around that light. So if you want that, there's the effect and you can use it. Okay? Now, what I'm going to do is selecting this light and duplicate it to all of these lights that we have created. So let me just you can select the light and highlight the light. Okay. And then you can go and try to place that here. Okay. And then it's going to be there. I'm just selecting these lights, and you can create a blueprint with light as well. For example, create a blueprint and bring the lantern and the light in that blueprint so that every time you copy this lantern, the light is going to be copied with it as well. So let's try to bring the light there. You can press Control Shift P to pilot the light. And then bring it here. And then now we can go here and try to visit the light to see what it does. Okay? Now, because there's no actual learning value in copying and pasting these lights around, I'm going to just copy these lights in these places and return back to you when it's done because that is just a manipulation of light and placing that here and there. So I'm going to pause and return back when I place the light in all of these lanterns. Now, I just place the light in all of these handles, and you see there's a point slide here and it's a very good adding good addition to the composition. If we go take a look, you see, we have placed these lights like so. And that is really dependent on you on how you can or how you want to place these light. Okay? I just used with a bit of manipulation changing these lights for, for example, for this case, because it was a bit dark in here. I wanted to have a bit more visualization on this especially. So you see by adding that there, we are able to bring more attention to these areas. But the main focus is in here, so you see there's the most amounts of brightness in these areas. Hence though one more thing, I'm going to add a bit of light into these buildings to make them look more alive. For example, in this area in here, so let me bring the first point light. I'm going to higlot and bring it here. So let me go back. So it should be here. And now, of course, we need to bring more visuals in here. So do you want to have a very pronounced lighting here or do you want just a very small tiny change in the light. And I'm going to again take that light and duplicate it to all of these buildings as well. So just Control Shift P. And then place that light, for example, in this building. And then you can go here and try to manipulate the settings here. And I'm going to place the light in all of these buildings. Okay? So I could let's bring the attenuation radius down because that is not going to affect a lot of those areas. So we can change the intensity unit as well, for example, to something like EV. And now with a very small tiny adjustment, it gets a lot brighter, ok? Something like this. And now I'm going to do the same thing and try to copy the light these areas. Control Shift P to pilot the light. Let me select the lights. For example, here, Control Shift P. Then you can just place that in this building and then you see that change. Now I'm just going to copy the light here and there to place that light in some of these buildings, and I will return back when the placement is done. Here they are and I just place these lights in those buildings though. This is with and without it. Okay. And I think, like, the placement of light is done, and I'm happy with what we have achieved so far. So, of course, there's more change that you can do. It looks like there's a bug here, so we have to skybox meshes here. So I deleted one of them. It was a bug. So now creation is done, and I think we are in a point that I could call the tutorial finish. We have learned a lot, and I think like it's done. So for example, you can see without the pulse process, how this environment will look like. You see, it's very, very dramatic the amount of change that we have done. So using post process, you can really bring your level to a new level and progress that a lot. So I think I could stop here and see you in the next and final video. 52. Thank You: Okay, everybody. Now the creation of the environment is done. We have started the journey with taking a look at references. And of course, the references were something new in terms of creation. And that reference board that we showed in the beginning was something that is currently available. So we brought those references and converted them to something like this by taking the area that was relatively new and converting that to something old. It was a village that was based on water, and we brought those references and converted them to something like this, with imagination. We started with blockout. Of course, for documentation purposes and to create a gift that shows the progress. I took screenshot randomly in some stages of the process. So we started with this. We just started to bring the references and just try to create a sense of a scale. And then we just started to refine that. So creating the scale for the buildings and then started the mid poly process. We created something like representation of the buildings and started to refine that even more and tried to place those. So then we just created some really regular textures to represent the look of the building and started to create the meshes try to place them here and there and then try to refine out the environment even more. So we started to create different kits for the environment. And then the next step was to create variations. We started to add a lot of broken variations from these areas. We started to add texture variations and these refinements. So this is the first refinement after creating the textures. And then we started to add variations in terms of materials. And then we brought those new measures. And then the next step was to finalize the lighting. Okay? This is it. And now here's the final image that we created in such a short amount of time. And all of the steps were carefully explained so that nobody misses something. And we created blueprints. We created variations, and all of these buildings are created using only one kit or maybe two kits, and we learned how to reuse to create a lot faster and to iterate a lot faster. So thanks for following me in this journey, and it was a very good one. I really enjoyed the process. Okay, and goodbye.