Learn Unreal Engine 5 for Blender Users - UE5 Beginner Tutorial

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments

I was waiting for this :D

👍︎︎ 1 👤︎︎ u/hoyeto 📅︎︎ Sep 17 2021 🗫︎ replies
Captions
Hello, everyone. If you are a Blender user and you want to learn Unreal Engine 5, then this tutorial is made for you in this tutorial we are going to go over Unreal Engine 5 But with a focus on its similarities and differences with Blender. That's how you're able to take your Blender skills and easily transfer them over into Unreal. Also, at the very end of this video, we're going to create this beautiful world you see right now completely from scratch, start to finish. Now, this video is pretty long, but I've divided it up into individual lessons so you could go at your own pace. In this tutorial, you will learn how to navigate your 3D world and move objects, create materials using the shader graph, and most importantly, how to export your Blender creations and bring them into Unreal. We will also go over on Unreal's brand new lighting system called Lumen and how important Nanite assets from Epic Game's Megascans Library. And at the end, we will put together everything we learned to create an ancient shrine environment dedicated to the Blender monkey head and an alternative night lighting version of it. So without further to do, let's jump into UE5. Before we can use Unreal Engine, of course we have to download it. We can download UE5 through the Epic Games launcher. You can get the Epic Games launcher on Epic Games websites. Now, once you have the launcher, you want to click on the UE5 tab right here. And click on download early access. It might take a while, but once you do have UE5 download it, come to library and simply click on launch. But before you click on launch, an alternative to open up Unreal Engine that's how we don't have to keep on going through the Epic Games Launcher is a click on the dropdown right there and click on Create a Shortcut. This will create a little shortcut for Unreal Engine 5 and we just simply double click on it to launch UE5 from our desktop. The Unreal project browser will open up from here. You could create new projects or open up recent projects, as you can see right here. But this will probably be empty for you to create a new project. We just select from a couple of premade templates by epic games. So, for example, maybe if you're in the automotive industry and you're trying to do some car renders, you'd come down here and you would select this template. Essentially, templates are premade projects. Epic Games has made with some common use functionalities. But for our purposes as beginners, I'm just going to select a completely blank project from games blank. When you click on the button right here to select a new location where our project will be created, I'm just going to click on my desktop. For now, let's select folder and we can name this project something. Let's just call this first project. And then I want to make sure starter content is turned on. So our content will give us some premade assets so we can use to help our learning experience. Also, we could choose a target platform. I'm going to leave it at desktop. We're going to leave it at Blueprint We're not going to be going over C++ in this tutorial, because then this tutorial will be ten hours long. And then I'm going make sure raytrace is unchecked and click create. This is what you should see when you're opening up Unreal for the first time with starter content. But before we even touch Unreal Engine, notice if I minimize Unreal Engine that we have a new folder on our desktop. This new folder is our unreal project, double click on. It will open up the folder and we can see all the assets and data that make up our Unreal project. And let's maximize our project and we're going to real quickly exit all the projects to reopen our project. We could go through the Unreal Project browser or we can directly click on the project by opening up his project folder and double clicking on the new project. You want to make sure that you're selecting the unreal engine version you are using. Of course, this is an Unreal Engine five tutorial, so we're going to select five press OK, to open our Unreal project, we created back up. So to begin, probably what catches your attention is this middle window right here. This middle window is our 3D viewport are 3D Viewport allows us to change and manipulate our level and to also view our level. Now, don't worry, we're going to go over how you can navigate your camera around and move objects in just a bit. But we're going to real quickly go over what some of these windows are doing. So to begin up above, here we have the toolbar. The toolbar essentially allows us to have access to some commonly useed tools and switch our modes. For example, let's say if you want to create a landscape, I come up here and select a landscape mode. And now I'm in landscape editing mode. We don't have a landscape, so it is going to ask me to create one. We will go over landscapes later in the video, or if I want to paint foliage like trees and grass. We also have a paint mode. So let's go out of that. And we can even create objects by clicking on the create tab right here. When I click on the crate tab, let's say maybe I want a sphere in my world. Let's come shapes and simply drag in a sphere just like this. Now, I don't want the sphere in here, so I click on the delete key to get rid of that object. And speaking of objects, are we to see all the objects in your world is, of course, with the world outliner. The world outliner is very similar to Blender's Outliner in that it shows all the objects that exist in our 3D viewport. So, for example, we can see that when I click on a chair right here, that chair is also selected on the world outliner. Or if I select an object in the world Outliner that was selected in the 3D viewport. Real quickly, if you want to create a folder, we can just right click and click on create folder, lets call this one chairs. And then I can select multiple objects by holding down shift or control and simply drag them into the chair folder. Letting go just like that. So now we have a new folder and a very hide and unhide objects or folders. I can click on the icon right there to hide and unhide. Now, what happens if you want to change the properties of an object? Well, we could do so with the details panel down here. So let's say maybe I want this table right there to be a little bit longer than I could change at scale on the X axis from one to two. But now that change looks a little bit stupid, so we can always undo any changes by pressing control Z. Just like in Blender. And if we come down here, we see that we have a bunch of different properties that we can edit. Don't worry while we will be going over what some of these properties do. The vast majority were never going to even touch. So at this point, you might be wondering, where is everything stored? Where are this table chairs and all the props? Where's this level being saved? Well, everything in your Unreal Engine project is contained within your content browser. And you could open up your content browser by coming down here and left clicking on this icon in the far left hand corner. And our content browser will pop up. We can also press control and space. So that's control space at the same exact time to bring it up as a shortcut. So our concept browser is very similar to File Explorer, where we have a bunch of folders. And in these folders is content and assets. So, for example, if I click on Props, we can see that we have our chairs, tables and 3D objects. I can hold down the left mouse button to drag out an object just like this and press the delete key to delete that. Or I can double click on any of these assets to open up that assets. editor we will go over what that says in just a bit to make some changes directly to that assets. Also, if I come to maps, we can see that we have minimal underscore default. That's the same name as minimal underscore default up here. If I double click on this. It's going to ask me to save, let's save. We can see that we open up the same exact map. So this is where our default map is being saved. And if you don't see the chairs, tables or this starter content folder in general, that's because you forgot to check starter content. When you create your project now, don't worry if you ever do forget to check starer content and you do want some of the content within that, you want to click on the add button, add feature content pack, go to content packs and select starter content. And click on Add to project. But we already have this in our project, so I'll just exit it out. Now, what have you get tired of president control and space all the time to get our content browser? Well, we can dock our content browser into our user interface by clicking on the doc and lay up on the right there. So now it's a window just like all the other windows. And before we go over more features of the content browser, let's go over how we could customize the user interface and move our windows around . So if you don't like the position of a window and you want to move it, you need to come over to the tab of that window and hold down the left mouse button. So now we can see that I can drag this around and let's say maybe I could dock it to the left or I can even dock it right here. So I have multiple tabs right next to each other. That's how I can switch in between them. Just like this. Now we can left, click, hold and drag and maybe just let go in the middle right here. And now we have a floating window. If you ever want to get rid of a window now, we could click on the X icon or you can hover your mouse over a tab and press the middle mouse button as a shortcut if you want to get back a window. Then we come up to windows right here and we have access to a bunch of different windows. So generally and you will see this happen throughout this tutorial. I like to click on world settings and world settings will automatically be docked next to the details panel. And that is exactly what it wants. Sometimes a window won't have a tab, and that's because that tab is collapse to collapse a tab. You need a right click on that tab and then click on Collapse the tab. Well, just like that. So now we can see that our tab is gone and we get a little bit more real estate. And if you want to get back that tab, we have a very small little blue triangle. Click on the blue triangle and our tab is back. So right click to collapse. Click on a triangle to bring back our tab. And we can see for a 3D viewport at the top left hand corner that we can even move this a viewport around just like this. And now just leave it like that. We can see that maybe our user interface has been ruined to the point of no return. Do not worry. We can always reload Unreal's default user interface by coming up to a window down to load and select default editor layout. And we get back our default UI. Now that we're done with the user interface, let's jump back to the content browser. So let's go to press control space to bring it up. And I'm just going to dock it in the layout. And let's go over how unreal organizes a project compared to Blender. So blender files operate off of a process called linking. Essentially a Blender file can link and use an asset located somewhere on your computer disk. This is great because multiple Blender files can share the same asset. These assets can be anything from textures to sound to even other blender files, because blender project share assets they. Don't take up a lot of space, which is great, but it is easy to break links. You've broken links beforehand if you're scene has ever turned into a nasty pink. In contrast, unreal does not link. Instead, it takes an asset, converts it into a new asset and stores that asset in the content folder of your project. A .UASSET can be many different things from textures to sound to 3D models and materials. If it's in the content browser, it's a UASSET. This is good because you don't have to worry about the location of assets, but your project will end up being many gigabytes. The UE5 demo project, which you could download from the epic games launcher, is about 100 gigabytes large. So do expect Unreal products to be pretty big. Now let's go over a practical example to get a better sense of Unreal's content system. So let's make our content browser really big, and I'm going to move this window off to the side. We can see on my desktop I have a very simple FBX 3D model. If we double click on it. We can see that it's the default. Suzanne Blender, monkey head, so a very simple mesh. And let's open up our project folder, double click, and we can see all the folders and make up the current project I have opened and we'll notice. that we have a content folder double clicking on this content folder. You'll see we have a folder called Starter Contents. Then if I click on starter content, we get a bunch of folders clicking on this starter contents. We get those same exact folders. Essentially, our content browser and Unreal is just taking the information from the content folder in my main project. So double clicking on, let's say, architecture and architecture here. We can see that all the meshes right here line up with all the other assets. So we have a pillar that's 50 by 500. Same thing right here, a pillar that's 50 by 500. Even if we go into audio right here and let's exit out go into audio. We can see even all the audio are dot U Assets So if there's an asset and it exists in the content browser, then that's been stored on your desk as a new asset. So what happens if I let's go out into the start. A content drag in the monkey head directly into my content folder. We will see. Nothing actually happens. But in the bottom right hand corner on Unreal is saying it changes source content, file has been detected. Would you like to import it? So essentially, Unreal is going to ask us, hey, we know. So there's a file within your contact folder. How about you change that into a dot U assets? Let's click on Don't Import, because I want to show the correct way to bring in an object, drag out the monkey head, and instead of dragging it into the content folder in our desk. I'm going to drag it into the content browser of our actual project. Let go. We get a bunch of FBX import options. Don't worry about any of these options. We will go over them in just a bit. But I'm going to select on Do Not Create material and import Now we can see that we do have a monkey head within our project, double clicking on it. The mesh is looking all right. And now within our content folder, I need to refresh. I need to save. So press control and s. And now we can see that we have a monkey head .U assets. So what happened was that it took the file and it converted into a dot UAsset, storing it within our content folder. Now we are filing done with all of that techno mumbo jumbo. I know that was boring, but it is essential, you know, how unreal organizes projects because it's very different from blender. And new users often get confused on to the fun stuff. And that is navigating our 3D world. So let's just get rid of my content browser by hovering over the top and middle mouse button, because we can always press control and space to bring that up. So navigating in unreal engine is a little bit different from Blender while Blender is pivot based. So you're essentially rolling around a specific object by default. Unreal is more game based. What I mean is that the controls of Unreal are very similar to that of a first person shooter. So if you want to look around, you can see that if you start moving your mouse, your camera isn't looking around. But as soon as you hold down the right mouse button so holding down the right mouse button, we are then able to pivot our camera around and with the right mouse button still held down. We can use WASD to move. So W go forward S to go backwards A to go to the left and D to go to the right, just like any first person shooter. And in order to activate those controls, you need to make sure your right mouse button is held down. Right. Mouse button is essentially the activator to move the camera around. And if you want to go up or down, you use E to go up and Q to go down. So WASD E and Q while still holding the right mouse button, we can control the speed of our camera by coming up here. And a top right hand corner and clicking on the camera speed button right now. By default, it's set to four. We can set this to something. Let's go really small like one. And now we're just inching around. Or we could do something ridiculous like eight and fly super far away. So I'm going to set my speed back to four. And oftentimes you will find yourself lost. Uh-oh like where's the bulk of my creations? Where's the rest of the world? Well, that is absolutely fine. What we can do is jump back to any of our objects in the world, outliner. So I get to select the floor and press the F key to snap to that object's location. This is called focusing, so let's say, if I want to focus on the statue right here, I could just click it and press F to snap to that statue. Likewise, an alternative is to double click on an object so far, really far away instead of pressing after focus. I can double click on that object in the world outliner to also snap to it. The shortcut to changing your camera speed on the fly is to hold down the right mouse button, of course, and use the scroll wheel. So right mouse button. Scroll wheel up will make the camera faster or right mouse button. Scroll wheel down will make the camera even slower, which is just an alternative to clicking on the button up here. Now, at this point, you know how to navigate in Unreal is just the WASD keys and E to go up and Q to go down. But what if you want to navigate the way you do in Blender by pivoting and rotate around an object? Well, we could do that by first focusing on objects. So let's select this table, press f. And then I want to hold down the alt key and the left mouse button. So the alt left mouse, but at the same time, move your mouse. And we can see now we're rotating, pivoting around to object. Just like how we would do by default in blender. And if I hold down the alt key again and hold down the right mouse button, we can see I can zoom in and out. So alt right. Mouse button. Zoom in and out. Alt left to pivot around. Let's select an object like this chair. Press F focus on it. Hold down ALT left mouse button pivot around and alt right mouse button to zoom in and out. So you do have some options of navigating in Unreal. And I tend to alternate between the two depending on what I need. Now that we know how to navigate, our world is important to go over the different viewport options of our 3D world before we jump into moving around objects. So first off, you might be wondering, how do I go into orthographic view mode just like a blender? Well, up here we have perspective and we can see we have all different orthographic viewpoints. So I can look out from a top perspective and by default Unreal will automatically put us in a wireframe mode. But on my wife remote, I could change that. So right here, let's just do let's. Or we can click on top. Go from the left. Right bottom. Essentially, we have everything you would expect. It is a little bit glitchy right now that is expected since Unreal Engine Five is currently in early access But the controls for our orthographic view mode is a hold on the right mouse button to pan and use a scroll wheel to zoom in and out. So scroll wheel, zoom, right. Mouse button pen. Pretty simple. And if we ever want to get out of our orthographically mode, of course we can click right here and click perspective . But notice for a lot of these settings, we have a shortcut right here next to it. So it looks like a shortcut for perspective is ALT and G so that means if we press ALT G that will automatically bring me into perspective. So that's pretty nice. Now, one of the shortcuts I'm going to use often is the G key. That's because if we click right here on these three lines to get some more settings, we can see that we have game view. Essentially, game view will allow us to see what the actual player or render or animation will see, because, of course, if we're going to render out the scene, then you wouldn't expect us to see the sun widget right here, which represents our sun value. Instead, you would expect to see. Let's go back into your settings, click on Game View to activate it. Something like this. So just gets rid of all those widgets. And the shortcut is G. It also gets rid of hopefully you could see it this grid right here. So pressing G, no grid, no more widgets. This is what our player or animation would see. So just know subconsciously I'm going to be pressing the G key a lot just to go back and forth for my game view to editing view. Now, let's come up here to lit and we can see we have a bunch of view modes are great for debugging. Let's say maybe, you know, something's wrong with the lighting. Then we could click on detail lighting only in see exactly what the issue is. We get even see our wire frames or what the scene looks completely unlet. So just look at our base colors. And we will see that we do have some shortcuts. So the default lighting is alt 4 to get back to lit view mode. But we can do alt three to go to unlit, alt 2 wireframe and so forth. Now, we're going to go over exposure in just a bit. So hang in there. But right next to it are the show flags. So show flag essentially allows us to turn on and off different rendering properties. So maybe you don't want to see this grid right here. I'm going to press a G to toggle off game view mode to see our grid. I can click on show and right here for Grid, I could turn it off just like that. So oftentimes, if you're in unreal engine and maybe you don't see fog or maybe your landscape isn't showing up. Make sure they aren't deactivated in the show flags. And youcan always bring back our default show flags by clicking on use defaults just like that. And finally, what if you want a better view of your viewport? Well, you get a little bit more real estate by pressing F 10. If you do have F10 on your keyboard, which will then collapse the windows on the side right here. So maybe I don't want my world outliner or details. I just want to focus on this middle window pressin F10, move everything aside. And now, if I want my details panel again, I can just click on details and then click away and we can see those windows automatically go away. So that's a pretty neat feature. It's kind of like pressing ctrl space. but four other windows and less press F10 to bring those back. If I want to go full screen, then that's what F 11 is for. So now we have a full screen view and pressing F11, again, go out to full screen, now is finally, finally time to go over how we can move and create objects . So this is going to be really fun. Let's zoom in on this chair right here and maybe make the details just a little bit bigger. And to move objects, all you have to do is select on that object and you should see a pivot. Now, right now, the default pivot is on the move. Now, if you don't see move, you want to come up here and you want to make sure you select translates. So now that we have this pivot, you can probably guess what each arrow does. I can move it on the X axis. Move it on the Y axis and Z axis. Another thing I can do is hover my mouse over this square in between the Y and X arrows and lock it on that axis, completely ignoring the Z axis. So I can even move it on to different axes separate from each other. But by default, when you do open up an unreal engine project, you'll notice that snapping is turned on. So up here, we can see it's set to ten. That means it's snapping every 10 centimeters. Now, if we want to snap every meter, then we're going to change it from 10 centimeters to 100. Now we can see that my grid even got bigger. And I'm moving it every one meter. If I don't even want any snapping, then I can select this button right here. Turn that whites. And we get a smooth translation. And our grid is a little bit too big. So let's move that back to 10. It is pretty important to know that Unreal goes by centimeters. So one unreal unit is one centimeter. For example, this chair right now, if we look at its location on the X axis, it's at negative 54. That means it's negative 54 centimeters away from the world origin points. And in fact, you can measure objects by going into orthographic view mode. So let's go left and zoom in on this chair. I'm going to hold down the middle mouse button. And with a middle mouse button held down, we get this ruler. I could come down and we can see that this chair is exactly a hundred and twenty centimeters tall. Or one point two meters. So that's translation. What about rotation? Well, coming up to here right next, the translation tool. We have the rotation, so we select the right there. And now we can see that. I can rotate it along all the different axes. And it's right now snapping every 10 degrees. We can, of course, just like beforehand, turn off snapping by coming up here and making that icon white. And we can change the snapping degrees. So instead of snapping every 10 We could even do 45 or 90. And now. We have a very smooth rotation's sp press ctrl and Z to undo those. And finally, we have scale. So Scale Tool is right next to rotation. And of course, as you can guess, we can scale it and it looks like it is snapping by default. So we can turnoff snapping by coming up to this icon and clicking it. So now we get smooth scaling, I could scale it on different individual axes or I can scale it on all the axes by hover my mouse over the white box in the middle. And now we are uniformly scaling. So lets press control and Z and the shortcuts, if we hover our mouse over any of these tools, we can see that translation is W. Rotation is E. And scaling is R. So W to move. E to rotate and R to scale. It is going to be a while until you get used to it switching in between these different pivots. But eventually you will and it will be pretty fast. So once again, that's W to move E to rotate. And R to scale uniformly. So press control and Z if you ever forget what a shortcut is for one of these buttons. Just hover your mouse over them and Unreal will tell you now what if we want to move an object on its local axis, then I'm going to come here and instead of the globe for global axis, we can switch it to local space so we can see, especially if I have the translation pivot turned on that when I switch it between the two right here were moving in the world X axis. Clicking the button. We are now moving in the direction of the chair. So just like in Blender, we can switch in between global space and local space. If you ever want to create a new object, then we could come up to create and drag in some simple objects like a cone, or we can even drag in lights right here. So drag and a point light. And now we have a new light source. I must select my light. Delete it. Select the cone and let's delete it. Now, what if you want to create an object from your content browser? Well, press control space to bring up our content browser. And let's navigate to props and within props, let's drag out SM underscore couch. And we can see we just brought in a brand new mesh and maybe let's try decorate this more. let's add in SM underscore lamp ceiling. But we don't have a ceiling. So let's turn this around. Rotate it. That's how it looks like a torch. Press E to bring up rotation. And we could rotate this to try to get to a hundred and eighty degrees or press control Z. We can make sure that we're rotated at exactly 180 degrees by locking it to 90 degrees and turning on snappin. So now when I do move, it snaps every 90 degrees. And let's try to move this down so I can try to guesstimate. That's how the vertices are just hitting the floor. Or if I want to snap an object down to the floor or whatever object is below it, I can hit the END key. So the and key on my keyboard. So I'll click on END and that will snap it down. Have said that before. A lot of people get confused. I think it's the "n" (IT IS END), but it's the end the end key. So make sure you are pressing the right one. And maybe press are and just scale this up just a bit. Now, at this point, I want another lamp that's of the same rotation and scale. So what I could do is open up my content browser, drag in another lamp, rotate, scale it and so on. Or we can just duplicate this lamp right here. So to duplicate, it's pretty simple. You just press control C, control V. Nothing really happens right now. That's because there are two lamps overlapping each other. If we drag, we can see that we had two of them. Now a shortcut that so we don't have to press control C and control V again is control and W, so control W will copy and paste in place. And now we have another lamp that way. But personally, the way I like to duplicate objects is pretty unique. Essentially, we want to click on our object and hold down alt. So with alt held down now, we can drag from any of these arrows in translation mode and we can see that we get a new one. So let go of alt and left mouse button, hold down alt again and drag again to duplicates. So there are three ways to duplicate an object. You can go control C, control V, control W or just hold on alt and drag. So let's delete these lamps. I think I'm going to leave one in my level and or let's create a long table so I am going to delete thisthis couch and also delete that chair right there. So let's grab that chair. Hold on alt and duplicate it e and rotate it. OK, we still have nine degrees. So I want to turn off snapping and we can select multiple objects by holding down SHIFT So with one object selected, hold on shift and select another one. If you ever want to deselect an object, you can hold down CTRL and click like that. So hold down shift to select multiple objects, hold on control to deselect multiple objects. So let's hold down shift lets select that one right there. And we will duplicate it by holding out alt and dragging in between each duplication. I start holding down the alt and left mouse button, and then when I want to duplicate again, I hold down alt and left mouse button again. So you have to take your hand off the keyboard to keep on duplicating. I've rotated these chairs, I so they're facing the middle. And let's grab this table, scale it with R rotate with E And position it in the middle just a bit. W to move the statue, R let's make this statue just a little bit bigger by scaling uniformly. And let's select these lamps right here. Let's move it. That's how there's one right there, and a lot of these editor widgets are really getting my way right now, so I'm g to hide those and go into game view Hold down ALT duplicate those lamps shifts, select multiple, hold out altogether and simply drag them across my level. So here's a nice tip. Whenever you're dragging an object using the translation widget, you can hold down shift while dragging to lock your camera. So maybe if you want to drag an object really far away, it's outside the camera view. Just hold on. Shift to lock camera. And this is something I do all the time when creating my levels. And finally, one last adjustments. Let's rotate these chairs right here just a bit with E That's how they are facing the table, maybe move this one a little bit and also rotate these. So congratulations, you made your first level in Unreal Engine five. And honestly, this scene is not that good, but if you do want to save level, we can press control and S, but controllers will only save the map. You're opened if you're editing multiple assets. Make sure you go to content, drawer and click on Save All. Now, there's nothing to save all. But if you did change multiple assets, they'll ask you to confirm that. Save it, just click. Yes. So probably while editing your map, you've probably noticed something weird with the camera, and that is it gets brighter and darker. For example, if we come down here underneath this table and if we look at the shadow, Our scene gets brighter and brighter and brighter. But as soon as we go away, our scene gets darker. That's because unreal engine has auto exposure turned on by default. And auto exposure is pretty unique in that it tries to mimic the way the human eyes work. So the human eye will get brighter or darker. Your pupils will dilate depending on how much light is hitting it. I know that might have sounded a bit complicated, but we will go over an example, in just a bit. Now, Blender does have exposure. We can see it right here under rendering settings, color management. We could play with the exposure value there. We see our scene gets brighter and brighter, brighter or we can make it get darker and darker and darker. And so it's almost pitch black. But Blender does not have automatic exposure. And quite frankly, when I am editing, in Unreal automatic exposure can be really annoying. But before we turn it off, let's go over why exposure can be helpful in some circumstances. Now, I'm going to make a major change in my map. But before I do so, sometimes I like to duplicate my map just to make a copy. So let's get to maps. And right now, we're on minimal underscore default. We know we are, because up here says minable, underscore default. We can select any map and press control C and control V to duplicate that or the shortcut, just like in our viewport with get press control and W to copy and paste in place. And let's call this one exposure map just like that and duplicate. Let's save selected. And now we are editing a new map, we are editing the map we just copied called exposure. So first off, we get this warning, saying reflection Captors need to be rebuilt. We will go over reflections in the lightning chapter. But for now, I don't need them. So select these orbs and delete them. Now let's selected a tile here, delete its. And I'm going to grab this floor, press R to scale. And I only want to scale it in the Y and X axis, so I'm going to hover over that line and simply scale it up like this. And also, let's scale it's just in the X. lets add in some walls so go to create shapes Cube drag the cube in there like this and I will scale it along the Y. Get rid of these editor widget's with G. Because those are annoying. And this make a pretty thin wall. Duplicate this with Alt's on the other side. And obviously, this isn't perfect because I'm just trying to demonstrate why auto exposure is pretty useful. Hold on, alt, again. Want to rotate this 90 degrees, so turn on snappin. Make sure 90 degrees is selected. And now we just snap to 90 degrees like that. so move that wall there. And hold on, Alt. Duplicates. Let's make a really crappy door. Hold on, hold and drag from here to duplicate it. Let's hold down alt again. Drag it up like this and rotate that 90 degrees. So we have a little door. And finally hold down alt duplicate it, rotated 90 degrees. And let's cover up this area, so I'm going to scale it up. And move it. Until we are completely covering up this roof and the only sunlight is coming from the door right there. And now we see a perfect example of why auto exposure is amazing. So here we're in a room and you know, it looks pretty nice. It looks realistic. Come outside. Notice how the outdoors is no longer white. Our camera gets darker so we can see outdoors. And if we try to look into our room, our room seems pretty dark. But that's actually physically accurate, because when I come inside our pupil's dilate, we let in more lights. And the room gets brighter. That's how we can actually see what we're working on. And this is just like in real life where if you're in a dark room all day, you hop outside into the bright lights. You can feel your pupils getting smaller to take in less light. so you can see more detail And you're not blinded. This is why Unreal has auto exposure. It can be confusing for Blender users. Sends a blender, not have that. But we want to turn off. We could come up to let's go down a game settings uncheck that and we have this slider on our game settings. If we bring it down, our screen gets brighter or if we bring up, our screen gets darker. So this is just a manual way to control our exposure. So let's go to zero. But there is one issue, and that is if I press play, actually, let's move our player start. Thats how it is outside. Now, if I press play, we could see that auto exposure is still on by default. And that's because when we do change the exposure within our view modes. That's only changing the exposure for us, the editors, us, the people using our unreal engine. If we do render out an animation or we play a game, then auto exposure will still be turned on. The way we turn off auto exposure is by adding a post-process volume. So there's going to be something new. but lets come to create volumes. And let's find the post-process volume all the way down here and drag it out. We can see exactly what it is. It's just a cube. I need increases, post-process volume. That's how it encompasses my entire level or wherever my camera is. And let's move that up. Now, within the post-process volume and with it selected in the details, panel, let's control the exposure within the dropdown for exposure. Instead of auto exposure histogram, I want to click on this and said to manual. We also need to make sure that it is selected right here and turned on. Now, notice when we do play with the exposure in the post process volume, nothing is happening. That's because we have exposure in the post-process volume turned off within our view modes. So make sure game settings is turned on. And now when I play with the exposure conversation, we can see that change. And we'll just make it really bright, for example. Let's go to 14. Press play. We can see that our post-process volume is affecting our players point of view. And if we do render this out as animation is going to use the exposure from our post-process. So let's leave it at 10 for now. Know that our post-process volume is only affecting the area that's within this cube. As soon as they come out, we can see that our exposure goes away. And I think a better representation for this is if we scroll down, we could even play with some color, great options, maybe go to global saturation and turn this saturation down from one all the way to zero. Make it black and white feels pretty vintage now. And if we come out, we can see that there is such a harsh transition outside the post-process volume. As soon as we go inside, it's our post-processing takes effect. Now, if you want your post-process volume to effect your entire world so it doesn't matter whether or not you're inside or outside of it and come all the way down here and make sure that infinite extent unbound is turned on. So we will be using post-process volumes a lot throughout the duration of this tutorial. Post-Process volumes are absolutely great for handling a lot of the settings of your camera. So let's come up here and I'm going to uncheck saturation because we don't need that. And another thing the post-process volume handles is our render settings. So if you come in here, hopefully you can see it through the YouTube compression, but there is a lot of noise on this wall. Well, we could go into post-process volume. And under Lumen, global lumination increases from one to four. And that noise is completely gone. We will go over what some of these settings are within the lighting chapter. But for now, let's go over materials. So let's press control and space and create a new map. But first, let's create a folder where we're going to store all of our custom assets by. Right. Clicking on content, new folder. And I'm I call this one my stuff. And within here, I'm going to right click, create another folder and call this one maps. We're going to see on our content we have a folder called My Stuff. And my stuff is a folder called Maps. Now, under maps, we could create a level by right clicking and selecting level, but that will give us a blank level . If we want to level from one of urneal's templates, we need to come up to file new level and we get like a template. I want to select our day. Let's save this map. And we just created our first level from scratch. But it's not saved anywhere right now because we just created you need to press controll and s select a location to save it. I want to go to my stuff maps and just call this one material map and press save. We don't need this player star right here since we aren't making a game. This is just a demonstration on materials, esthetic messages, and we don't need the text right here. So select those deleted. And auto exposure can be a little bit annoying. So we're going to turn it off with a post-process volume just like beforehand, drag out a post-process volume. Scroll down, make sure infinite extent unbound is turned on so we don't have to be inside the post-process volume for it to take effect. And up here, let's go to manual exposure for exposure. Compensation. Ten. Well, let's leave out a value of 13. Now it is finally time to go over materials, so adding a material to a 3-D object is pretty easy. Luckily for us, our star contact comes with some materials. So our starter content. Let's click on materials and we can see we have a bunch of materials to select from. Let's say if I want to add this grass right here to the ground, then all I have to do is left mouse button. Hold. Drag it and let go. Now we have some nice grass. And let's move that this object into the middle. And maybe I want this object to be. Let's try brick clay left mousebutton and hold and drag it onto it just like that. And we could even see that. We do have some material slots in the details, panel. So let's make this a little bit bigger. Scroll down a bit. We do not have to drag this onto the 3D object. We can also drag it onto these slots. And when we are holding a material. We can see that the slots turn to indicates that I can simply hover over and let go to drop a material on that way. Notice how this object selected has two material slots, one for the outside and one for the inside. And this match right here only has one material slot. So multiple materials can be on one static mesh if they are set up that way. So lets press control and Z. And I think I'm going to decrease the brightness of my post-process volume. So let's go twelve point five, actually. Let's go twelve point seven. All right. That looks good. And finally, we're going to come to content draw. Let's create a new folder under my stuffs as my stuff is where all our custom assets are going to go. Call this folder materials. And finally, let's create our first custom asset to create an asset. All you have to do is right click anywhere within our content browser, make sure you're in the correct folder and simply come up here and select material. This will create a new material is going to ask us to name it. Let's call this one first material. And save so we can drag this onto an object right here, and I was just using unrealized default material, but we can edit it by simply double clicking on material and that will bring up the material editor. So right now, our window is on top of our graph. Something we can do is left mouse button hold Hold on this tab. And we can cock to tab up here. That's how we can switch in between our main map view and then our editor view. You can also left the mouse button hold to un dock it. And if you have multiple screens. Sometimes I like to just move my window off to the side on another screen. But for our purposes, I'm just going to leave it docked and I'm going to switch in between them. Essentially, the entire point of the material editor is to create a bunch of nodes that will feed into this output. You might be wondering right now why Unreal's shader looks kind of similar to Blender's principle shader. And that's because Blender's principle shader is partially based off of Unreal's materials. And if we compare both shader side by side, we can see a lot of the inputs are the same, like base color, metallic specular roughness and normal. But there are a lot of inputs that don't match up. Exactly. Well, that's fine, because if you ever made a lot of materials in Blender, then you would know that for 90 percent of materials, we are only going to use our base color, metallic roughness and normal inputs. And this is the exact same case in Unreal. Here we are back within our material graph, and the controls for material graph are pretty simple. You hold down the right mouse button a pan and you use a scroll wheel to zoom in and out. So. Right, mouse button. Scroll wheel. Pretty similar to orthographic view modes within our viewport. So how do we get a node? Well, you can drag a node from the pallet over here. So just click our palettes and we get access to all the different nodes we can use. But generally, I don't grab my nodes from the pallet. Instead, I right click on an empty spot on my graph. And here I can just type in a node. So one note we're going to be using often is the constant node. A constant node is pretty self-explanatory. It's just a number value. So if we're going to plug it up to roughness and we have a value of zero, then we can see that we're completely shiny. And if we bring it up to one, then we are completely rough. So let's do a middle ground of zero point five for now. And another node we're going to be using often is the color node. But notice if you right click type in color and we do get some options, but none of them are the traditional RGB color. Instead, we also need to type in constant and click on three vector. So constant three vector will be three different constant values. And these three different values represent R, G and B. So we could plug up the base color like this and change the color. You want to click on the color in the details panel, or you can double click on the actual node. So let's find a value and notice that when I do move this around, our color isn't actually changing that because we need to bring our value up from zero up to one. So we can do right here with the value slider. Or we could even use this slider right here. So let's try to pick a value, maybe blueish. And this is very important. You can't just exit out. You need to make sure to press, OK, to save that color change. Our materials looking nice to see it press apply and jump back into the level. Congratulations. You just created your first material in Unreal Engine. But what if we don't like this material and we do want to make a change. Well, let's come to a first material and let's bring down this roughness to maybe zero point two make it a little bit shinier. And for this base color, I'm going to double click on the node to change it. Let's make this an even deeper blue. Make sure you press OK for that color change to be saved. And now if I jump back to the level, we will see that actually there was no change. That's because in order for a change to take effect, you need to make sure you're in your material graph. And press apply. So now is when I press apply and jump back. Now we do see that material. And that's pretty unfortunate because our materials are not real time. And that kind of defeats the purpose of using Unreal Engine since we're using it to get some high quality visuals at 60 frames per second. But we can make this real time. So in order to make a property real time where we can change it without having to press apply, when you come into first material, right click on a property, you want to make real time and click on convert to parameter. Now, it is going to ask us to name this parameter. Let's call it color. And let's also right click right here, convert to parameter, and I'm going to call this one roughness. So press enter. And press apply, essentially apply, compiles our materials and makes it ready for our level. So nothing really right now happened. But when we do make a change. So let's try and make this a little bit pink. We're not going to press apply if we jump into materials. We can see that that change did take effect. But what if we want multiple variations of this specific material? So maybe we want a blue version or version that's more rough. Well, we could do that with material instances. So for press control and space, I can right click on any material and simply create material instance at the very top right here. So let's call this one. Actually, let's just leave it as is. So this one is first material underscore instance. And now notice when I double click on it, we have access to those parameters we just created. So when we write, click on a note and turn into a parameter, this allows us to be able to edit it within a material instance. So let's go back into first material. Let's make the color right here. Just whites, so R, G and B should be one, one, one, and maybe bring down the value thats how it is not pure white So zero point seven for the value and press OK, so let's apply. Save and now we can see we have a basic white material. This is our parent material. And let's hold down alt and drag the material instance onto this object. So control space, drag that material instance there. Right now, we haven't made any changes, but within the material instance window, which was right here, we can see that I'm able to grab that color and notice I wanted to change it. It changes in real time. So this is very helpful in that we can see exactly what we're doing. We don't have to wait for anything to compile and press. OK. So let's go roughness. Make this even shinier with zero or bring it up to one. Now it's pretty rough. It almost looks like cloth. So let's expose another parameter. And that is metallic. So got a first material. Now I could right click and type in constants and press enter to bring in a new constant value. Or I can hold down the one key and left click. So 1 left click will bring in a constant one and hold down three and left click in. We'll bring in a constant three vector, which is our color. So select these two delete them. And right here, let's hook it up to metalic. And of course, if I press apply, jump back into our level we can see that our material instance didn't change. We don't have access to that metallic value because we have to make it a parameter. So come to first material. Right click convert to parameter and let's call one metalic press apply. And now jumping back into materials, we have our metallic right here, so we could bring this from zero to one. We really didn't notice a change, so maybe roughness should be 0.2 And now we do notice that change This looks very nice. It almost looks like a car. And as we bring down the metallic, we can see it going from zero all the way back up to one. Notice how I'm able to hold down my left mouse button and slide my mouse to change our value. But when we go above one, nothing happens. And when we go below zero, nothing happens. That's because just like a blender, metallic and roughness inputs only take a value in between zero and one. And to make it easier for us, that's how when we slide it, it clamps from zero to one within our first material. Let's select actually, let's go organize it just a bit so we don't have crossing wires, select or metallic and slider min leave it at zero slider max. Maybe leave that one for our roughness to the same exact thing. So leave it at zero. And for Max is one press supply. Go back into material. And now within our material instance, we're able to safely slide between zero and one. And it is in real time, which is absolutely amazing. Let's hold down alt. Move this around and create a new material instance. So right click on our main material, create material instance. Let's drag that one right there. Open up our brand new material instance and make this maybe an orangey color. Do a bright orange, make sure to press OK And notice how I need to make sure that the parameter is turned on. If I turn this off, then I'm telling on real that I don't want to override that parameter. So make sure it's turned on same thing with metallic and roughness and let's leave this at zero, but maybe bring up the roughness just a bit at zero point six. So let's get out. We made a lot of changes to our projects and created some custom assets. So press control and space make sure you save everything so save all Before we move on to creating more advanced materials and recreating our materials from Blender. Let's rename these assets. So press control space and to rename you need to right click and simply click on rename or the shortcut is AF2, just like on Windows. So we're going to rename this one to M underscore basic material and let's call this one right here. So press F2 to rename M I for material instance, underscore basic, underscore purple and maybe right here call this one am I underscore basic underscore orange. There's no specific reasons why I start off my materials with underscore or my material instances with I underscore. Other than it is just convention It's what the unreal engine community uses. And generally, when you open up a project, it's going to follow some naming conventions. But this is your program, so feel free to use whatever you want. Next up in this video, we're going to go over how we can import blender assets into unreal engine. But before we can do that, you need to add some special assets I created for this course link in the description below. You can download it completely for free. Also included within those assets are some tools we're going to use at the very end of this video when we create the monkey shrine environment. So once you have those downloaded, you want to unzip the folder and grab all the folders in there and drag them onto our desktop for easy access. And when they've been unzipped, we're specifically going to go in over the folder that says Blender to unreal assets for now. So double click on this and we see that we have a blender project and some textures that that blender project is linking to open of the blender project. And we can see that it is pretty simple. All there is is a chair in the middle and a little plane right at the bottom. Essentially what we're going to be doing is we're going to go through the process of bringing over this material and bringing over this object for use in unreal engine. So there's going to be pretty fun. Now, let's go over the process of recreating the Spanish pavement material in Unreal. Now, if you increase the size of this, we can see exactly where Spanish paving material is. This is just a really simple standard blend of material that's been fed into the principle BDF. We have our base color, our roughness and our normal, which is pretty much what you need for 90 percent of materials. And we also have the functionality to control the scale right here to make that texture bigger or smaller. So to begin, let's go back into Unreal Engine. And luckily for us, we have the textures ready to go since our Blender file is linked to them. It is right here. Spanish pavement underscore normal roughness and base color. So to import a texture, we first need to make sure that our content browser is dockland layouts, because if it's not, it's kind of hard to drag it in. And let's create a new folder called One Textures. And simply highlight the textures we want to import and drag it in just like this and let go. So now we can see automatically they're in our file, make sure to save everything. That's how if our unreal engine crashes, we don't lose those textures. And those are the bar right here says Spanish pavement has been imported as a normal map. That's because unreal is smart enough to say, hey, look at this texture right here and you could double click on it to open up the texture editor. This kind of looks like a normal map. So we're going to set it up as a normal map. So right here, it already sent our compression settings to normal map and the texture group to world normal map. Now, the texture group does not have to be world normal map. But you want to make sure compression settings is set to normal map. And SRGB is unchecked because this isn't a color texture. So let's double check and make sure our base color is OK. And it looks like right here SRGB is turned on. That is exactly what we want, because this is a color texture. And if we go into our spanish pavement roughness, we could see as hard to be as turned on. That's exactly what we don't want to happen. We need to uncheck it. So on checking it, just tell you, unreal. Hey, this texture should be used as a mask, which is very similar to if we jump back into a blender. Notice how for my Spanish payment roughness, we select non color. And for our normal map, we also select non color for color space. Essentially, what color is the exact same thing of unchecking SRGB in Unreal Engine So let's come back here. And in materials right click let's create a new material call it m underscore Spanish pavement's and double click to go in a Spanish payments format. Let's exit out of all these assets by just pressing the middle mouse button and press control and space to bring back that content browser. So we just select these three textures by holding down shift and select Spanish payments. Left mouse button, drag and let go. Now we have these three textures ready to go. We can see our color set to color and our Spanish payment is set to linear color, which is exactly what we want. And our normal is, of course, set to normal. As you can guess, just like in Blender, we're going to hook up the color to color and our roughness, a roughness and our normal to normal. All right, the texture is starting to look pretty nice, let's press supply. Drag it onto the floor. As you can guess by just looking at it our Spanish pavement is tiling way too much. So let's jump back into our material. And let's recreate the functionality of the mapping node from Blender. So essentially the mapping out allows us to just scale or tiling. We need that in. Unreal. So jumping into unreal. Unfortunately, there is no direct mapping nodein unreal. We're going to have to recreate that functionality. So firstly, when you're right, click and bring in a texture coordinate node. Press enter. bring it in right here. So this essentially is our UV map. Now, in order tile, we need to scale whatever's coming out of this. So we could right click type and multiply to bring in a multiply node or as a shortcut. I could hold down the M key for multiply and a left click to bring in like that, because Unreal's smart enough to know that you're probably going to want to multiply a lot of different things when you're making your shaders. So hook it up right there. And I'm going to hold down one and left click to bring in a constant vector. Let's hook it up right there. And we're going to make this a parameter that's already well edit in real time. So convert to parameter and call this one tile. Now, default value will probably have to be one because if it's zero, then there won't be any tiling, it'll just be a solid color, which defeats the purpose of textures. And we're going to hook it up just like this into its UVs. An endless supply. Save. And we're going to create a material instance. That's how we get access to that slider. So right click, create material instance and let's drag the Spanish pavement material instance. Remember naming conventions instead of having this underscore inst. Let's make this my underscore Spanish payments. MI for material instance, to double check that that We do have the correct material on the floor. Click on the floor. And it looks like we do have M underscore Spanish payments. Double click on this material instance. We're going to on. Make this a little bit bigger. That's how we can actually see our edits press tile. And now I'm able to change the scale of this. So let's break this down. Maybe two. Let's go to zero point five. And now are scaling is looking a lot better. But we do have a major issue and maybe you're able to see it, and that is let's go real quickly, add in a temporary point light bring it right there. And now if we look at the direction of our point lights. Our normals or shadows are completely inverted. It looks like the concrete is coming out of the brick winter concrete should be coming into the brick. And that's because of blender. Normal maps are different from unreal engine. Normal maps and blendr are open G.L. while normal maps and unreal engine are direct x. So we need to convert our blender, our normal maps into direct X normal maps. And that could be an hassle. We're going to have to open up such a designer or some other programmer that invert the Y axis. But unreal is smart enough to realize that there will be an issue that comes up. So instead, we could just open up the normal map. And down here within the advanced sections of clicking on this arrow and tecture, we can select Flip Green Channel, Flip Green Channel will convert an open GL map into a direct X map. Let's save. And now if we jump into our level, our payment is now coming out of the floor, which is exactly what we're looking for . And we get delete our light now. We'll take away is our bolinder uses open G.L. normal maps and on real uses direct X. If you import an open GL, normal map into unreal. Then make sure you flip the green channel. We've added some other features of the mapping node. But unfortunately for us, the mapping out has even more features where we're able to tile it on a specific axis. So maybe make it stretch larger in the Y axis. And we're even able to change its location and move around to get the texture in the spot where we exactly want it. So we're going to have to recreate that again in Unreal. Jumping back into our Spash payments. Let's first work on the different tilings. So instead of just plugging in a parameter into multiply, we're going to duplicate this. So press control and w to duplicate a node. And let's call this one up here, tile X and down here, call us one tile Y. Now we're going to open this. So drag from it and simply type append vector. Hook up tile Y and plug it up to multiply just like that. So now we've divided that one parameter into two different parameters, and using an append will essentially create a two vector and as two vector will be multiplied and effect each U and V axis separate from each other, pressing apply jumping into a material map. And here we have tile X. Click on the arrow to reset. Now we can see them all stretching the X axis or stretch it in the Y axis. Now let's go over how we can offset this texture. So let's jump into Spanish payments. And instead of a multiply, we're going to be using an addition, the right click type and add recentre. And let's hook it up right here. We're going to create another parameter. Now, I could create that parameter by holding that one and left clicking right click over the parameter or I can hold down the key for scalar s and left click. So as left clicking will automatically create a scalar parameter for us. And I'm going to call this one offset X. Press control and W to duplicate that call, this one offset. Y do the same thing By dragging out here using an pen node to create a two vector Hook it up like this. And plug it up just like that. So it apply, we now have the ability to move. Our Texture around. So maybe I can move it along the X. Or we can move it along the Y. So we've essentially recreated a blender mapping node in Unreal by doing just a little bit of vector math and finally to complete this material. Let's add in the normal map strength So in Blender, all you have to do is increase its normal map to increase that strength or bring it down to decrease it all the way to zero where there is no strength. And in Unreal, we could do something similar by right clicking and type in in Flatten normal. So press enter. And we did hook it up like this. So normal goes into normal inputs. Result goes in a normal and flatness. It's just going to ask for scalar parameter. So hold on. As we left, click. Call this one normal lattice and we're going to leave it at zero. Plug it up like this. press apply. And now within our level with our material instance, check normal flatness and notice. Let's go. Kind of like an angle. When I increase that, it gets lower and lower and lower all the way to one where basically turns off. But if we move this into the negative so negative to negative three, negative one and so on, we can drastically increase our normal maps strength. So pressing zero at this point, we basically remade a very simple Blender material in unreal engine. So we have all this nice functionality where we're able to increase its normal's move that texture around. Or tile that texture in different UV axes. If we want some more artistic control, then we can add the ability to tint the albedo color. So let's jump in panish pavement And right here I would hold on and left click that in a multiply and hold down three and left click to add in a color. That's right. Click the convert to parameter. Call this one colored tint. And for the value we're going to increase this all the way to one. So by default, it's not tinting anything. And plug this into base color press apply, and there is no change because it's white. But as soon as we edit that tint, maybe make it just a little bit more reddish, we're able to very slightly change our color and give our texture a different feel. So that's one thing I'd like to do with a lot of mymaterials, is just add in the small content to give me some more control. Another thing we could do is right click on my textures and go to convert to parameter. So now I am going to call this one color texture and notice. Now, after a press apply within our material instance, we get access to that texture. And we could swap out this texture with something else. So lets do the same thing right here. Right click convert to parameter call this one roughness and a right click convert to parameter. Call this one normal texture. And actually, we're going to hold this one up here, roughness tecture. Press apply And essentially what we just created is a master material. So not only does it have to be spanish payment. But if we have another albedo normal and roughness texture, we just swap them in and we get access to all these controls and tint functionality without having to recreate a new material, saving us a lot of time. Also, most of the time, some materials might have a metallic so to make this a complete master of material. Press control and w to duplicate this. And instead of a roughness texture, let's call this one metallic. Hooked up theUVs, and sometimes we use a metallic texture. Sometimes we don't use a metallic texture like right now on the Spanish fragment, there is no metallic. I'm going to give us the ability to turn on and off a metallic channel by right clicking. Let's go type in static switch parameter. Select the right. There is metallic questionmark. And by default, it's going to be false. So if it is not metallic, then of course, we're going to use Unreal's default metallic. Same thing with Blender's default metallic. And that as a one, a left click, a value of zero for no metallic. But if it is, then we are going to be using that metallic texture. So plug it up to true and hook it up to metallic like that. We didn't notice a change because metalic isn't activated. What within my material parameter If I turn this on and set to true, we can see that now we have a new texture. That would take a metallic map if we are going to be using any now. our material no longer really functions the same purpose as Spanish payment. So I'm going to rename that material. let's jump back into materials right here. Right click, rename and call this one M underscore master material and master material is essentially the base from which a lot of materials will be created. We will go over what that means and an example in just a bit. But for now, let's fix our material instance. Obviously need turn off metallic, since this is payment on uncheck it and we set everything back to his default values offset X offset offset Y default values are zero by clicking on the arrows. And for our tiling, it was one. But that's a little bit too much tilings. So maybe only tile zero point two. at zero point two that is pretty neat We can leave it as is. Let's save and exit. Don't forget to save everything, because we have made a lot of changes so far by just selecting save all and save selected. Now we're going to go over the fun stuff, and that is how to export your 3-D objects in Blender and bring them into Unreal Engine. So this is a pretty big deal. And it is important to know that 3D models and a unreal engine that aren't deforming are called static measures. So whenever I say static mesh, just know, I mean a 3D model. So whenever you import an FBI or an OBJ into a unreal engine, it's going to be imported as a static mesh. So before we begin, you want to open up the blender project that's included in the downloadable files before exporting out a blender object. There are a couple of things we need to handle. So, number one, make sure your object is in the middle of your world. So you want your object to be somewhat near the world origin point, because it is a world origin point from which the pivot of our static mesh in Unreal will be. Another thing we want to do is make sure that the scale is correct. So let's go to orthographic viewmode press shift a and add in a cube. So Blender's Cube by default is two meters by two meters. So let's move this cube up. And we can see that this chair is about a meter tall. That seems OK. So let's delete it. And another thing we're going to do is make sure that our normals are facing the correct direction. So you can see where your normals are facing by coming up here and clicking on face orientation. You want to make sure that everything is blue. If something is not blue, then select everything and press shift, then to see if it's going to fix it, if it doesn't fix it, that you want to select the affected faces . And then that type and flip to flip those normal's. So right now we can see that these normal's are not facing outward. They're facing inwards. And that means that these faces will not render in unreal engine five. So that's no good. Select everything, press shift N to recalculate. And that did fix it another thing we need to do is press control and to apply rotation and scale, because otherwise our transformations can be a little bit messed up when we do export it. Let's get out of face orientation real quickly. Let's go over this material graph. It's pretty simple. We have an albedo color, metallic roughness and normal, but we also have a color mask. And it's color mask is pretty fun because it allows us to change the color of our chairs plastic. And we will create that functionality within unreal. So with all of that being said, I think it's time to export out this object. So explain our object. You want to make sure that you have that object selected, come out to file exports and we can even select FBX or OBJ. I find FBX to give the best results. So select FBX and make sure selected objects is turned on. If selected objects isn't turned on, that it's going to export out our entire scene. And generally, we do not want that. You want to select a nice location for it to be saved. And in geometry, make sure smoothing is set to face. Give your mesh a name It's already named chair. We can leave it like that and click on exports. Now we can see that we have an FBX file. If we double click on, it's. This file looks correct. So let's bring this into unreal engine. But first, we need create a new folder, so let's right click on my stuff. New folder, all this folder meshes. And well, that's a dragon chair FBX. So generally, I find that default values of FBX import options to be good. So let's reset to default except down here for create new material. I'm going to do, do not create material and we're not going to import textures. I find relying on on unreal to import textures and materials to never really work. I prefer to just create the materials completely from scratch because they do give a better results. And finally, click on imports. So now I drag this out. We can see that my scene is a lot bigger than expected. Let's double check to make sure that our scale is correct. By going into orthographically mode. So let's go left. Press ALT and 2 at the same time to turn our wireframe. Hold the middle mouse button down. And let's measure it so we can see that it's 90 centimeters or zero point nine meters, so that's almost one meter tall, that does line up where blender. So let's jump back into perspective and let's delete these right there and maybe scale down the entire scene. So just bring this a little bit down. Make that thinner. Let's come move this into the middle. That's how it is the main focus. Also, if you ever want a human reference, what you can do is to add feature or content pack. Select third person and then click on Add to project. This is going to add a bunch of new assets so we could come into mannaquin character mesh and drag out S.K Underscore Mannequin, and we can see that . Hmm. Maybe this chair's a little bit smaller than expected, so we can increase this just a little bit. Actually. Right there did seem fine. It seems that my static measures are a good scale right now, everything was correct when we imported from Blender. Looks like there are no issues, so let's create the chair material. So let's go into my stuff materials and I'm going to right click actually before we create new material materials, demonstrate what our master material can do. So right click on the master material, create material instance. And let's call this one. MI underscore chair Let's save that. Open it up. But we do need some textures in. So let's go to textures, drag out our downloaded assets. Let's let chair base color mask metallic. And we see we also have another one called Share Metallic Roughness Occlusion. We're going to ignore that for now, but we will go over what that is chair normal and roughness. So drag this all right here and let go. So we can see that Unreal decided to import chair underscore based color as a normal map. Double click on this. That is absolutely wrong. So we need to reset this to default. So let's click on the arrow. Set the world for compression settings. This is not a normal map, is the default, because if it's a normal map, then it's just going to ruin all the colors. And this is, after all, a color texture. So make sure as SRGB is turned on. Let's double check that all the other textures are correct. So Chair underscore color mask. This is a mask. So we need to make sure as our SRGB is unchecked, it's unchecked. Same thing for metalic uncheck SRGB looks like it was checked or normal uncheck as be compression settings at the normal and texture group world normal map. That's optional, but we can leave it as is or normal is looking fine. Let's go to share roughness uncheck SRGB Because it's not a color and everything seems to be good. Let's save everything, so save all, save selected, hover my mouse right here and use the middle mouse button. Start exiting out of all these textures because we do not need them. So now within our MI underscore chair, which is down here, we can see what the parent is. And the parent is M underscore master material that we did great in the last section. in MI under score chair check on all these textures and within content draw. Let's decrease that size and drag color base right there. Let's go drag or metallic. Actually, we need to activate metallic. That's how we're using our metallic map. Right there, our normal right there, and our roughness should go right there like that. And for our normal map. We need to make sure that it's flipped because after all, if this is from Blender, then it's open GL. So down here, flip Green Channel to make a direct X and compatible with Unreal Engine. For the static mesh, you don't want to offset or tile your Uves, keep your offsets at zero and your tiles at one. Let's save. Come out here. Go into our materials and drag, MI underscore chair materials looking great. We were able to create it without ever even touching the material editor graph Instead, we let the master material handle everything and simply create a chair material instance. But as we can see, if we open up our chair instance and undock it. We are limited to whatever was in the master material. We don't have access to, let's say. And right here in Blender to changing the color of our plastic. So if we want to change the color of our plastic, we're going to have to create a new material. We just use the material instance right there to demonstrate what master materials are. So let's create new material. M underscore chair and let's delete. MI_Chair It's going to give me a warning saying that this level is referencing it, which it is, but we just forced to leave it anyways. So let's double click on add one record share and dock it up there like that. So as press control and space. And drag in chair. Base color. Let's also drag in our normal our roughness. And our metallic and chair color map. So we're going to hook it up first like normal, and then we're going to use this chair mask right here to add in a color changing feature. So that's it goes there. Roughness. Normal. And look up our color at a base color. press apply drag underscore chair or pretty much getting the same result as a mass of material. Now's the time to handle this mask and we're going to introduce a lerp node right click type in a linear interpolate or a shortcut is a hold down the L key and left click. So lerp is very similar to our mixed node. So if you open up a blender again, we can see that we're using a mix and we're using this color mass right here as the alpha of the mask. And we are then going to override whatever base color is right here with the color that we're choosing right there. So that is essentially what we're going to be doing. We're going to factor this in the alpha for our mask. And then for our base color. I'm going to drag it into a. Drag is in a base color. And then hold on three left click to added a new color. Right click convert to parameter call this one plastic color. And for its default value. Let's give this. Something a little bit bluish and plug that into B. So this is very similar to the mix known in Blender. Essentially, we're telling on Unreal that wherever there is whites' for our chair color mask, we want to override our actual base color with the plastic color. So press apply. Save. And we're going to create a material instance, drag the material instance, onto our chair. Let's open it up. And now if we select that color and the color picker, we can see that we are changing our colors just like in Blender, which is amazing and pretty fun, we can even add some more customization. So down here, maybe if I think the chair is a little bit too rough or too shiny, then we could drag from R.G B, but this into a multiply node. Hold on s and left click for a scalar parameter call thsi one roughness amounts and the default value will be one which won't make any change. But now we can see. We jump back into material that for our material parameters, we have roughness amounts. I could increase this to add in more roughness until something ridiculous like let's go one hundred, where it's completely rough. There is no shine or bring it back to one, which is a default. Maybe I want this to be extra shiny. So decrease that value right there. And this is why I love material instances, is that I can select this material instance, press control and W to duplicate it. Let's add in another chair, drag on the new material instance. Open that up undock it and make this a completely different color. A little bit pinkish bring this roughness back to its default of one. hold down alt duplicate another chair press control W. And let's make this one. First, you got to apply it there. Kind of a orangey. Just like that. So it was material instances allows us to have a lot of nice customization presss save and we're going to save everything. But we have one issue with this, and that is if we jump into our meshes and drag out our chair, we can see that our chair doesn't have any of those materials. So we can apply a material to the mesh as a whole by double clicking on a static mesh editor And we can see that we have a default material. Let's set the default material as our M underscore chair for save come out here. And now we can see they could just drag in a chair anywhere, and it will have the material of an M_Chair. Real quickly, let's rename this chair to SM_chair. SM stands for Static Mesh and it's naming convention. You can name it whatever you want. It is your project. But before we move on to lighting, which is really exciting, we first have to go over this wacky texture right here. So let's go into textures. And lets drag in chair underscore metallic roughness and occlusion dropping in like this. Double click on it. And this is not enough sRGB, this is a mask. So I'm going to uncheck sRGB. Now, this does look kind of funky, but notice how as soon as I uncheck my green channel, my blue channel, we see the wait. The Red Channel is its own mask. This is a metallic mask uncheck red check. Green Green Channel is also its own mask. This is roughness and blue is a ambient occlusion mask, which we aren't going to be using, but the option is there. The reason why I included the texture is because oftentimes Unreal users, they won't import their textures separately. So they won't have their metallic texture separate from the roughness texture instead to save space and make things a lot easier to organize. They're going to combine a lot of their textures into one map and have them be separated by the red, green and blue channels. So to use a texture like this, let's jump back into M_Chair chair and drag it in, make sure it's that the linear color. And now for red, we can drag this in a metallic. And then for roughness, we get dragged that are actually we're going to drag it down here into the multiply node. So we're replacing two textures with one texture. Really good at saving space and organizing. So this is something you're going to see a lot. Unreal Engine is that instead of dragging from RGB, there's going to be several different masks in one texture and they'll drag Either, R, G or B individually. So let's just organize everything a bit. And I want to go over one more thing, and that is if you press the C Key, then that's going to add in a comment. So maybe I could say handle's color and then drag this comment over these nodes right here. We can make it bigger in the bottom right hand corner. And now I can move all these nodes as if they're one and even change the color of those comments. So make it something like red. So comments are pretty good. If you have a very intense, complicated node graph, then come through and start to comment all your nodes just to help with organization for yourself and others. And with all that being said, that is the gist of taking your Blender objects and materials and bringing them into unreal engine. Don't forget, we did make a lot of changes and have a lot of new assets save everything. Now it's finally time to go over one of my favorite features of Unreal Engine 5 and that is UE5's, a brand new lighting system called Lumen. So you probably already heard a lot about Lumin, but it's very basics It provides us with real time bounce, light in frame rates you would see in games. So bounce lighting at 60 frames per second, even 120 frames per second. And the bounce light does look really good. And if you've ever rendered bounce lighting out in a blender with cycles, then you wouldn't know why Lumen is a pretty big deal. So before we jump into UE5 and learn about Lumin, let's go into Blender and see how it handles bounce lighting. Of course, within Blender, the way you get bounce light is by setting your render and a cycles and simply rendering the entire point of cycles. VRay, RenderMan and other programs are to calculate really accurate bounce lighting like right here on the sphere. The right side is a little bit right because of this red wall. While this is realistic and looks great, unfortunately for us, if I move my camera round, obviously this isn't even close to real time. And if you've ever rendered out a blender animation, then you would know how long it takes to render a scene. And what if you want to make some changes after your render? Then you're going to have to render the entire animation over again. And this is why real time is so powerful, is because it allows us to quickly speed up our workflow. And while I am aware that Blender does have a semi Real-Time bounce sliding with light Irradiance volumes, unfortunately for us, the quality isn't really there. And if we do move an object around, we still have to bake that lighting by clicking on bake indirect lights, which doesn't really make it real time. Now it's time to see how Unreal Engine five handles lighting. So included within the downloadable assets is this UE5 lighting project Simply double click on it and open up the .uproject. Once you have your project, Open Press Control and space, you want to go into lighting example, maps and double click on light bounce . So here we can see the same map that I was from blender within unreal. And if we select this light right here and move it around, we can see that we are affecting that bounce light. This is real time right now. And we can even see the frame rate by coming up here and clicking on show. FPS The shortcut is control shift and H. And I'ma press G right now to hide everything. We can see that when I move my light around, we get real time bouncelighting at 120 frames per second. So that is absolutely amazing. This is brand new and unreal engine Five. If you want to see what unreal engine look like back in our world before without any bounce slide in there, we're going to select the post-process volume. And you want to come all the way down under rendering global illumination and make sure method is checked. Change it from LUmen, because we are using Lumen right now to none. So this is what unreal engine four used to give us. And this is what unruled if I gives us using the Lumen. Obviously, Bounce lighting makes all the difference in the world. And thanks to Lumen, we get that bounce light in in real time. So enough fan boying over Lumen. Let's go over what some of the different type of lighting options unreal engine five has to offer. So first off, let's delete this light and press control shift andH to get rid of those frames. And let's go to create lights and a point light. So point light is pretty self-explanatory. A point light is just a light that emits in all different directions. So a lot of the different properties of our lights will be the same throughout. We have our intensity to increase the intensity or decrease that light color to change our color. And we even have a source radius. So what if we want some soft shadows? You want to slowly increase that and we can see that our shadows get. And let's decrease the intensity. Our shadows get softer and softer as our point light gets bigger. Very similar to Blender. And if we decrease the radius, then it gets sharper and sharper. It's important, to know, that if you aren't getting soft lighting, then you need to come in a settings, project settings and all the way down here under rendering. Make sure that virtual shadow maps is turned on. If we're using shadow maps, then we will not get soft shadows. So make sure virtual shadow maps are selected. Next up is temperature. A temperature is very similar to Blender's temperature node in that we can increase air temperature and make it more blue or decrease it to make it more orangy, just like light bulbs. So that's pretty neat that we have that feature. And then we have effects world pretty obvious, turns on and off and cast shadows. Maybe we don't want shadows then turn that off. But what's very unique is that even though we do turn it off, we still get bounce lighting, which makes it look especially this sphere right here, which makes it look pretty weird. So turn cast shadow on. And we also have indirect lighting intensity. Maybe you want that bounce light to be more prevalent than you want to increase that from one. Well, you say that the more I increase it than the more bounce lighting we get. I was suggest to just leave it at one, maybe go in between one and five. Because if you do this, let's say something really large, like 100, then a lot of artifacts will be more apparent. So just leave it to one or five. It's important to know that most of these options will be shared with other lighting types. And up here for mobility, if we know that our world is going to be completely dynamic, as in our lights are going to move around or we're not baking any lights, then you want to make sure that they're set to movable, just to tell unreal that, hey, this light is completely dynamic. If it moves around, that's expected. But if we are going to bake lights, then either want set too static or stationary. We will be going over those in just a bit. But for now, just set to movable. So let's delete the lights. And next up on the lights is the spotlight. So spotlight is as expected. It's just a spotlight. So we have the same options as an intensity light color source radius, temperature effects world. But this is pretty unique. And we have inner and outer cone angle. So we can increase that cone angle with the outer cone angle or we can increase and decrease the fall off of that point lights. So let's move it maybe a little bit right there and decrease the outer cone. And then if we increase the inner cone angle, we can see. That are light has a sharper and sharper falloff. Or I can bring this all the way down to zero for a really smooth fall off. So let's delete that. Next up is rectangle lights. Rectangle lights is, as you can guess, just like an area lights. So we can move it like this and we can increase the size of it if we do to scale it, normally nothing really happens. It does scale the attenuation radius, which controls what objects should be lit by the light. So if we decrease the attenuation radius that we see that our light is no longer working, but if we increase it, then it does. So I generally don't really play with it. I just leave it as is. But if we do want to increase the rectangle lights, then that's where the source width and source height properties come in handy. We can even edit that barn door angle. So maybe we want to decrease that. We can see that we do change the fall off of a rectangle light and we can even control the length right there. So maybe if you don't want any barn doors, just set this to zero before we move on to the next light. A unique property of the rectangle light is the ability to add a source texture if you do want a little bit of variation. So let's delete our rectangle lights, come up to create lights, and we didn't go over the directional light. As you can guess, if we zoom out a directional lights is basically just a sunlight is a light that's shooting rays infinitely in a specific direction. And we could control that direction by just rotating our lights, just like in Blender before we go over some of the unique properties of our directional lights. I'm just going to deactivate right now by unchecking effects world. That's how we can go over the skylights to go to lights, skylight and simply drag it in. And nothing is happening right now. This is because you can think of the skylight as basically an HDRI what the skylight is trying to do is that it's going to take a 360 degree panorama photo of a world and then project that light onto our world. But as we can guess, there's nothing to take a photo of since our world is a black void. So we need to create a sky. And with a skylight, you will see how the sky like capture that sky color and projected into our little room. So to create a sky, firstly, we need to activate the sun. And then we need drag in something new under visual effects, sky, an atmosphere, drag in sky and atmosphere won't do anything right now. And that's because I need to come into our sun. This is a unique property of our directional light scroll all the way down until we get to atmosphere and cloud and make sure our atmosphere sunlight is turned on. Basically, we're telling unreal that, hey, this directional light right here, I want you to use it as a sun. And now our skying atmosphere is working. If I press H on the sky and atmosphere, it's going to hide it. If I press control H that's going and unhide it. That's just a shortcut for this eye right here. Now we can see that we do have a nice guy. And if I click on my skylights. Needs to move a ball and make sure Real-Time capture is enabled. So now if I move my son thats how it is not casting light into our room. We can see that our skylight is affecting our world. Essentially, it is taking a 360 degree panoramic view and it's projecting that view as colors. We can see right here, I can move if we get some nice soft shadow. Thanks to the skylight, we can see our world before and after the skylight. By pressing H to hide it and control H to unhide. So this is our world without our skylights. Looks pretty bad, and this is a world with the skylights, so it's absolutely amazing. And one cool thing is that if I add in a shape, you don't have to follow along at this parts, but I can scale up this box on a scale like this. And we could see that the skylight. Is bouncing some nice indirect lighting into this little room, and we control it with a moving door. Now this is all brand new to Unreal Engine 5 Thanks to Lumen. Just because Lumen has been introduced in Unreal Engine five doesn't mean we didn't have Global Lumination and Unreal Engine four and other game engines. We did have global lumination, but this was faked in that everything was calculated beforehand and put into light textures and shadow textures. And these textures were overlayed onto 3D objects. So it was a way to get global illumination without any of the cost. And Unreal Engine 5 does have that ability. And there's still some circumstances where you would prefer to bake all your lighting over Lumen. And that's what we're going to do right now. We're going to compare two scenes. So we're going to light one scene using Lumen and light that same scene using big lighting and see which one comes out on top and compare the differences between the two. OK, so to begin, you want to make sure you're still in our previous project, which is UE5 lighting Project, Press Control and Space. And let's go under the lighting example, maps, archvis room. So double click on it and we won't see anything right now. That's because we should press alt and 2 we do have just a very small little room and there are no lights. So, of course, everything is pitch black. So began. Well, let's add in a directional light, just drag it in like that's press alt and four. And we're going to rotate it. That's how we're actually able. To put the light in the room and have that bounce light bounce around and just illuminate the entire room, so the lighting already looks pretty good, but we do have an issue that is when we look outside, it is pitch black. So we're going to fix this with, of course, our sky salvage affects. Skying atmosphere, let's drag it out and click on a directional light scroll all the way down. We want to tell our sky and atmosphere that we need to use this light specifically as a sun. So check atmosphere and sunlight. OK, great. But we still have an issue, and that is the entire half of our world is completely black So we're going to fill that up by going to create visual effects and fog. So we're just going to drop some fog in there. And now when I look outside, it looks a lot better. But when we do have the fog, we have an issue. And that is the fog is inside our room, which doesn't really make sense. You wouldn't expect fog inside a room. Scroll up within our exponential high fog. We want to make sure start distance, just drag it all the way to five thousand. So this is without it. And this is with it that's very slight difference. But we don't want the fog in the room. So let's drag it up like this. And also another thing I'm going to do is click on the sun, make a movable, since our world is completely dynamic. And here is a nice little shortcut if you hold down control and. So control now we get this brand new gizmo and we're able to rotate this sun around very quickly. So let's go outside and see what those looks like. And pressing ctrl and L We will see that when we do lower the sun down. our Skying atmosphere is now completely black. Since our sun is below our world, but we have the issue, and that is our exponential high fog is illuminated. And it's not physically accurate because there is no sun to illuminate our fog. So we're going to click on our exponential height, fog and within fog and scatter in color. We're going to make this completely black. And if we scroll all the way down here or directional in scattering, we're also going to make this one completely black . But we have the issue, and that is if we raise our skylight up. We can see that and uh oh now our fog is completely black, even when our sun is above our world and we do want our fog to illuminate it. And this is where a special setting is coming in within project settings. We need to make sure under all settings, type and height, fog and support, sky and atmosphere affecting height fog Because right now, our hight fog is separate from the sky and atmosphere. We want the two to interact with each other. So we need to make sure this is turned on and I'll restart a project. Let's save everything. Once our project has been restarted, press control and space to jump back into our archviz room. And now if we lower our light, with control and l we can see that our fog is no longer emissive. So if you ever want physically accurate fog that is interacting with your sky and atmosphere, then make sure. And let's go find where our fog is and make sure fog inscattering color is set to black And down here, directional in scattering color is also set to block. So now we have a pretty nice world. What I'm going to do right now is let's add an post-process volume. That's how we can actually control. Our exposure to creates volumes and post-process volume. Scroll down make if infinite extend unbound is checked out. So we don't have to be inside the post-process volume for it to take effect coming to exposure meatering mode. So there's the manual and exposure compnesation of let's try 11. Hold down control and L. And we're going to rotate this. That's how our light is angled like this. Now, if you want to mimic sunrise or sunset, we can even lower the light just a bit and notice how our light even changes color. So if we decrease like this, we see now our light is a morning orange. And if you even look outside our skies, kind of orange. But I find a. Direction like this to look pretty good. So I think we're just going to leave it like that. And another thing we can add in is coming to create lights and a skylights. That's because if we do sky skylights and if we rotate our sun around. Her scene is completely black, which isn't realistic at all, suppressed Ketron age to bring back our skylights and make sure Real-Time capture is enabled and set to movable. We could even control the strength of a skylight right here with an intensity scale instead of one. We can make it 10 And our skylight is super powerful, but we're going to leave it on one for now. And let's select our son. And kind of move it around just like this angle, the sun just a little bit more. And let's start working on some furniture for our room press G to hide everything in press control and space. And let's go into meshes. And we have a couple of measures we can use if I drag this out and wait for the shaders to compile. We have a nice chair and OK, we need to work on the post-process increase on exposure. Let's go 12 point. Twelve point seven, that seems pretty good. I want it where when I look out the window, it's kind of blinding. Press control and space drag out SM underscore table Looks like I need to wait for some of these shaders to compile. And it did right there. Maybe move this back. Right up against the wall, press controls space. Drag out a phone. And this clock. Actually, let's switch the positions of these two. So the phone's going to go back here, the clock's going to go up in front. And I want to rotate my clock directly backwards on the clock's angle. So let's jump in a local space with this button. Press E. And rotate it back on its own X axis. And let's jump back into worldspace. Position it on the table. And no table in architecture is complete without a coffee cup. Another thing, I'm going to do is going to post-process volume. Additionally, at 13, OK, 13 seems pretty good. And yeah, that was pretty quick decorating, but if you do want to make a different color. Lucky for you. All of these meshes have the ability to change color thanks to the way that I set up the material. So if we click on this rotary phone, I could jump into the material instance. And within its material instance, we got a color and maybe instead of blue, I want this to be kind of reddish or maybe a weird orangey pinkish. But I was going to leave it at blue. Press, OK. You can also change the color of the wall back here. So maybe if you don't want to be blue and you just want this to be white. Then you just come right here. And decrease the value like that to give it a white wall. But I'm going to press cancel because I like that wall being just a little bit bluish. And actually, I don't like the new color of the phone, jump back into the phone's material instance And change the color. You can always set a parameter back to its default value by clicking on this white arrow. Just like that, I would say we're pretty much done at this point. Maybe some last finishing touches go into post-process volume and we're going to scroll down all the way down here under lumen global elimination. Move it out so we can actually read what this is for final gather quality instead of one we just set to four, which will drastically increase our quality. And same thing with reflections right here. So our functions for lumen reflections, maybe if we zoom in. Let's go with these props quality one to four. As of now for Unreal Engine five, early access for some reason 4 for reflection and global lumination produces the best quality. Do not forget to save everything because we have done a lot so far. So click save all and save selected. We are ready now to create a variation of this room that instead of using Lumen, we're going to use the more traditional method of getting global illumination. And that is baking our light textures. So to begin, let's go to content draw maps. A select Archviz room press control and W to make a duplicate and lets call one bake double click on this to go into it. Let's save selected. And let's rename our previous map to Lumen. That's how we're able to compare a baked room to a Lumen room, which is fully dynamic before baking, you need to make sure that your lights are stationary. Because if they aren't, then they will not show up in your light textures. So we're going to select our sunlight's scroll up here and set to stationary. Same thing for our skylights that this is stationary. And let's go make sure that our exponential height fog stationary and our sky and atmosphere is also stationary. Now, we need to turn off Lumen by going into post-process volume, scrolling down into rendering settings or reflections settings to none, or looming global illumination method settings to none. And our scene is looking pretty bad. This is the part where we need to bake our environment. But before we do that, we need a special window. So come to windows and select world settings if world settings isn't docked right here then just dock it next to your details panel So essentially world settings is just it's a settings of different parameters of your world. And it's where we control the quality of our light bake. So right here under light mass, you want to click on this show, Advance Arrow, and make sure force no pre computer lighting is turned off if it's turned on. Then we're not going to have any bakes. So make sure that that is unchecked. Now, let's see what unreal looks like when we just bake as is without making any changes to settings. So come up here to build and build all levels. This looks like absolute trash. So keep in mind, I'm going to be going through process of finding some nice settings. But if you don't want to wait through each time we rebuild our lighting. Then you can wait for the very end. And copy my final settings. But what I'm going to do to increase the quality is to go into our world settings and other light settings. We get access to all the different settings of our light bakes. So first off, for number of indirect light bounces, we want to increase this one to 10. And for number of sky lighting bounces also increases one to ten for indirect lighting smoothness. I found a value of one point three to be good. But you can experiment with this. Just make sure it's somewhere around one. And then for number of indirect lighting quality and static lighting level scale. These two are related to each other. So the lower the static lighting level scale and the closer it is to zero, then the more accurate lighting we get and the more detailed shadows we have. But on the flip side of that, you need to increase the indirect lighting quality to compensate. So if we have a static lighting level scale of zero point one, you want to increase that indirect lighting quality to 10. That's because zero point one times 10 equals one. This is very important. A general rule of thumb that you should follow is that you want your static lighting level scale times, your indirect lighting quality to equal one or be around one. Now, if we're going to set our level scale to zero point two, then change your indirect lighting quality to five. For example, since zero point two times five equals one. But in our case right now, I'm going to set to zero point one and increase indirect lighting quality to 10. Just know that your bake is going to be a lot slower now before you bake, since we did decrease the static lighting level scale. It's very important that under lighting quality, we set to either medium high or production. Do not leave it on preview because then it will look really bad. So I think I'll just leave it at high for now. Go to build and build all levels. Now that our bake is finished we can see that very slowly, our bake is starting to come along, but it still looks pretty bad. We can improve this by going into the post-process volume details. And let's find where ambient occlusion is right here, Ambient occlusion. Unreal is rendering some Ambient occlusion in the background, but since we're baking, our lights generally are baked lighting and our textures can handle ambient occlusion by themselves. So we're going to come to intensity and just turn that off by going from zero point five to zero. And immediately we can see that that does look nicer. Another thing we're going to do is this is more stylistic, but let's select the lights and just move it just a little bit like that. Thats how it's almost next to the door. But one issue we do have right now, and that is if we even come up here now, we could switch to lighting only that we still don't have that much shadow detail or light detail. And this is because the actual texture's where our shadows are being stored and our lighting is being stored are really small at this moment. We need to increase that texture size to give room for unreal, to store more data, and to do so, we could come into viewmodes optimization view modes and select a light map density or the shortcut is Alt and zero. Now we can see how much density we have on each of our individual meshes. And this is pretty bad. They're blue generally for architectural visualization. We want to be somewhere in between green and red so we can increase our light map textures by clicking on static mesh and within details, find where it says overwritten light map resolution. And we're going to increase a light map resolution from sixty four to something a lot higher, like 256 or even 512 until it's in the greenish reddish area. So we're going to leave it at five, 12 right there. And let's select the back wall, increase this to 512. Actually, maybe. Maybe we'll leave it at 256. And we do go by powers of two. You don't have to go by powers of two for your life map resolutions, but it helps with storage. So to the right. lets try 256 at the top here. Increase that to 256. lets increase the light texture's right here to 128. And we do have baseboard along the sides, so increased that to 128 And the side right here to 256. Now, maybe for his chair, since the chair does have a little bit more complicated geometry increases to 128. And this table. Try a hundred and twenty eight. Actually, let's say 256 since that wasn't dense enough. that seems good Now let's go into lit. And as a reminder, if for some reason your static mesh doesn't contain any light textures. That's because your static mesh is set to movable. Make sure it's that is static. If you do want those light textures. So come up to build and build all levels. Now, since we did increase our light map textures, it's going to take a lot longer. Here we go. Our scene is starting to look a lot nicer, but we do have a major issue with the reflections right now, because in the post-process volume, we did disable Lumin reflections. So we have to define what the reflections are, a way we do that as go to create. Visual effects and drag in a sphere reflection capture, essentially a sphere reflection capture is kind of similar to the skylights in that it's going to take a 360 degree photo of your world and then project that onto any nearby reflections . So I'm just going to drag one into the middle of the room and I can hold down Alt and do some smaller ones. That's all. We have a reflection capture for this table, separate from the reflection capture for this chair. So let's drag one into the chair and we could decrease the effect radius by coming up here instead of three thousand. Let's go two hundred and actually let's leave the chair at three hundred. And selected these right here and make this two hundred. So essentially if a reflection capture is smaller than a reflection capture. It's overlapping, then that smaller one will override the larger reflection and capture. So here we have one big one, one smaller one, and one that's even smaller, specifically just for this table. So now let's come up to build. And instead of clicking on build all levels, we need to build reflection captures. You get some more accurate reflections and our reflections look a lot nicer. I think I'm going to go into the post-process volume and everything is too bright right now, so bring down our exposure to 12. OK, starting to look pretty good if I hold alt and five to go into detail lighting. If we zoom up right here. We see some really nice soft shadows, and we could even increase those soft shadows by increasing that resolution. So instead of 512 And if your book was pretty long beforehand, I wouldn't recommend doing this unless you want to wait longer. Well, we can go 1024. And on the back wall right here said 256, we can go 512. because I didn't notice there were some issues. And this is starting to look really good now, if you want the best quality possible in a world settings under light mass like mass settings, in compress light maps unchecked us. So right now it's true. So it is going to compress the light mapped. You can check this to make it false. So this is going to increase your build time, but it will increase the size of your project drastically since we're no longer compressing those textures. But I was going to leave it on. Know that you can turn off compression for better shadows. And let's come on the build and build all levels. And we are finally done with baking our lights. So this is what our scene will look like if we baked our lives and our shadows and textures and then overlay those textures onto objects. And this gives us the benefit in that we get global illumination. And it's also a lot more performant than Lumen so press ctrl shift and H you see right now we're at 120 frames per second. If I jump into Lumen, we're still at 120 frames per second. But if you don't have a powerful graphics card, if you have a mid-range graphics card, then you would probably see a change in difference, because, quite frankly, dynamic global lumination will always be a lot less performant than just baking all your global lumination beforehand. And if we zoom in right here, we can see that while we do get some nice shadows, if we jump into our baked lighting these shadows are a lot more accurate and are really nice. So baked lighting even gives better shadows and quality. But we cannot move our lights around. So, for example, as soon as I move the sunlight, we just broke our lighting. You would expect there to be no lighting right now because our sun is below our world. But if we jump into our lumens scene and let's save selected. We do get that global illumination. We're slowly but surely. We no longer have any lights. So that's the difference between baked lighting and dynamic lumen lighting. It's time to talk about landscapes and landscapes are really important for most unreal environments because they are literally the foundation from which everything is going to be built on top of. So in this section, we're going to go over how you can create a very simple landscape material, how to sculpture landscapes and how to paint different textures onto your landscapes. But we are only scratching the surface on my YouTube channel. I have a series that goes over a different landscape, tips and techniques. So go ahead and check that out if you are interested. But without further ado, let's jump into it. To begin, let's start off with a completely blank project. So I'm just going to store this on my desktop. Leave it at, Blueprint. We don't need starter content this point. We can always add starter content. And later, if we do need it and let's call this one first landscape and create once your project is created, let's start from complete scratch. so press control and space New folder and call us one maps. So we're going to jump into it by creating a new level. And let's call this one. Landscape world. Double click to go inside, it's a selected hand, we have an empty void. So to create a landscape, you can probably guess that you want to go into the landscape editing mode. We are finally going to be touching this toolbar up here. So let's click on Landscape. And now we have a bunch of complicated settings. When you look at the scenes right here, it does look complicated, but you can reference the unreal engine, the landscape technical guide. And they have some recommended landscape sizes that you could use. So you just want to pick one of these and put it in those settings. But for now, we just leave it As-Is and click on create. Now we have a landscape in our world, but we don't see anything, that's because we need create our lights. So go to create lights and a directional lights. palce that in and move this one up. Let's also add in a cube, just as a reference to keep it right there. Let's move our light down and set the movable. Of course we need a sky, so go to create visual effects. Skying atmosphere, drag that in. And leave it up, movable, select your lights and make sure it's linked up with the sky and atmosphere. By checking atmosphere, sunlight turned out on. OK, now we have some nice sky and lights. If I hold down control and l I can rotate this around and we can even see our sky changing colors dynamically. So that's a really cool feature. We just have one issue with our lighting right now, and that is if we look at our shadow, it is pitch black. You would expect our shadow to be a little bit illuminated because the sky itself gives off lighting. And this is, of course, where the sky lighting comes in pretty handy. so come to create lights and skylights. Just drag this. Make sure you set it to movable and a real time capture. You always want to enable real time capture when you're trying to capture the sky in atmosphere. So make sure that's turned on. And now we have some nice lighting, hold down control and l and we can see that we could dynamically move our lights around in our skies, our skylight. Also change color with that movement. But our landscape lighting, wouldn't be complete without some fog? so come to create visual effects and exponential height, fog. But of course, we do have that problem. And that is when our light goes down below our world, our fogs are still illuminated. So our settings, product settings, all settings, type end heights. And support sky atmosphere affecting height fog, make sure that's turned on and restart the engine. Let's save when Unreal opens up again Jump back into our level. We can see that there was no change right now, even though our sun is below our world. And that's because within the height fog and you make sure that fog and scatter color is set to complete darkness. And we still do have an issue, because directional in scattering also needs to be said to black. But now, if people don't control an el. Slowly raise our son. We can see that we have some nice sun and fog zooming all the way out. Half our world is no longer just a pitch black void. Congratulations, you just look how 90 percent of your outdoor scenes in unreal engine five is going to be lit. It's a really simple especially Thanks to lumen All you need to successfully light an outdoor scene is a directional lights. Make sure a sky and atmosphere is turned on. A sky and atmosphere, a skylight to actually capture that sky atmosphere and project its color onto your world. Make sure Real-Time captures, enabled and is set to movable and exponential high fog because without it, you can press H Our world doesn't have fog and we do get a black void. So controlH, unhide that. And if you want to control your fog, this fog actor is actually able to be controlled by using the Z. So if I raise this, we have more fog and if I lower this, we get less fog. But actually, let me zoom out, OK Right here, you can see it. So if you raise it up, more fog, lower it a little bit less fog. And of course, you can even control it right here. So maybe you want to increase the density and increase that fall off some maybe just something really sharp or a lot less. How the fog goes up into your sky. But going to click on these arrows to bring back the default settings. Finally, let's start sculpting. So click on landscape. And by default, we're in sculpt mode. Sometimes you might be in manager or paint, make sure you're in sculpt. If you actually want to deform the geometry of your landscape and we have a little paintbrush, you can hold down the left mouse button. You can increase the height of your world. Or if you hold down shift, that will decrease its. Now we can control the size of this right here within brush size, so we could bring this down or we could bring this up, if you've ever used Photoshop and you know that the bracket keys can also control a brush size. Same thing in unreal engine. Control the fall off right here, increase that. So we get a smoother brush or decrease that. We get a very harsh and sharp brush. Click on the arrows to bring back the default settings. and for tool strength increase out the one. Now we've got a lot of power. Well, downshifts shifts and we're going to decrease the right there. We have access to other brushes. Of course, smooth. You could probably guess what this does. It just moves out your landscape. Get rid of some of those harsh edges. Flatten is great if you want to make Terrace's decrease my brush size with the left bracket key hold down left mouse button. And now we are flattening out our world. Another one that I use often is ramp. So with the ramp tool, hold down control, left mouse button and hold down control and left mouse button again. So we get these two actors. I can raise each of them two different degrees. So maybe I want this one at the ground. A little bit far. And this one. Go up just a little bit and select add ramp that will automatically paint in that geometry and fill it in. I use that tool often if there's a precise angle I'm trying to get. And we have some other brushes you can play with, but im going to jump to manage. And maybe if your landscape is too big or too small, you can add in more components by click on ADD and then left mouse button. Select mouse button to make your landscape bigger. You can also just paint this in by holding down the left mouse button. Or maybe your landscape is a bit too big, then you could delete them by clicking on Delete. And the deleting of them just like this. Also, you're able to resize the landscape, so maybe you do want some more detail in your landscape if you hold alt and 2 one of the good things about landscape is that details grows and shrink depending on how far away you are from the landscapes over really far. We see those vertices shrink. But if I get really close, we get more and more detail and you can get even more detail by using the resize tool and instead of one by one, maybe do two by two and then set a resize mode. You click on resample. I'm not going to click apply right now, because unfortunately, with this build of unreal engine, there's a glitch. Were unreal crashes. This should be fixed in the future. So we can ignore that for now. And then we have paint. Paint is used for painting different landscape layers. When you have a landscape material. But unfortunately for us, we have no landscape layers since we don't have a landscape material. And that's what we're going to go over right now, creating our first landscape material. Now, landscapes can be pretty complicated. This material won't be anything too complicated. It'll just be the very basics, but it'll help you get started. And before we jump into that, something I do with all my levels is add in a human reference, because right now it's kind of hard to tell the sizes of these different hills and mountains. So to add any human reference press controlled space. Let's go add our feature content back and we're going to use that person since that does come with the mannequin as a project. And we will have the mannequin right here and the characters mesh. Drag in SK underscore mannequin to get a better sense of our scale. OK, so that one does make sense. Looking good. I'm going to hold down CTRL and L because we are at a pretty harsh angle. Bring that up just a little bit. Press control and space. We can see that third person did add in a bunch of other folders that we don't really need. We do not need the geometry folder. I can delete this is going to say that some of the assets have been referenced by other assets. That's fine. We can force delete, and third person, thirdperson BP, also delete those. And save everything to create landscape material, we're just going to create a normal material. So press control and space. let's create a new folder. Call this one materials. Right click new material M underscore landscape. Double click on this dock our material right here. So the way we tell Unreal that this isn't just any normal material. This is a landscape material is by right clicking and placing a special note called a landscape layer and select layer blend. This node looks kind of weird in that there is no input's. That's fine. We need to come down into the details panel and click on this plus icon. So it's going to ask us to name it. We have one input right now. We're also on grass and press plus again. Call this one dirt. Essentially, what we're doing right now is creating a brand new landscape layers. And with this node, it will give us the ability to paint different layers within our level. So for dirt, I'm just going to use a very simple color right now. We will replace this with textures in just a bit, but make this pure green. OK. And then for dirt roads, control and W. And make this kind of darkish. Also, the shortcut is holding down three and left clicking in, bring in a color node in case you forgot and place out there. Actually, that's maybe a little bit too bright of green. So bring down that color. And hook it up to base color right there like this. Make sure your press apply. And save within our landscape. Now, we can't just drag this on to our world. Instead, we need to select our landscape and come down here into the landscape slots. Let's CTRL space and drag it into the slot just like that. And our world is a very nasty black right now, since we need to start assigning different layers, go back into landscape mode by clicking either button or we could press shift to as a shortcut. And now we have two different layers. We can't just start painting our layers. We first need to actually create a layer and save it into our content browser. So to create a layer, simply click on those small little plus icon and weight blended layer normal by default Unreal will create a folder where our map is located with our maps name. That's fine. We'll leave it as is. Or you could pretty much save it anywhere you want. And it's going to call it by its layer, name and layer info. I think we can also leave that as is. And now we have our layer. Let's add in our Dirth, click on the plus like our weight blend layer normal and create a dirt layer info. So under maps, we have a brand new folder, and this folder contains our landscape layers. Save everything and select our dirts, and now see that when I do decrease, the size takes a bit to compile. But we are able to paint in that dirt. Giving us the editor a lot of control over what our landscape should look like. Press shift one to go back into place, actor's mode, leaving our landscape mode and our landscape. It works. It gets a technical job done, but this looks terrible. So we need to replace our solid colors with some nice textures, with roughness, normal, everything we would want. But unfortunately, we don't have any textures right now. We could add some textures by going CTRL space, add feature content pack and then our starter content. But those textures aren't really that good. Or we can use Unreal's Megascans library by clicking on ADD Quixel content. So select it. And you want to sign in to your epic games account, the same account you used to download Unreal by clicking right here and clicking sign in. Once you're signed in, you have access to fifteen thousand seven hundred and eighty four assets at the time of recording. Epic Games is adding more and more assets as they go by. Everything you see here is free to download. And it works perfectly automatically with Unreal Engine five. So that is pretty amazing that Unreal already comes with a massive asset library ready to go. Now lets go services. And we could find some grass right there. Pretty much pick any grass. I think. We could just use this wild grass for now and we could select the quality of the texture. So medium quality is 2k low quality is 1k , high quality is 4k and highest quality is 8k I think we could just leave it at 2k for now. So select medium quality and select download. Once or download is finished, you can select add to bring it into your project or you can hover over the icon and select that button right there. Let's also find a dirt texture so exit I am just going to type in dirt. And. Actually just go into surfaces because I didn't really bring out what I wanted. Select soil. I like this one right here. Excavated Mud, download. And add. Exit bridge, come down into your content drawer and we see we have a brand new folder called Mega Scans within mega scans is a folder called Surfaces. And within surfaces, we have our modern material exit to surface and our wild grass. If you want to see all the textures that are located within surfaces, then we could use a filter. So click on filters right here and select texture. The content browser is grabbing all the textures that are located within surfaces. So if we go to excavated mud, it's only going to grab the textures that are in excavated mud. If you click on content, then we see all the textures that are currently within our project. So let's go to surfaces. And now that we have access to those textures, jump in M_landscape. Let's control and space. Hold down shift to select all of them and simply drag it into our graph like that. Well lets handle base color first. So let's move these down and move these ones up. Actually, we're going to reverse them because I want grass to be on top, dirt to be on bottom. get the color textures and plug it up right here like this. press apply jumping back into our world, we can see exactly what just happened and how are cameras getting really bright. That's because of exposure. So at this point, we're going to add in a post-process volume. And. infinite extend unbound. Exposure set to manual. And let's leave it at 11 for now. And it looks like that we have successfully been able to switch out that solid color with a texture, but we still need a handle roughness. So going into M_Landscape, let's go and open up this material because you might be thinking, wait, this doesn't really look like a roughness mask. Well, open it up. And if we uncheck green and blue, we see the Red Channel, then we can see the Green Channel, which is the roughness map. So just like beforehand, within the material chapter by default within Bridge its going to wrap a lot of different textures together within one mask. Now that we know where our roughness is, jump back into our landscape and let's move these right here. And we need to duplicate our layer blend by pressing control and w so control W duplicated. Drag from G, which is roughness into our layer blend, and then drag this into roughness. press apply. And within landscape, we're always see our roughness is taking effect. Two issues. Number one, I like to artificially bring down my specular values, and landscapes are way too specular to begin with. And number two, we're going to add in the normal map. So jump back into our landscape. Hold on. One left, click for specular, maybe a value of zero point two, since by default specular is at zero point five. So we are lowering that. Grab both of our normal maps, press control and w and hook it up just like this bring that into normal like that reapply jump back into our world and our landscape is starting to actually look like a landscape. We are going to make some more changes. But right now, the biggest issue I have is with the organization of our landscape material. That's because if we jump into our landscape material. And let's say I want to add another landscape layer, maybe some sand. Then I'm going to click on Layer Blend added a new layer with the plus icon. And down here, we're going to call this one sand. But now I'm going to have to go through every single layer, blend and add in that brand new layer. And that is such a hassle, and not to mention right now, this node graph does look messy. So instead of using three different layer blends, we're only going to use a one layer blend left, delete these. Also, while I'm at it, we can get rid of the sand because that was just for a demonstration by clicking on that arrow and clicking delete. Let's move our textures back also. Hold down Alt to break connections. Move these back and we're going to use a brand new node that I use all the time. Right click called Make Material Attributes. So as you can see, the inputs of this node line up with our output node. And that's because you could think of a material attribute as a sub material. So we're creating materials within a materials. press control w To duplicate that, make material attribute, and we're going to move the dirt textures down here and the grass textures up here. So you could probably get a sense of what's happening right now. Well, then, grass based color roughness normal. Base color, roughness and normal. just like that And now we're going to output right there. Break connections. The output goes in the dirt. I'm going to have to break the connection for the specular and just hook up zero point two into these nodes' specular. So specular right there, specular right there, and instead of an output node that has all the different channels available within the details with the selected, I'm going to click on use material attributes. So it is going to ask for material attribute and since this layer blend is blending in between two different material attributes. It's going to output a material attribute into your output node. Highlight all these move this up, press the C key as a comment, grass material. Maybe make this green because this is grass and at the bottom right here. I like this press C This is our dirt material. And make this. A dark brown. Apply save. And within our landscape world, we pretty much have the same exact material. But now our material graph looks a lot nicer. So maybe we can make some changes where we can scale our textures. So right click go texture coordinates. And hold M and left click, hold on S and left click for scalar value. Call us one grass tile and give it a default value of one. plugit up like this. And hook it up. Just like that. press apply jump into landscape world and we're going to create a material instance. So go into our materials, right click on landscape, create material instance press escape, and we're going to use this material instance . So drop it on our landscape material. Also, save everything. I would hate for unrea tol crash, and we lose all our progress. Open up our material instance. Zoom up to our mannequin. zoom in. And with those parameters for grass tile, we can decrease it to zero point five to make things bigger or increase that to make a lot smaller, but we do want it to be bigger. So maybe. A value of zero point fou Zero point four is looking pretty nice. Let's do the same thing for dirt. Socome into our landscape? And I do notice we switch the textures. So this is excavated mud hold down alt to break it. Down here is the grass texture. So hook it back up. I like this press control, C and control and V. So grass tile rename us to dirt tile. We're going to use the same texture coordinates, because after all, we are using the same landscape. Lock up the UVs. And while I'm at it, let's also give ourselves the ability. to color tint Just a little bit bigger. Hold M and left click hold down three and left click right click convert to parameter. Call this one grass tint Default value of whites. That's how it's not affecting the color. of our material by default. Come down here. Hold on, M. And for a multiply. hold down three. Right click over to parameter. dirt tint. Like this one, white press OK hook it up like that and then for base color right there like this. OK, so this looking pretty nice. I don't like how this zero point two scale or value is overlapping with our other nodes. hold down alt to break that. So I'm just going to have two different ones up here. So one for grass. one for dirt. OK, nice. So we basically have two different materials. One grass and one dirt within one larger landscape material. And this is generally how I like to organize my landscapes, because it makes our material much more readable. Jump back into our map and enter landscape editing mode. within paint dirt Paint some dirt right next to our character. Go back into place, actors. And we have access to these tertile, lets try zero point Zero point two five looks pretty good. But I do think our dirt is a little bit too bright, so we could bring that down right here. Press OK. And that's looking a little bit more realistic. Maybe give a kind of like a greenish tents. Now sort of blend in with the grass a lot better, and I'd say at this point we are done editing our landscape. We will come back to our landscape later for virtual textures. But really quickly, you can imagine that as you add more parameters to both our grass and our dirt, our little material instance will be harder and harder to read. But we can fix this by separating out our parameters based on whether it's grass or it's dirt. And this is where parameter groups come in really handy. So if I select any parameter, come down here, a group we can call this grass. And then right here within the dropdown, we now have access to grass. So select that down here. Let's create a new one called this one dirt. Select that within the dropdown select dirts press apply And now within our material instance we can see that we have dirt, dirt tiled or tint in a nice group and grass also within its own group. So that is the very basics of creating a landscape material within unreal engine five Obviously, I'd say this landscape material and this landscape in general isn't really good. Luckily, I do have a series and you could check out right now. Links should be up in the right hand corner where I go over how we can improve that material and make better, more realistic looking landscapes. But we're going to have to move on. That's how we can talk about, the foliage mode. So to get into the foliage mode, it's pretty simple, just like how you click up here to go to landscape mode. The button right next to it is the foliage mode and the shortcut is shift three. So it says drop foliage here. It's asking for some static measures. And you might be wondering, hey, where do I get some nice foliage meshes? Well, of course, go to content or add add Quixel content or the shortcut for that is clicking on content and go into Quixel Bridge. So let's double click on this. And let's try to find some nice grass. So I got to 30 plants. Let's see what ferns are available. So common, Fern. I'm actually going to select Prickley Shell Fern because I have a download of that yet. And we have a medium, high quality and highest quality. Low quality is 1K, medium quality 2k, high quality is 4K. And finally, highest quality is 8K. I think we could just stick with medium quality for now. And the vertices of our meshes increase, the higher the quality. So let's download it. And add exit out of bridge and Within Our Content Drawer let's save everything so saveall and we can see our meshes right here under 3D plants. Mega scans so I can select all of these holding down shift and simply drop the foliage here as unreal says to do. OK, nice. So now that we have our foliage in here, you can paint foliage by having paint selected right there and left click holding. So left click hold to paint. We can increase the paint density. That's how we paint more. Or we could decrease it to paint less. If we want to paint away some of these meshes, we hold down shift and simply go like this. But there is a glitch where. It looks like the vertices start to spaz out. That's fine, it's not engine breaking And if we only want to paint a specific mesh, then we need to come in here and uncheck the meshes. We don't want to paint. And we can see that they're no longer highlighted. And I just want to paint this mesh right here. Left click hold and we can see we're only painting one kind of mesh. We can also change the density of that one specific mesh down here under density. So let's increase the density to one. And we can see that this is the density that's currently given. If we increase this from 100 to 500 now, I can imagine this is going to be a lot. And it is a lot more. We can also play with a size. So a scale right now is a minimum of one, maximum one. If we do it one to five, then whenever we spawn a is going to pick a random value in between one, two, five. So we see that we get small ones and we also get pretty large ones. We can always reset the values by clicking on the arrow and pressing control and Z to undo those changes. Click on the arrow again. Let's fly over here to the hill. And as you notice, our foliage is angled to our landscape. If we don't want that to happen, then we need to uncheck aligned to normal. Now, our foliage will always be pointing up. It took me a while to see because I thought something was wrong, but this foliage is pointing up right now is just pretty hard to see. And we can make a bunch of other changes if we really like our settings for the specific mesh. We can save those settings by hovering over the mesh and clicking on the save icon. And we could pick a location, click on Save. And now we have access to that, setting right there we can always drag it back in there. If we make any changes if I hover over the foliage, we can see that they're all right now deselected. So if I try to paint, nothing will happen. If I want to quickly select all of them, then I can hold down control and A, to select everything and then hover over that button and select it. So now that they're all activated, I can once again go through and paint all of them. If I want to select all of them, then I get press control again and deselect them. That's pretty much the gist of foliage editing. It's important. So let's go select the first one again. It's important to know that when you are painting, it will paint on top of static meshes. So this little box right here, we paint. There was one mesh that spawn on top of it. If we don't want that to happen. Let's delete them. That we need to uncheck static measures. And now we're no longer paying on top of it. So just know that that is an option. Or if for some reason you're unable to paint on your landscape. Make sure filters the landscape is turned on. Another tool I use all the time is select. So if I want to move an individual foliage, then I come in here with a select tool and simply select it like that. And we will move it around individually, scale them and rotate them as if it's an individual mesh. All right, so the two new game changing features of Unreal Engine 5 are five is number one, Lumen, which we have already gone over. And number two, Nanite. And nanite is amazing because it's a new way of managing geometry, which allows us to get highly detailed static meshes with poly counts in the millions into unreal engine at very little performance costs. And you would know why this is a big deal if you've ever sculpted high poly mesh and blender and then blender starts to slow down. That doesn't exist in Unreal Engine Five If you are using Nanite And what's amazing is that Nanite is just one button press away. So before we go over Nanite , there are some caveats, and that is Nanite doesn't work with static mesh that deform. So don't use it on your characters. And it also doesn't work for foliage like grass and leaves. But other than that, if you have a static mesh in your world might as well enable nanite for more detail and higher performance. So let's jump back into unreal. Now that, you know, Nanite is a game changer, you might be wondering how do we activate Nanite within our Unreal Engine 5 products? Well, it's pretty simple. But first, we need a demo mesh and we're going to get that, of course, from Quixel Bridge. So let's find a 3D asset and we get pretty much select anything. I'm just gonna select this Nordic coastal cliffs. We can see that we have low quality medium, high quality and Nanite quality. I must select high quality. We will go over what Nanite quality is in just a bit and download it. add to project. Move this window off to the side. Press control and space we see under megascans, we have a new folder, 3D assets and in 3D assets is our mesh. So it's rotated. And here we have a nice coastal cliff. Hold alt and to. It is pretty dense and to activate Nanite All you have to do is press control and e as a shortcut to open up its editor and click enabled under Nanite settings and press apply changes. Now we could get out, and this is an Nanite mesh that was pretty easy, another way and a much faster way to enable Nanite is to press control and B simply find the location of whatever asset you have selected in your world. So, for example, if we select this mannequin and press control B Unreal will find where the mannequin is. in our content browser, a shortcut to enable Nanite is to select this mass press control b right click on that mesh Nanite and click on enabled. So that's another option for that. And we are able to tell it is a nanite mesh since I can go into lit nanite visualizaiton triangles triangles, we see that when I go far away, we get less triangles. And when I come up close, we get more triangles. So we see that dynamic LOD in action. So that's how you enable Nanite. But what happens if you download a Nanite asset straight from bridge? Well, we could select one by coming down here to Nanite, press, download. And keep in mind, your download might take a while because we're downloading the best quality possible. These are 8K texture's with a very high polly count. After going above one million triangles. So jumping back into Unreal press control and space, we can see we have a brand new asset go to 3D assets, massive Nordic coastal cliff. Simply drag that in and if we come up to lit nanite visualization triangle We can see that automatically Unreal decide to import this as a nanite mesh. That's because we do have a pretty dense mesh right now. If I press control B to find in my content browser right click go to Nanite. And disable it, we can see exactly how dense this mesh is. If we press alt and 2 this mesh is so dense I pretty much can't even tell the difference between the triangles. And if you press control and e drag it up here, we can see how many channels we have. And this one asset has one million triangles. That's the kind of quality you expect to see in a Marvel movie, not within a gaming engine. Re-enable Nanite and apply changes. Let's get out of the static mash, editor Jump back into lit and let's demonstrate just how powerful Nanite is by duplicating this rock out a bunch of different times. Each of these rocks have one million polygons of source geometry, and there are six of them, so right now there are six million triangles selected some more, and just keep on copying and pasting them out over and over again. And we are still at 120 frames. We could pretty much do this for a while until we actually see unreal engine start to slow down. And that is absolutely amazing that unreal engine has this ability ready to go without any set of whatsoever. And it is oddly satisfying to go into late nights and triangle's to just look at all the triangles that are currently on our screen, zooming in and zooming out, seeing those triangles get bigger and see those triangles split into even smaller triangles as we get closer to match, because Unreal knows that we need to render more Poly's for more detail. And this is one of my favorite features of Unreal under five, because it gives us near infinite geometry and it removes one of the hurdles of real time rendering. That is LODs allowing us to use movie quality assets without worrying about frame rates. We're going to put nine on hold right now because we are going to be using it a lot within the monkey Shrin build. But before we move on, let's go over the different material parameters that we have with Megascan Bridge assets. So I'm going to select this asset right here. And let's open up its material instance and we can see that we get a bunch of different options. So I'm just going to run down them real quickly. First off, we have albedo tint. Pretty self-explanatory, allows us to just slightly tint our mesh. Give it a different color and. Next up is albedo controls if you are new to Unreal. Then you might activate it, then click it right here and start moving to Color, being a confused of what exactly is happening. That's because you should play with it as a color instead with a dropdown. So click another arrow. We see that we have saturation, brightness and contrast. So you could think of color as a wrapper for several different parameters. lets reset it back to one one one saturation self-explanatory makes our mesh more saturated. bring it to zero Just a black and white mesh brightness makes it brighter or even darker. Let's go to zero point seven, because I did notice that match was too bright. In contrast, of course, controls the contrast of that mesh, just leaving that one. For now, then we havemetallic controls. If you do have a metallic material, that these parameters will come in helpful. But we don't. So we can click away from that. And we have base specular and specular from albedo generally with rocks and other natural assets. You want to decrease your specular value and bring it below Unreal's default, zero point five. Very similar to Blender, which also has a default specular value of zero point five. We can view the specular maps of our world by coming to lit, buffer visualization and selecting specular to see exactly what's happening. Right now, it's at zero point five, which is Unreal's default. If we use one, then it's going to decrease everything and bring a below zero point five, depending on our base color, which is what we're going to be doing for most of our rock assets and natural assets. Next up is roughness. Let's go back into lit and pretty self-explanatory. If we bring our max roughness down from one to zero point five or just to zero, then our rock will be a lot shinier. Can't really see it right now. It is hard to see from this angle, but just know that we can leave it at one, which is this default, normal strength, really self-explanatory. Increase a normal more normal rate to zero for no normal. And then we have our texture maps and our roughness and displacement map. So that's pretty self-explanatory. Most quicksort assets share the same exact parameters. I believe one of the big differences is for foliage like right here, because they also include subsurface scattering. So let's find where our Folger's by going into mega scan through your plants and foliage. Let's select this one. Bring out the details. And we can control that subsurface scattering right here. We can change the color variation. So each of these individual foliage pieces will have their own color separate to one have pretty intense, but you can see what exactly is happening. So maybe leaving out a value of zero point zero five is a good middle ground. We even have color overlay. If you do want a tint that color, just a little bit below here, roughness, intensity, opacity, normal, those are self-explanatory. And then we have translucency. So enabling these we can decrease decreases, translucency to zero. Now, we don't have that much subsurface scattering, or bring, that up to 10 for a lot of subsurface scattering. And we have grass and wind. So if we enable this and enable wind, then we can see our foliage slowly moving back and forth. Now, there is an issue with unreal engine right now, and that is wind in Unreal Engine engine uses world position Offsets and world position offset doesn't really work that well with Lumen at this moment. So you might see some artifacts with your foliage. If that does happen, then you want to make sure you bring down that wind intensity. Unreal is aware of this issue and in the future will be fixed. But if you do see artifacts, you should decrease the intensity of your wind. We are almost ready to create our monkey shrine, but there are three more topics we need to go over beforehand, and that is migrating assets between projects, virtual textures and HDRI to begin. Let's go over something pretty important, and that is moving assets in between projects, because after all, if you do spend a lot of time working on specific assets, you would want to be able to move that asset into another project. So you don't have to remake it from complete scratch. So to do so include it in a downloadable content is the monkey shrine. Open up the project folder and let's launch this project. So we're going to have two projects open at the same time. Our new project we open up is pretty simple. It's just a collection of assets we're going to use when creating our monkey shrine. But there's one particular asset, which is under our monkey shrine at landscape MF underscore groundblend, and that I want to bring in to our old project to help us when we're going over virtual textures. So to copy one asset into another project, it's pretty simple. You want to go into the project that you're moving the asset into. Go into the content, right. Click on the contact folder and then go show and explore. This will jump into your project folders content folder. So we come out when you see the first landscape. This is our project folder where everything is stored, and then it jumped into our content folder. The reason why we want to be in our content folder is because we're going to copy the location of that. And now go into the project with the asset you're trying to migrate. Right. Click on the asset, come up to asset actions and select migrates. So it's going to tell us of the following assets. Will we migrate to another contact builder? All we want to migrate is MF_VTGroundBlend That is fine. Click OK. And now we need to direct our file explorer to the location of our contact folder. We copy the location beforehand so we can just control and V to paste that in. And now we're in the first landscape contact folder. Go select folder. And it's content migration completed successfully. So within our original project, we can see that we have a new folder called Monkey Shrine and a monkeyshines auto landscape. And right here is our custom asset we brought from another project. So it's pretty simple. It doesn't get rid of that asset in the original project it simply just copy that over. And any references to other assets. So let's drag this into our materials move here and then let's delete those folders since we don't need them. And here's a tip. Whenever you're moving assets around, generally, you want to right click on content folder and click on Fix up redirectors in folder. If you remove a lot of assets and you don't fix up redirects, then that could cause issues down the line. And now we have our nice custom asset that we're going to use to go over virtual textures. So virtual textures are pretty amazing. They can do a lot of different stuff. But for this tutorial, we're going to only go over the most common feature of virtual textures. That is how to blend our meshes with our landscape. Because right now, if we take, let's say, this rock right here and just move it into this hill. It doesn't really look that realistic. It looks like just a 3-D object that's sticking out of some polygons, which is exactly what we don't want and which is where virtual textures are going to come in really handy. Virtual textures will allow us to keep some of our landscape material onto our actual mesh, which will make it look a lot more realistic. So to begin, we first need to open up our landscape materials. So let's scroll down, double click on the landscape instance and we can open up the parent material by just double clicking on the underscore landscape at the bottom here. So now that we have our landscape open up, we need to add in a brand new node called runtime virtual texture outputs. select that. And we can see that it's kind of similar to our original output node and that we have a lot of inputs like base color, specular roughness. And we have a unique input called world height, which we will go over in just a bit. But essentially, what this node allows us to do is capture some data from our landscape to be able to project it onto our static meshes in our world to create a blend effect. Now, we need a way to get base specular roughness. But unfortunately for us, this output right here has only given us a material attribute node. If you remember a material attribute and we do create material attributes, right here is essentially a way to collect multiple material channels into one channel. So we're going to have to break this by drag from here. Go to break and break material attributes. So now we have access to that base color and specular hook up base color, their spec roughness. Normal, we can ignore opacity and mask, but we need an input for world height. Essentially, we need get the location of a pixel on a material, and we could do that with world position. So select world position. Leave it as is. But we don't want the world position for X, Y and Z. We only want to isolate out Z. So to only get the Z, we need drag from here and go component's mask. And make sure only be is turned on. So deselect g and deselect r. So now we are getting our world position, but we're isolating only the Z axis, and we're going to hook this up into world height just like that and press apply this by itself won't do anything because we need to create a virtual texture from which all this data will be stored. So let's jump into our world press control space and right click, go to materials and textures. And we should see runtime, virtual tecture. So credits call this one RV t underscore heights. And we're going to duplicate it because we want to then one is for height and one to store the material data like our base color roughness. But before we do anything else to make sure that you enable virtual textures within your project settings, go settings, product settings and all settings, virtual textures and enable. Now, one thing that might be annoying when you do enable virtual textures is that down here for auto virtual texture Size instead of 496 six, when you make this something larger, because by default, when it is 4096, that means whenever we import texture, that's above four hundred ninety six pixels. That's going to be imported as a virtual texture, which will then mess up some of our materials. Which is why the setting is really high. So we don't have that auto import feature and click restart now and save selected. When your project has restarted, jump back into your map, and it might take a while for your shaders to compile, but in the meantime, go to materials and for RVT underscore height double click on it. And we're going to set this to World Heights since after all, this is going to be storing our height data And then for RVT underscore material, we can leave this as is it might say, landscape, physical material needs to be rebuilt. We could come up to build building, but all levels. But I wouldn't suggest doing that right now because then it will build lighting also. So to avoid that, where it's not going to build lighting, you need go into world settings. If you don't have world settings, make sure you come to windows and select world settings right there and within a dropdown for light mass and advance options. Make sure force no precomputed lighting is turned on. If it's turned on, then we're not going to have any baked lighting so we can just build our level. Just like that. So now we need specify the bounds from which our virtual texture's are capturing our landscape data. And to do so, come up to create volumes, come down all the way to here and grab the runtime virtual texture volume. Or you could just type in runtime and it should come up, drag it out. It's pretty small right now. We want this to encompass everything that we're capturing. So let's move this pretty far over there, maybe for scale. Set this to 5000. Move it down, that's how it's inside the ground. OK. That was 50000, not 5000. set it like that. And then we can make right here for the X value. Ten thousand. And. Probably there's 10000 for the Y. So everything within its bound is going to be captured and projected onto static mash. Just like that, let's drag in a virtual texture. So this is going to be our height. And press control and W to duplicate it and create a brand new runtime, virtual texture. And this one is going to be our material. So drag material onto its. Now, we aren't capturing our data just yet. That's because when you click on the landscape, scroll down until we see virtual textures, click on the button twice to add in two virtual textures and drag in our height and our material. You can already see within the little thumbnails that we are capturing our data. So down here is our base color and our roughness, and of above is our height. So while we are capturing our data successfully, we aren't putting that data anywhere. So we need to specify on the static mesh that I want to use these virtual textures and blend it with the landscape. And this is where that custom asset we brought in through migration is going to come in really handy. So begin let's open up the parent material of this material instance. Just double click on the material instance. And at the very bottom, we can open up its parent material. If you want to know where this material is located, we can click on the little magnifying glass icon. And we can see it's under MS presets and M underscore default Fuzz materials to double click on that. Now we have the mega scan mask material open for Nanite assets. And this might look a little bit complicated, but to be honest, everything right here really doesn't matter. The only edit we're going to make is press control and space. Go into our materials. Grab that asset that we migrated from the monkey shrine assets and drag it into my graph just like that. If we zoom in onto this node, we can see that's asking for a material attribute as input. And then it's going to output a material attributes. Now, lucky for us, the way this material is set up is that it's already outputting a material attribute. So we just drag from right here into it like that since of this node is giving a material attribute. We can tell because the input is M.A right there and the output is material attributes. Drag it up just like that. And that is pretty much it. Essentially, what these blue nodes are material functions, that's your functions are just a shader graph. That is reusable, very similar to Blender's groups. And we could double click to go into a material function. Nothing showed up because the windows we have open right now are floating on top of our main unreal graph. You need to drag this aside and we can see that it did open up right here within the main tab. And if we zoom out, we can see exactly what this custom node is. This might look pretty complicated, but it really is'nt on the top right hand corner, you can see a link to a video where I explain pretty much everything that's going on. So if you are interested in creating a node like this completely from scratch, they go ahead and check out that video. But we need to make two changes. And that is right here. It says add virtual textures. So we need to place our virtual texture color, which is our material right here. press control space and drag in RVT material into the slots. Remove this down right there. And then for height, drag in the height right there. Just like that press apply And then within our mastermaterial, also press apply. Now we can exit out of everything and we can see exactly what is happening right now. We see that there is a very nice blend going on in between the landscape and our mesh. We can even move this around and we can see that change happening dynamically. So here we are, slowly goes into the landscape and it disappears and it comes out, so let's go into a more flat area. And keep in mind, we need to be inside of our runtime, virtual texture. Let's see where it is. You can always make this runtime virtual texture bigger. And if you do have a really large runtime, virtual texture then make sure you go into your virtual texture settings and then you can increase the pixel size by maybe instead 256. You make this 10. Ten, twenty four. But I'm was going to leave it at 256 for now. Also, if there's ever glitches with your virtual texture's, then make sure you build your level. So let's go and we can even see that it works. Moving this down. It respects the landscape layers, so we even get dirt and grass right here, which is really amazing. So let's go over what some of the settings are for this. So double click, open it up and our custom material noad, it did come with a bunch of settings all the way down here. We see virtual textures so we can enable and disable the virtual textures. By selecting that boolean, so here it is off. And here it is on, we're going to even control that falloff. So maybe you want to be a lot harsher that we could decrease it. Or we can increase that. And have more dirt on top of it. Change the virtual heights and by default right now, I have removed side turned on, if I turn this off, then my virtual texture will also affect the really harsh angles. But obviously, since this is a top down projection, we're going to get that nasty texture stretching, which is why remove sides is turned on by default. So that is the gist of virtual textures within unreal engine. We're going to be using this heavily for the monkey shrine, because, quite frankly, this is the best way to blend your assets with your landscape. And virtual textures are also helpful for other things. And going into the future with this channel, we will be revisiting them very often. Also, one thing I do notice with this asset is that this asset is pretty bright, so we can still decrease it and we still have access to all of our original parameters . So go to albedo controls, brightness, we can decrease that. And those are the changes I make to my asset, do not affect our virtual textures. There we go like that. Our blend is pretty nice. Now it's time to talk about HDRIs and how to let your scene with them. Now, so far throughout this lesson, we've been lighting our scenes with just unreal sky and atmosphere and unreal sky and atmosphere is really amazing. It's a realistic sky holding down CTRL L were able to move our sun around. And as we move our sun, our sky changes dynamically. So I'd say for most cases, I just stick with unreal's sky and atmosphere. We can also add in clouds by coming to create visual effects and volumetric clouds drag it in. Now, world has some really nice clouds and these clouds are also affected, our sky and atmosphere. So we can see the shadow that's being casted by the clouds change as I move my son around. In two seconds, just by rotating our sun, we're able to get a beautiful sunset sky. It's absolutely amazing that unreal comes with this by default. But if you are blender user then you're probably used to lighting scenes with HDRIs. So that's what we're going to go over real quickly, just in case we do want that option for ourself to demonstrate HDR lighting. Let's create a duplicate overworld, so robust control space maps and call this one HDRI duplicate with control and w double click on that. Let's save everything. And then and here we're going to delete our lights so we don't need our directional lights sky atmosphere. Are clouds. delete thoughs and we also have fog right now, so let's find where our exponential height fog is and delete that's. We do need our skylights and skylight is how we're going to light our world with an HDRI But we're going to uncheck real time capture. Now we're using all the default values of our skylights. And at this point, we do need an HDRI If you're a blender user then I'm assuming you're already getting your HDRI from Poly Haven by Greg Zaal. It's absolutely amazing. There's 400 different HDRI you can pick from there. All High-Quality. So to fill to download anyone, it really doesn't matter. But you can pick any of them. If you do want to follow along exactly. You could download this sky. Yeah, congratulations. Because recently they did earn an epic games mega grants. So obviously all these HDRIs work really well in Unreal Engine. To import an HDRI it's the same process as importanting any texture, so let's go content, your dock in layouts, go into our materials or we can create a new folder. But I'm not going to play some materials for now and simply drag our HDRI into there like that. So let's double click on HDRI because we need to change some of the settings here. So first off on unreal does some dynamic compression in the background with your texture's through mitmaps We don't want any compression. We want this texture to be as sharp as possible. So in mipgen settings make sure no bitmaps maps is selected. And then for compression settings, check HDR Unreal's smart enough to realize that this is probably an HDRI texture. So it already have that for us. And make sure SRGB is unchecked because we do want that full color range. OK, great. Now let's jump back into our world. And you'll probably guess that the way we do a scene right now is through this skylight, because after all, the skylight will project light onto our scene from all different directions, which is perfect for your eyes. So for source type in our skylight, we're going to change it from captured sceneto specify a cube map. Now, let's save our HDRI and drag it right there. We can see exactly what is happening in our scene. So we're able to increase the intensity of that HDRI or even decrease at a one zero point five or very faint intense light. And if I make my details, panel us a little bit bigger and move this to the side so we can read. We have source cube map angle, so I can rotate this around and you can kind of see it updating in real time where we're able to change the rotation of that HDRI. And this is great, but obviously we do have an issue that is our texture isn't showing up in the background. We get a pitch black sky, which is obviously not good. So instead, we're going to use our HDRI in a material. So let's jump into materials right click to create a new material M underscore HDRI and double click to go inside of it. So we're going to use our current HDRI and simply drag it into our graph and make sure a linear color is selected for a sampler type. We don't want any shadows on this material. So just click anywhere within our graph and within shading model. Change it from default to unlit. Now we have emissive color. We're going to drag it into a just like that. But we have an issue that is its saying UVW input required for cubemap So we're going to do a little bit of vector math. You do not need to know what is happening at this point. But hold down Three and left click. Keep this three vector at zero zero zero drag from here and then type in reflection vector. So let's choose a reflection vector worldspace and keep it as is. And we're going to drag from here and type and transform vector. Change it from worldspace to local space, because right now, by default tangent space to worldspace, so source is world space and destination is local space, and then hook it up like that. And press apply. We also want to give ourselves the ability to control the intensity of our HDRI So hold on and left click hook it up like this. Hold down S and left click for a scalar parameter. Call this one intensity. And for a default value, we need to be one, because if it's zero, then we won't get anything for our default value. There we go. And of course, this is just like any other shader in unreal engine, you can add a color tent. So maybe make this pure white and use a multiply. Or if you want to control the contrast of a texture that we need to use, the power notes, a right click type and power select it right there hooked this up to base hold down and left click. And call this contrast. So for intensity, we use multiply and for contrast we use a power node. For contrast, the default value will be one. Hook up like this and right there into emmisive color press apply and save hop back into our world and we need a mesh that we're going to put our brand new material onto. But before we do that, let's reset all the values of our skylights. So click on that and click on that for the arrows. Go in your content drawer. And the message I specifically want to use is already included in unreal engine but it's included in a semi hidden folder called Engine Contents. If you do see your content folder, then come to settings and make sure show engine content is enabled. Now, within the engine content folder, I want to type in sky and let's use thesm underscore sky sphere. So just drag this in and now press control space materials and drag our HDRI onto it just like that. Actually, let's create a material instance. So we have access to those parameters to play with. And if we zoom out, obviously this HDRI is a little bit too small. This points. So I could try to keep on scaling it up and up and up. Or I could click on this lock icon right here, which will then lock all the axes. That's how we scale uniformly, and type, in something ridiculously large, like one 10000 or even a hundred thousand and leave it like that. And now we have our HDRI. Let's jump back into our skylights. And we need to recapture a world because our skylight doesn't know that we'd change the sky. So I'm going to come down here all the way down here and click on recapture and boom, now our skylight is affecting our world. If I select our sky sphere, I'm able to rotate this around but notice that our HDRI isn't updating And that's unfortunate. But when you click on our skylight and whenever we do change our sky, make sure you click on the recapture button. Also, just know that while your cubemap is still present from last time, it's not being used. We can tell this cube map isn't being used because it's greyed out. Let's go into SLS specied cube map and click on this arrow to get rid of it and then jump back into sles captured scene just to get a point across that we're not directly taking the light information from the HDRI. Instead, we're getting the light information from our actual material, which just so happens to be using our texture. So let's double click on the HDRI instance. And with details. There's just a little bit bigger Selecter skylight, so we have access to recapture everything. Down here, you see that I am able to increase the intensity while I increase the intensity and recapture are scene gets lot brighter or decreases, that's zero point five recapture our scene definitely gets dimmer. So leave it at one access to that contrast. So increase contrast, maybe make those clouds more noticeable and click on recapture for that. So that's the gist of using HDRI within unreal engine. Now Unreal Engine does come with a really neat actor. If you go to settings, plug ins and type in it. HDRI, I encourage you to check out the HDRI backdrop if you are interested in mostly lighting with HDRI. But as I said beforehand, generally for my own unreal scenes, I like to stick with my sky and atmosphere because they're just amazing. And now it is finally time to create a shrine to the blender monkey head. We have all the skills we need. But before we jump into that environment, if you are interested in learning how to program in unreal engine, it is a wormhole. But I have a another tutorial that should be up there. I recommend even if you don't plan on creating games in unreal, to still learn how to program using blueprints, because you can create tools that will help you in your environment design process. So without further to do, let's create the shrine. All right. So to begin, we're starting from complete scratch for this project. So open up unreal engine five and select games of blank projects and project location desktop. That's fine. I do want easy access to this project folder and for project name call this one monkey shrine tutorial. We don't need starter content. We believe our retracing and we're only using blueprint, but we're not even going to be programing for this project. And press create. Now we're going to have to download some assets from the epic games marketplace, and the asset is specifically called Mega Scan Goddess Temple. You can just type that in right here and search. And you're going to want to download it and create a project. This is an amazing environment created by Quixels and epic games. And it comes with a bunch of custom assets and also some megascan assets. This is pretty helpful because we're going to use all the assets available there. And we don't have to manually download each of these epic games assets from bridge. We can just download this project as a whole. Also, I highly recommend you check out on the quixel YouTube channel, the creation of this goddess temple, because it's always fun to see the thought process of an experience artist. And you can learn some great tips. So what you do have this downloaded and create a project. I'm going to save this on my desktop and we can leave the name as is, because the name doesn't matter since we will be migrating these assets over for the version we're going to select for. And that's because we're going to update an unreal engine 4 project to unreal engine 5 and create Once its created the Goddess Temple Project, you want to open up this product folder and before you double click to open it. We need to switch it from unreal engine 4 for to unreal engine five. We could do that by right clicking and switch unreal engine versions. Right now, it's 4.26. Simply select five. You should see five if you do have unreal engine five downloaded. And press. OK, double click. If this is your first time opening this project, then you're going to have to wait a bit for the shaders to compile, but once they do, do not worry about this level right now, this level is kind of broken since we did upgrade from our unreal four to unreal engien five. We will not be going over how to convert them since we're only opening up this project right now to grab those assets and bring it into our main project. So press control space and I want to select everything. So select the first one. Hold down, shift and select the last folder. Right click, select migrate. It's pretty much going to grab everything that's within this project. That's what we want. Press, OK. And now we need to navigate to the location of our monkeyshines project. So as a shortcut to find this location, we're going to right click on our monkeyshines project, go to show an explorer and simply copy its location up here. And then paste this location of its content folder there and press select folder. It's copying all of those files from the Mega Scans Project into our own project. And it says, content migration completed successfully. Within our main project, we can see that we do have all those folders. We need to migrate some more assets into our project. And specifically, it's a downloadable asset link in description below if you haven't already downloadedthem. And it is the Monkey shrine Asset Project. So open this up. Open up the projects. And within here, control and space select monkey shrine folder. Right click migrate just like beforehand. And we're going to navigate to the same location. Luckily, we do have it in our clipboard. Now we can exit out of monkey shrine asset project, and we can see that we do have that folder and included is a landscape we're going to use. And of course, the monkey shrine itself, now that we have all the assets that we want, you could delete the mega scan's goddess temple if you want to, because this is 12 gigabytes large and we no longer need it since we finally have all the assets that we need. Let's start making the map. So in our monkey shrine is pretty much where I'm going to be saving all my custom assets. So let's create a new folder call this one Maps. And within here, a level from scratch monkey shrine map. Go into it save selected. It is a completely blank level. So we're going to need to create a landscape for us. I'm going to leave it at the default values right now and press create Now we don't see anything. So let's add in a sun come into create lights, directional lights, move this one up. Our project is going to be completely dynamic. So make sure our lights are set to movable. And also, if you don't have world settings, come up to Windows, select world settings and with them world settings. Just so that we don't accidently bake our lights come down into light mass and in advance click on force. No precomputed lighting. Obviously our world is missing a Sky. So create visual effects. And our trusty sky and atmosphere. Just place that in there. Select our sun go to details and link it up with our sky and atmosphere. By selecting sky and atmosphere right there and turn it on. Now, to fill the half black void, we will add in some fog, so visual effectsexponential height fog, drag that in. And we do have that issue again where we hold down control and L to move our sun if we lower the sun's angle. Our fog is pretty immersive, so we need to go into product settings, go to all settings, type in height fog and make sure supports sky and atmosphere height fog is set to true, but before you restart. So don't restart just yet. Kill two birds with one stone, type in virtual textures and make sure you enable virtual textures and restarts. When our project has restarted, jump back into our monkey shrine map, and we are going to be having that issue whenever we open up our project, I pretty much want to just edit our monkey shrine map. I don't want to create any new levels, which is what unreal does by default. So we could go into our project settings and then under maps a mode, we get our editor startup map to the monkey shrine right there. So now whenever we restart our Editor we're going to end up in this map so we don't have to click on it again. exponential height fog inscattering color. Bring this all the way to black. And if we lower our sun once again, that issue is the directional inscattering. So also lower this all the way to pitch black. And now our son. Is working pretty successfully. So I'd say we're not done just yet. On a crate's shapes and just add in a reference cube for now. And luckily for us, the goddess temple asset does come with a human reference. So we don't have to add in the mannequin to get a human reference. Instead, we're going to go to content type in human and SM underscore human reference. Just place him there like that. We are almost done with our lighting, but you're probably notice that our sky isn't emitting any lights. So as hopefully you could guess by now, come to create lights and drag in a skylights. Whether the details panel, make sure it's set to movable, and since we're capturing a skying atmosphere, Real-Time Capture is turned on. And for one last adjustment, come to create visual effects, and we're going to add in volumetric clouds. To give some variation for our world, because our sky was looking pretty boring and at this point you could pat yourself on the back because we are done lighting our scene. That was all we had to do. The only changes we're going to make is just angling our sun at different directions with control. Now, at this point, we're going to add in a landscape material, and that landscape material is included within our monkey shrine. auto landscape, and it is MI under score landscape shrine. If we open this up, we can see that it is a fairly advanced landscape material with a lot of different options and a lot of different landscape layers that we could use scrolling all the way down here, open up the parents. We can actually see what is happening. Now, I do have an entire video that goes over all these settings do in detail and an entire tutorial series that goes over how to create individual features. So if you are interested, you can check those out. But for the sake of time, I'm just including this material here so that our tutorial isn't another five hours long before we add our landscape. We need to fill out some of those parameters. So let's go into content drawer and MI underscore landscape and just docker right here within a content draw. We're going to fill in some of these textures which are just using unreal's default textures right now with some of the textures that are included within the goddess temple. So I've got two surfaces and a rock cliff layer. We're going to drag in the color for a. Actually ignore displacement or roughness, we'll go right there and normal go right there. B is already filled out. Or C, go back to surfaces, we were going to use Icelandic stony ground. Base color roughness and and normal. And then for d surfaces quarry. So drag it right there. And right there. And roughness. Now, we aren't using the E Layer landscape. So if you want to add another layer, then you can right here. The option is available. But for now, I feel like all of this is fine. So jump back into monkey shrine map. Let's save everything and press control space. Go into our auto landscape and mi underscore the landscape monkey shrine. Scroll all the way down. Look it up like this. Jump into our landscape editing mode. And go to paint. And we see that we have material underscore blend as our first layer, create a weight blend and layer of normal. And right here, we just leave it as default for where it's going to be stored. Select a player, and it already filled out our entire scene with our player. If we go into sculpt and start sculpting, we can see why this first layer is pretty unique. And that as we do have some automatic texturing, so on really sharp angles. It's going to use a cliff texture because oftentimes grass doesn't grow on really sharp angles. Real quickly, I find on unreal's auto exposure to be pretty annoying. So we're going to turn off by good. By jumping back into place actors mode and adding in a post-process volume. Make sure infinite extent unbound is turned on and all the way up here for exposure. lets change it to manual and increase that size to let's go 11 for now and maybe raise our sun. OK, there we go. Before we move on, we need to add in some trees, so to get the trees. Open up your epic games launcher and in the marketplace, type in temperate vegetation, spruce forests. This is a free asset, so you need to download it. And you also need to add it to a project. So click on ADD to Project and make sure show all projects is enabled. And now if you type in Monkey, we're going to get monkey shrine tutorial which is the name of our current project. And it says Asset is not compatible with Unreal Engine five. So we need to select four point two six. Essentially what's happening is that this asset hasn't been updated for Unreal engine five, which kind of makes sense. It's pretty new. So we're going to be using the four point to six versions and add to project. Once your trees are in your project, go to content drawer. And we should see PN underscore interactive spruce forest on their meshes full. I will get some trees low. We get some trees and all our trees are in separate folders right now. If you want to see all the static meshes that are located within this specific folder, then we need to filter out by going out filters and static trash. So these are all the trees that are included. If we ever want to get back our normal folder view just uncheck the filter. So filter to get all the static meshes uncheck to get our folders back to begin. I only want to paint the really large trees. So all of these and then afterwards we're going to handle these smaller ones because we want to do the big detail first and then a small detail later, because big detail is more important than little set decorations. So I'm going to drag this out and make sure that our trees are working right now. Because after all, this isnt made for Unreal Engine 5, this was made for unreal engine four wait for the shaders to compile, this might take a while. OK, so our tree is looking pretty nice. There are no glitches, just no UE five early access. There is a glitch with foliage where it does start to flicker ever. if your foliage flickering in the way you fix this is a simply select your mesh. Go into the material instance of your leaves and turn off wind. So that is one way you could fix it. But it looks like we aren't having that issue right now. Also, whenever you do drag in a new tree, then we're going to have to wait for that tree shaders to compile. A way we can get around. That is, if we look at p underscore interactive spruce forest it does include a map. And this map already contains all the meshes. So you can open up a map with the assets that you want to use unreal will compile everything at once. And we don't have to worry about having to compile them in the middle of a work session. So, for example, you might have an issue, and that is if we do drag in a goddess temple asset, then we will have to wait for that asset to compile. So just to get everything out of the way right now, let's go into maps and select Roman Cave, which is our main map of the goddess temple. And it looks like it didn't ask us to compile, but it might ask you to compile. And you're just going to have to wait for everything to compile. And everything is still pretty slow at this point. So let's go back into our main map and let's start building. So at this point, we're going to handle some of the large details first and then slowly escalate down until we handle smaller and smaller details. Because after all, what matters for the main composition are those large shapes. So we do have an monkey shrine, a monkey statue that we can drag out. This is just this, Suzanne, monkey head. So let's move this one right there. And we can see its size compared to the human reference right there. So obviously, maybe this is a little bit too big. Also, turn off, snapping and let's scale this down maybe to zero point five. OK. Half its original size. And I do want this monkey head to be a little bit elevated. So jump into our landscape mode. And just paint a slight elevation. Again, all of these sculpt are going to be insanely rough right now. We're going to keep on iterating over this process. And. Decrease the size. Kind of sculpt a ledge going up to its. And I do also want some stairs with the monkey head. So we're going to go into our mega scans type in stairs. And filter out for static measures. So I want these stairs right here. And also these stairs, I'm going to move them off to the side. Let's move this down and also, whenever I'm making an edit to static mesh, you'll see me sporadically press control and B to find where that static meshes or maybe two static meshes, select them and enable Nanite. Generally, whenever I'm using a static mesh, I'm going to enable Nanite unless it's foliage. Because it gives us more detail. We don't have to worry about LODS And it just makes our game run a lot smoother. So let's move this and let's do. Hold down alt Maybe two of them side by side. Right there. And do some. Going up to it like this. And just sculpt, we get flatten out with a flaten brush. So the general composition of the scene will be facing towards the monkey head. So I imagine that this is a very ancient shrine. People have been visiting this monkey head over thousands of years, giving gifts, relics, food, because after all, who wouldn't want to worship Suzanne And I need to move out and move back in because we were having some shadow artifacts. That's just a fluke of unreal engine five at this moment. If you do have shadow artifacts, you move really far away and then move back up close. to get rid of them. I also want our monkey head to kind of be in a little valley. So that's what I'm going to do right now, is just sculpt around a valley. So I'm trying to find a nice elevation. With a sculpt brush. And once I do find that elevation that I like, then I'm going to use a flat and brush. To create that valley. So, for example, right here, I think at this point is a good elevation. So going tinto flatten, where my total strength of one, if I left, click and hold at the direct elevation I want, which is right here, then we're able to start painting out a new elevated level to our landscape. So I could just pan around the monkey head. Just like this. And now we have a valley. Press control and Z, because I want to give him more space for the monkey head. If you don't like your sculpt, you can always go back in and change its. Actually, maybe we can decrease the size of the elevation. It's got to sculpt. Hold down shift to make an indent in the world, then go to flatten. And see what this one looks like. So at very sharp angles on landscapes, you will notice some weird deforming, especially right here. That's because if you go to alt two, that's the dynamic level of detail that's on the landscape itself. That's kind of glitching out because this is a 90 degree angle. We don't necessarily have to worry about that at this point since we are going to be covering the sides right here with actual static meshes, because this texture stretching looks terrible and landscapes generally shouldn't be 90 degrees. If you do have the option, you would want to replace your landscape with a Nanite mesh. After I switch modes, we are seeing that issue with the artifacts. So we go really far away. And the shadows just fix themselves. So let's grab this human, because he is about to get engulfed in our landscape. Move him out of here. Also, move the tree off to the side. We are going to pine trees in just a bit. But before we do that, we need to go over the last technical bit of information, and that is setting up our virtual texture's. The reason why I waited this long until we set up the virtual texture's is because I want to know the main area where everything is going to be built. And we're all our static measures are since I know it's right here. This is where we should probably put our texture volumes. So volumes type in virtual and drag-out runtime. Virtual texture increases scale on a Z axis, maybe 5000. And increase in X. Ten thousand. Or maybe 12000. I'll that there. And just encompass the majority of my level. Just like that, we need to add some runtime virtual textures. But lucky for us. I believe there's already some virtual textures that we can take. Located within masters 04 underscore RVT. So we're going to use RVT underscore material properties and RV t underscore world heights. The reason why we're using these runtime virtual textures without creating our own virtual textures, by going to materials and textures is because these are already linked with a lot of static measures we're going to be using. And if we do create our own virtual textures, then we're going to have to relink them going into all the material instances. And that could just be a huge hassle. So I'm going to drag. Let's go RVT underscore material properties right there and press control w duplicates. And height right there. Now, when you select our landscape. And to our landscape that we want to use those virtual textures, so under virtual textures, click on the plus two times. And add in our to right there and right there, and we can already see height map and a base color telling us that this is working. Because when I made this landscape material, I included a runtime, virtual texture output. All right. Let's see if our virtual textures are working by zooming in on this map right here. And ideally, we should start to see a blend and we aren't seen any blend with the ground. So let's open up our material instance and see was wrong. And just by looking at our material and since I think I notice we don't see any properties for virtual textures, so let's go into our standard master. And this is the problem. We do not have virtual textures here. And this is why I included within the monkeys auto landscape. MF underscore V.T. ground blend So just drag this in This is these same material function that we did move into the previous project that gives us the ability to blend with our virtual textures. But before we hook it up with this material, double click on it to open up the material function. And we need to set the virtual textures right here. So select texture, color and go back into our Masters rv t. We're using this one. So drag it onto that slot for the bottom. Drag it there like this press apply And in M underscore Standard Master, you'll notice that our function is asking for material attributes and we don't have any material attribute here. So we're going to have to create one by right. Clicking and typing in make material attributes just like that. So what I'm going to do is just move this. That's how it's right above. Our node output and hold down control. And then drag from it and place it there. So hold down control. Take this metallic wire and put it into the metallic of our material attributes. So control drag won't break a link or just allow us to move that link around. So the roughness right there and normal right here like this. And instead of asking for individual channels, we're just going to go use material attributes. And we have a nice spot where we could just lock up our material function just like that press apply. And now with our monkey shrine, immediately everything is working great, move this around and we see that it is working just as a reminder, if your virtual textures are glitching out, then come up to build, build all levels and make sure since this is a dynamic map force, no pre computed lighting is turned on. So let's see what options we have, and it's the same options that we went over previously with in the virtual tecture section. I think a better way to demo what is actually do is by unchecking remove sides. And if I bring my blend fall off length. All the way down to zero. We can see what our height does our height controls where we want our blend to be. And the falloff controls how soft we want that blend. And then just know, for some reason, you don't like the blend of a specific mesh. Then you can play with the settings here and make sure move sides is turned on, because otherwise we get nasty texture stretching something we don't want. And I'm looking at this cliff right here. We are going to fill it. So don't worry. And I think we're ready to start painting some trees. But before we do make sure we save everything, so save all and let's exit out of all those windows. And real quickly, let's paint a really rough dirt path. So go into our landscape paint. And we're going to create a bunch of layer blends. So weeight blended layer save. And right here for material, see also save this one. And for Material D. Save that one right there. Also going to sculpt was flat in this out. Because I want to be able to draw a path from the monkey head veering down here to the right. Paints and let's start painting. So bring down the tool strength just a little bit. OK, press controls, controls, because we were accidentally painting the clip tecture, which we don't want, and we want this Gravell texture right here. OK, that's a lot better. bring down this texture just a little bit more. We can also hold down shift to take away a specific layer if maybe you do have too much of that layer on And slowly. Start to veer. Just like that. To dirt would be just a little bit of dirt on the side. Also go to sculpt flatten I want to move this elevation to the side. Here we go. Slowly start to come together. Baby steps. Jump into foliage. And let's drop some of the big trees in their. PN underscore interactive Spruce Forest. meshes, static measures. Let's select all of these right here. And simply drop them like that. Now we are going to most likely have to play with the density right now because I'm going to imagine if I just painted as is. yep it's a little bit too dense, so control Z. And with all these selective with control and a for our density instead of 100. Make that one. Even one is a little bit too much, but we could just leave it as is. And just deselect some of the trees. So I think for these really tall trees, we can deselect three of them, so we're no longer in. And. OK, that looks good, but I think I'm just not going to paint any of the really tall trees for now. And we're just going to stick with these really thick trees, because I do want these thick trees to be at the very front and then we can have some of the tall trees be at the back. But this size compared to the human. I think I'm going to decrease the size also, so for scale x, what the size be randomly from 50 percent to zero point five to zero point seven. OK, that's a better size. So let's start painting some of the trees, but we will have an issue when we're painting trees on landscapes. And that is if we have a hill with angles or trees or angles like this and trees generally, they don't grow like that. Instead, they grow straight up. So press controls Z all the way down here uncheck a line to normal. And now we get. More realistic tree placements. So up here, we're going to paint around. And. Decrease the intensity. just a little bit of trees on the second elevation. And you do notice and when we go far away, our trees turn into textures pressing all too. You could kind of see what is happening. And that is we go from actual real geometry to just a flat plain that approximates what the tree would look like, because ideally we don't want to render an entire tree when we're super far away and we can't tell the difference between a texture and a 3-D model. If you don't want that to happen, then we could use a console command. If you ever no-clipped in a game, then you probably know what a console command is. But down here, we can select that and we get access to manually specify some extra settings that unreal doesn't expose by default. So if you type in foliage dot force, we could select with the up arrow force lod and then simply type zero like that. So now we no longer have any level of details. Let me press alt and 2 that geometry will remain super dense throughout. So just know that that is an option. But of course, is going to come at the cost of performance if we ever want to get back our original settings with the level of detail, then pressed the up arrow as a shortcut that so we don't have to type in foliage dot force lod again. And instead of zero type negative one, which is unreal's default. And we do get back that level of detail. So, know, that that is an option. Now I think it's time to finally handle the cliff's right here and we will come back to painting more foliage as we add more. But these cliffs are looking pretty bad, so we'll try to find a replacement Starc mesh. And if we come into let's go. Mega scans and static measures to see all the static meshes available actually go into three assets and then see our static measures, we can drag out some cliffs. So we have this as an option. Let's see what else we have. OK, that seems like all right there we also have some more under custom assets, so we have this little rock. This rock is great because whenever we are working with assets, there is going to be some holes, especially if we are kitbashing. So we could just fill a hole in with this rock. That is the same color as our cliff's, which makes it look natural. And we also have that right there. And right there like that. And notice how automatically lowering this into my ground. Actually, we did move it a bit more. Closer because when it was outside right there where we got this texture stretching that tells us that we're outside of our runtime, virtual texture Bounds. So if I select that, we see that we are just barely outside it. So if you do get texture stretching, then you want to move asset into it. But our models automatically blend with the landscape and is just working by default. That's because we were using the same runtime virtual textures that was included within the goddess assets. So before we start bashing our clips, let's select these press control and B right click and enable Nenets. So let's select these right here. CTRL B find where they are, and they will then Nanite and select these ones right here. And enable nanite on them. And save everything. At this point, I'm going to take my Cliff's. Hold on alt, and move them. So there are adjacent to the sharp edges of my landscape. Also, let's go into local space, because for instances like this, that should be helpful and simply scale it down. Or just scale it That's how it blends well. With the landscape. So just like that. All right, so at this point, there is an issue with a virtual texture's, if we go into alt four, we can see that if we go far away our virtual texture's just stop working. And of course, we're going to fix this by building our level. And now that issue is fixed. Also, when it comes to hole's right right here, press controlled space, and let's go into our custom assets and drag out this beautiful small rock. We just place it here and fill up any location you don't like. Just like that, and you've probably noticed so far, especially if you go to unlit, that all these rocks have different colors right now and we will adjust our colors within the material parameters in just a bit. But until we do that, let's continue filling up the site right here. Right here, we do notice another hole. So I'm trying to patch it up with this little mesh right here. So let's see if I can do this. If not, then I'm just going to duplicate and move a rock. Another thing I'm doing is just slightly elevating the grass. That's how it slightly goes up and then we hit the cliff because we don't want to have sharp 90 degree angles between our landscape and rocks. OK, great, our monkey shrine is starting to look nice by pressing alt and 4 the colors of our rocks are pretty unnatural at this point. So what I'm going to do is come through and let's open up some of these rocks, materials. Drag the material instance details, panel. And start to play with their colors to kind of get our rocks, to stop looking so brownish and to look more orangey like this rock right here. I do like the color. So let's try to play with this, maybe decrease the contrast and also increase the saturation just a little bit. And then play with the color overlay. Notice how when we change the tint, nothing happens. And that's because we increase the overlay strength right here. So now we can see that between value of zero one, I can show the strength. So let's try zero point five. A very faint overlay. And then we can try to move it. Let's go right here-ish here we go now this specific rock blends in better with this rock right here. So let's try it on this texture. And for some of the other rocks. All I'm doing at this points is opening up the material instance and playing with the parameters until we get something that looks nice and helps it blend in with the other rocks right next to it. Before we move on, let's handle some more big details and we're going to have to download a special mesh. So let's go to Quixel Bridge, and this is one of my favorite assets, including bridge. type in Icelandic volcano terrain. And it is this one right here. You want to download it I just download it as a medium quality and then add to our project by clicking on that button right there. So let's see where this is and mega scan's static measures drag this out. Here we have it. And this is a pretty large mesh. This mesh is perfect for those large background mountains. So just places like that. And from viewing angle. It gives some variety to our horizons, because without this mesh, when we look out to the horizon, it just abruptly ends. So we do want to fill that up. Let's start to paint some more trees, and this time let's paint some of the larger, taller trees. And see what it looks like from the perspective on the ground. I just think these trees are too big, so go from a minimum zero point five and a max zero point seven , just like beforehand. OK, more reasonable. press control and Z bunch of times, because I did forget. To turn off align to normal so come all the way down here and uncheck align to normal. And now aren't trees are bending and weird directions. Actually, they are still bending, and that's because we need to select those trees in the foliage editor and then uncheck align to normal. We can always come in here with a select tool and start to manually move around trees to get some very precise placement. Also, if you ever want to change the color of a tree, then you want to go into your trees, mesures, select a tree color, you want to change. So let's say right here and then you want to select a leaf. You can also see where each material is located on your mesh by clicking on the highlights. And if we click on this highlights, obviously this are the leaves. So double click on that. And within details, panel, we have a leaf tint so we can see if we come out here. I'm able to drastically change the color of those leaves. OK, so obviously it's this tree right here, but I'm pressed control Z, because that's just an example where if you do not like that color, then you can change it. I'm going to work on the stairs now and add some pillars, but before we do that, our stairs aren't really aligned. Some moved them just a little bit of this one backwards. Also, when you go into sculpt mode. flatten. So that the stairs are actually going to lead up. To a height location right there and just a little bit of smoothing. All right. Really starting to come along right now. And over here, we do have the stairs, the stair is located within 3D assets and castle stairs. So I want to use the side of the stair specifically right here to place it at the side of these two stairs. But unfortunately for us, it's not just one sided. We have two sides. So if I do place one right there and one right here, then we have this middle ground, which I really don't want. So we're able to make some really quick edits to our 3D assets and cut them in half using unreal 3-D modeling tools. So just like in blender, unreal. You can 3D model. But obviously, it's not as good as a blender. And I only 3D model in Unreal Engine for really quick edits such as this right now. So to activate the 3D modeling, come in to plugins, select all. And so we type in model and modeling tools at remote enabled. And we're going to have to restart Here we are back in the editor And now we have a new mode up here called Activate modeling, let's select that and we're going to use the plain cut tool. So down here, we have plain cuts. And now we can rotate this. It's going to rotate in the X. And just do a really rough cut, I don't need be accurate at all this points. I'm just trying to get one of the sides. So let's grab this side right here. And press accepts. I do have an entire tutorial that you could check out where we 3D model Blender Guru's Donut, but in Unreal Engine. So check that out. If you do want to go into more depth into some of these tools. And let's use the pivot tool. Right here to move our pivot, since I was in the middle and I want to be in the middle of our geometry moving the pivot is very similar to setting an origin points. Or a blender 3D object. And now we have. A nice side that I can place right here and scale up. Yes, like this. Also, hold down alt and move it. If we ever want to flip a static mesh, you can scale it on the X axis. Just like that. And move this one down there. OK, it looks like we're having some virtual texture issues again. If I come up pretty close, it looks nice, but when I go farther away, the texture quality goes down dramatically. So below levels and that did fix it All right, so now that I like my stairs. A select all these and scaled them up a little bit in a Z axis. Also, just make sure that the stairs are both aligned. Duplicate all of them. Now replace the other stairs. Right here at these stairs. And let's exit out of modeling mode. Now, press control space. Let's go into mega scan, static measures find some pillars. So if we go here type in Roman, we should see it. OK, so we have a Roman column. From a column of three. I'm just dragging them all out to see what we have. And we have this roman floor. this roman floor is really nice because it should be blending in with the ground, but looks like it's not. So let's open this up and see what the issue is. Blend Z bias is zero. So let's reset them. And just increase it. OK, here we go now the blend is looking a little bit nicer. The reason why there was an issue was because was because this texture blend and comes with the goddess assets. So it's not our custom function. Which meant that the parameters are a little bit different to what we're used to. But that's fine. So these assets are really great for giving some stone tiles. And real quickly, let's type in human and bring in any human reference, click on content to search for everything. And so we have a nice scale to go by. Like this person here, also, let's select this Roman tile and enable Nanite or these right here, I think. I think this left one would be really good as some general columns that we can place around. Also, we could delete these and maybe you want a broken column. You could use this one right here. But I kind of want my columns to stand for now. So let's move that one up. Select our person, see the scale. And that does seem like a pretty good scale, so maybe duplicate this. Let's go three right here. And maybe have. It's up to up at the top. Are there one at each monkey head? Rotate these around. To give them a little bit of variation. Also, maybe even flip them. OK, it does look like. The bottom is filled. You change them just a little bit more. And let's enable Nanite so press control B and it will Nanite. And save everything, because I do want to use this column right here. But when I enable Nanite Unreal crashes, I'm not going to be able Nanite on a specific match. I don't really know why, but it's kind of expected since at the time of recording, Unrela Engine five is in early access. But I want two really large pillars is at the back. Of the monkey. So let's go one right there. hold down Alt. And one right here. Let's duplicate these tiles. Move them over here, bring them down onto the floor. Some nice variation. And while we're at it, let's give an edge. To our road, some of these off to the side. Let's jump back into our 3D asset file type and stairs. And we're going to grab these one right here. Enable Nanite. Now I'm going to lower this down, hold down alt, you drag out another stair and let's rotate this one, 90 degrees. It's like this turn off snapping. And now if we place both of these together. Now, scale them like this. We see now we have sort of like a concrete barrier. Then we can rotate. And place off to the side. It's like that. Hold Down alt and place these off to the side like that, and just as a reminder, you can always change the color of your static measures by opening up their material instances. And change it right here. So I think the intensity is a bit too bright for this one, so does bring it down to let's go zero point four. Also, lighting, see what different shadows look like with control and L. Or just when it's completely pitch black. But let's go a little bit to the side left side. And I like seeing some tree shadows. Now let's work on the sides because the sides are looking pretty bland. So maybe we can add a static mesh go to custom assets and a good one right here is SM_Quary03 such as try to rotate this. And go into local mode, that's how it is easy to rotate. This one up. And let's try SM_04 OK, this one seems like a pretty good mesh. Let's cover up this hole right here. Find another asset. OK, so maybe this one right here and place to the side. And let's select all these new static measures, press control b to find where they are, right click. And of course, we're going to enable Nanite because might as well, and especially since these meshes are overlapping and Nanite cuts the geometry. That's how if we don't see the geometry, it's not going to render, which drastically increases our performance. And it looks like our virtual textures aren't working, so we're going to open up its material instance. We're going to have to adjust the texture button right here. Duplicate these meshes to the other side and also handle these sides right here. There we go. Also know that we can jump into our landscape mode paint. And for some reason, maybe you don't want the auto landscape to be right here and you just want this entire hill to be grass. then you can select the grass layer and just paint over that auto landscape like that. So know that that is an option. So, for example, right here, you could paint over this and make it kind of grassy. But I will press controls Z just leave it as is for now. And build level to fix our virtual textures. I notice that right here, this geometry looks like it's kind of floating, so we need to fix that. And let's grab in custom assets, SM underscore quarry. Rotate this one around. And simply slam it into our cliff like that looks a little bit nicer. And let's add some geometry to our road right here. So we already did a little bit of that with these Roman tiles right here. The goddess asset comes with some really nice rocks, go to mega scans. type in Icelandic and here we have a bunch of messages. We could drag this out right there. So that's one option. And let's drag these right here and scale them down because they are pretty big. Here is another option. Now, what I'm going to do is come through each of these material instances, fix them up a bit, make sure that the virtual actors are working and scatter them around the dirt path and my landscape in general to give my landscape more geometry and detail. OK, I've decided that I don't like the way that the virtual texture parameters are set up for this material. So let's just replace this with our own function. This part is optional. If you do think the parameters are fine, then you don't have to fall along. Press control space. Let's go into. Our monkey shrine assets. Auto landscape, drag in our function? And it looks like at the top here is our main material and the bottom is our blend material. So we're going to hook it up like this right there and maybe right there like that. So let's see if this works. OK, there we go. And everything is just working by default, so we don't need all these nodes. And you can leave those nodes not inside of there, but I'm just doing this a clean stuff up. You don't need these nodes. And all of this down here. We don't need. And this texture sample. I let all those. We can bring them a little bit closer. And. Everything seems to be working press apply Let's start scattering. Just because we added that function in doesn't mean we're not going to still play with the parameters because all the way up here. I want to decrease this one to 10 states, let's go zero point five. And also maybe decrease the blend right here, so make the fall off just a little bit smaller. And the virtual height is a little bit smaller also. It's the same thing for this one right here. Also, let's not forget to select all these measures. And press control B. Enable Nanite I need to come in here with a very, very faint brush. Let's go zero point one. And then raise the landscape. Because beforehand. We weren't completely covering our stairs. So this point, you pretty much have most of the skills and knowledge needed to complete this environment build. And there's one last thing we need to go over, and that is rope's so I am going to drag out a rope right now. And ropes are pretty unique in that there are spline very similar to Blender's Bevier curves. So if we come all the way over here, let's grab a human reference and move that right next to our rope. Since our rope is a little bit too big right now. move that right there It was down, and we're going to have to scale this down. Make sure that you are not in game view, so press the G key and we can see that we have two points on each side. If we select this point and move it around, rotate it, we can see exactly what this is. This is just like Blender's curves. We also need to increase this right here for spawn length Let's make this 47 and select that one right there. Also, move this one out and rotate to see what's happening. So this is pretty unique. We can also hold down alt and create a brand new points sol hold down alt and the rotators points. And so on. Actually, let's make this 40. You can delete a points by pressing that the delete key And that's the basics of how splines work in unreal. And move it. That's how it's connected to the monkey head, because I want rope's to be dangling, connected to the monkey, head to the cliff because. Really no reason, except I think it looks nice. Some of that there. And lets select here. Like that's just a little bit bigger. And I have some dangling ropes, but the issues I want to go far away. Maybe it's not noticeable through YouTube compression, but there is level of detail on this rope. Now, unfortunately, we cannot use Nanite to get real level of detail, because this geometry is dynamic in that we're able to move it. So instead, we're going to double click on a static mesh and we're just going to get rid of our LODs by scrolling all the way down here to number of LODs set this from five to one, and then click on apply changes. And this will get rid of all of our LODs We can visualize our LOD's up here by clicking on LOD Auto. And we can see that this is our maximum. And this is our least. Obviously, that's not really that much geometry. So if we click on apply changes, now, we see that we only have one level of detail, and that's just our main mesh. So let's get out of all these press apply And if we move far away, we could see that we don't have any LODs. This is the best geometry possible, making our rope's noticeable. Now I'm just going to copy and paste this rope around and create several dangling layers. Before we move on to small and medium sized detail, I highly encourage you to not follow exactly what I'm doing, but create your own environment, create own world and story. Because when you do get the hang of it, unreal is kind of like Lego, where we get a bunch of pieces and it's up to us to decide how we want to combine those pieces and create something brand new. So I'm going to jump into my foliage tool and I want to start painting some ferns. Now, I know we do have some really nice ferns with a mega scans and 3-D plants. Static meshes see everything we have. We're going to start with a ferns and then use some of the really smaller meshes later. Select these right here. So now that those are dragged in, let's see how large these are compared to our human. Come to paint. Increase the brush, left click. And that scale is not bad at all. Some I select my human. Delete them. Let's see if we have any other firms. And I also want to use SM underscore tropical plants. Foliage is dragging our tropical plants. Select all these and also see what the size is like up here. OK. That is definitely too big. So selecting. OK, I did not have my tropical plants selected, so now that they are selected, go zero point five and zero point seven. OK, that's not bad. And since are tropical plants are larger than our basic ferns, I'm going to deselect our ferns and only have the tropical plants selected to paint them. So we're going to paint our tropical plants first, and then we will handle our fern later. Let's get rid of Fern. That's right here real quickly. So hold down shift. Get rid of them now, uncheck the ferns, make sure only our tropical plants are selected and on the sides. I'm just going to paint around the monkey mesh. And you might be thinking that this is a little bit too saturated right now. I am definitely thinking that. And we will fix that in just a bit. So come here select actually, instead of there, let's go zero point four and zero point six. Decrease that size just a little bit more. And change our density to 50. The amount of plants you want to use depends on your computer. So if you have a super powerful computer then feel free to use a lot, but if you have a slower one, then it might slow down performance. Let's open up our tropical plants. And double click to open up as details panel, just as a reminder of your plants are glitching out, then you can disable the wind effect, which should fix it, which is all the way down here. You can control how much when we have, but I'm not going to play with this right now. Since I opened up this instance to adjust our plants color, because right now, personally, I think this is too saturated, so I'm just going to set everything back to its default value. Let's decrease the color variation, because I think it's a little bit too varied right now. I want everything to be a little bit more uniformed. Albedo intensity. Decrease just a little bit. And for our specular roughness, maybe increase the roughness, actually leave it at one, one is fine. And. For our intensity, OK I think that might be why our plants are really intense, because our subsurface scattering is set to two times what it should be. So let's set it right here for SS intensity to one. And it looks like our plans are looking pretty nice right now. Now let's paint some of the other ferns in, so jump into our foliage and select these ferns, only have them selected. So let's deselect everything real quickly. And then select our ferns. Left click to see what it looks like and maybe make this its default value so one, one, one and maybe a minimum random value from zero point eight to one. OK, that's better. And I'm only going to paint this onto the side. That's how it kind of looks like. Where we get farther away from the main path, the plants get bigger, but when we get closer, the plants get smaller. And that is too much right now, so maybe go back to 10. Also, this plant is a little bit too bright. So let's go open up this plant, static mesh editor and within here, we're going to open up its details, panel. Drag it over and adjust some of the settings. For albedo, intensity decreases to zero point seven. And for SS intensity also decrease that just a little bit. OK, now they blend better together. Now that we completed our large and medium detail, we're going to go over some set dressing. So this might be a little bit of worldbuilding right now, but this is a shrine, after all, and shrines often have candles right next to each other or like urns with food inside them. So this is why we picked the goddess temple, because they already created out for us. And they use it within the goddess temple. And we're going to use it here. So we're going to custom assetss candles, static meshes we see we get a bunch of candles. So I'm just going to place little clumps of candles at different locations around this monkey head. And by default, the candles are a little bit too small. So let's increase that size. To make it just a little bit bigger. And where's the human? For a reference. OK, now those candles are a little bit too big. So let's move it. Decrease the size and also we have these urns that we're going to be using, so lets grab this one out. And let's have these hanging ones off to the side for now. Because we will connect them to our ropes up above and jump into our mega scans 3D assets. Here we are, so we have incense urn. And. A jug. A candle stand. And this wooden plate right here. So far, this plate, since I don't want this palte to be dirty, and if we move it close to the ground and a virtual texture will start to blend with it, open up the material instance and simply uncheck use, virtual texture blending. Now, when we put our asset across the ground, it's not going to blend with its. Also, we need to do the same thing right here for this candle. So unchecked, it's virtual textures. And for this cup. All right, so essentially what we're going to do is scatter all these assets around the path leading up to our monkey head lets delete the humans as we no longer need a reference. And real quickly, select all those static measures, press control B to find where they are and activate their lights. Since this is a tutorial, know that I am going pretty fast. If this was a normal environment build, then I would be more methodical about the placement of my plants and my 3D objects. But since we are on a time schedule and video videos, probably going to be pretty long to begin with. I'm kind of speed running this environment build. I could spend days just placing objects, painting and sculpting, building environments, and in unreal engine had never been easier. And honestly, it's pretty fun. So at this point, I notice that some of my textures were really blurry, so I went into my console commands and I typed in r.streaming.poolsize and I gave it a really large number. This one is 10000, but I could be a million. And essentially, it's going to tell unreal to allocate more space for textures to avoid that blurriness. So just know that that is a thing, normally when that does happen, there'll be a warning up here. And the top left hand corner saying texture streaming full size needs to be changed. Then you come down here and type in r.streaming.poolsize But for some reason to give me that warning. But I did realize that that was probably the issue that was happening at that moment. And over here. Let's start to hang some urns from the ropes, and we can do that. So let's go 3d assets static mesh type and chain. And there's a chain right here. So the chain will be hanging from one of these ropes to the top rope in the back. Rotate ninety degrees. And we could grab this static mesh right here, so press ctrl B it's on our custom assets incense burner. Let's select all three of these right click and enable Nanite on them. Same thing with this chain right here. So it's enabled Nanite on that. Also, if you want to be more precise about the length of your chain dragging it out there. Let me bring it out. We also have one individual metal chain. But you can use to create your own custom link for this chain. Also, I really like. This one kind of reminds me of a Christmas ornament. So I just want to place this one right here. If I was taking my time, then I would bother to create a smaller chain length. But I think just leaving it like that for now is fine. And an old duplicate, actually, let's delete it. Duplicate this with the chain. If I look at the ground, my ground is just a little bit flat, so I'll probably paint some pebbles along this road. And we have more foliage to pick from. So I'll also add in a little bit more foliage. So I want to bring in some, some rock mehes to my ground to just make the ground a little bit bumpier. And I found these nicerock meshes but unfortunately, they are way too big. So you can watch me try to play with the settings to get a nice size. And since these are static measures that aren't moving around and they don't have an opacity texture, that means they're perfect for Nanite So don't forget, you can enable nanite, even though they're technically foliage. Also, we're not just limited to the assets that are currently in our project. Don't forget, we have access to 15000 different assets to bridge, and we even have a wealth of different assets and you could find on the Internet or through the unreal marketplace. So feel free to combine different models and styles and see what you could come up with. I notice right here when I go back, our shadows pop in and out, in and out. That's because the LODs on our trees, we're able to turn off a level of detail for our foliage by typing foliage dot force LOD. And so that's a zero. And we don't get that popping. But if you do have a lot of foliage in your world and your graphics card isn't that powerful, then we would see a drop in frame rates. Luckily for me, there wasn't that big of a drop. And I'd say at this point, we're pretty much done with our first unreal engine five environment. You know, it's pretty small, but we do go over a lot of features. And hopefully the skills that you learned throughout this tutorial and this build, you'll be able to apply to your own personal projects, completely different from what we just made. But before we go away, this is a little bonus. Let's create a variant of this world. But for Nightlighting. So let's make a duplication of the current map we're on. Press control and W duplicate this call this one monkey shrine now. Double click to go into it and save selected. That's how we were able to save our original map. So the changes we make now will not destroy that old map. So the vast majority of our lighting will be handled by HDRI because obviously this is nighttime or it's about to be nighttime, then we don't have a directional lights. So to begin, let's find where our sky and atmosphere is and delete that. Also, delete our directional lights. our fog and. Where is our post-process volume press F to jump to it lets go into wireframe view mode that's how we can. Much easier to see what's happening with my post-process volume closer to the main area. And now press control and space go into your engine content. If you do not have engine content, then make sure you got a settings show engine content is turned on. And let's find where our SM underscore sky sphere is. Which is right here. Drag this in because this will be the sphere that holds our HDRI, and luckily for us, the goddess asset already includes an HDRI texture and material we can use. You can find it under Masters 01 underscore Master. It is this one right here. M underscore HDRI Skybox. So we're going to create a material instance of this and actually just leave it as is. Drag it on to it just like that. So let's open up this material and and see what options we have. And the options are pretty self-explanatory. We can tint it. We can control the brightness right here. We can control the contrast. They even had a saturation. And we can rotate it by selecting your Sky sphere and rotating it like normal. Now, obviously, the sky sphere is a little bit too small. So up here, scale, click that icon right there to lock it for a uniform scale and type in something large like ten thousand. Now, unfortunately, it did take me a while to figure this out. But the reason why we have black clouds right now is because we forgot to delete our cloud. So delete our volumetric clouds and now our HDRI looks nice. So we see we do have an issue with our skylight. That's because when you click on a skylight and uncheck real time capture, we are no longer using a Skyring atmosphere . And now our skylight is illuminating our world. Pressing alt and 4 our virtual texture's aren't working, so let's build all levels. Now, for some reason, our runtime virtual tecture volumes broke when we duplicate our map. So we need to type in runtime, virtual texture. Select one of them. Go to our virtual textures are located under masters 04 underscore RVT right there for material and then drag another one for World Heights. And now let's build our level. And that seemed to have fixed our virtual textures. So now let's start working on our lighting. Select a sky and see what options we have. So within the details, panel, we can control the brightness and the contrast. I found a value of one point two to be a pretty good contrast. Also, whenever you do change the value of your sky, make sure you go into your skylights, scroll all the way down and click on Recapture. Also, you could increase your skylights intensity separate from the actual intensity of your sky HDRI right here under intensity scale. So maybe a value of. Two. I think two is pretty good. These are settings I've found to look good. Of course, you could do a different setting if you think something else looks better and we can rotate our sky around. I want to rotate it. That's all. The sun is kind of in the back of the monkey head. And at this point, you could say it's done, this is a night or morning lighting setup. But we have these candles. Let's light them on fire, trying to create lights and a simple point, lights move that up. So that point light is way too bright just for some candles. So maybe four or we can have it be three. The lighting is too sharp. Increase the source radius to get softer and softer shadows. Maybe right there. And play with the temperature, because this light is pure light, normally flames and torches, they're orangy. So bring down the temperature to. Let's go somewhere around 4000 thousand and set this to movable. So lets duplicate this light over to the other area, candles. And duplicate this to the sides of the monkey head. Just like that. Maybe move this one a little bit closer to the actually just off to the side. Go into our skylights. And I think. Maybe the sky is a little bit too intense so I need to rotate it. Right there like this. For skylights, instead of an intensity of two, maybe one point, I think for now, I'll just leave it at two I might change that later. But zooming in on our candles, we have one issue, and that is we don't have any candle flames. So the goddess temple comes with some candle flames under Marsters 01, underscore Masters FX candle. And we need a first dragin, this plane. So this is just a very simple four vertices plan. And the reason why we drag it in is because we're going to be using it to hold our flame material. So this is kind of confusing. Let's open up our flame material. And within here, the details, panel, it is way too bright for us. And you click on Albedo, and this material's pretty interesting in that the brightness is being controlled within the albedo color and it's the value. So we have a value of three thousand five hundred bring this to a value of one. And now we can much better see what that flame is, maybe a value of two. Or four. Now that looks pretty good press OK So we're going to select this flame. I need to say that in the case that you're unable to select a flame. That's because you have transparent selection turned off to turn back on transparent selection. You need press the T key So click on T and you'll be able to select a flame once again. This is a little bit easier to see with in detail lighting mode. hold down alt to duplicates. We do not need a place, this flame on all the candle wax just on some of them. And maybe this flame is technically too big for the candle wax, so decrease the size. The shrine is looking pretty scary with its lighting. But I think we could do a better contrast since a blue and orange are complimentary colors. I want to exaggerate the blue that is on top of the monkey head, which is coming from the sky. And to do that, we're going to fake it. With a rectangle lights, so drag out a rectangle light, let's see what it is. Maybe increase that size. Also set to movable. Rotate this 90 degrees. Angle like that. And we can see turned us on and off. You could turn on and off with the icon in the world outliner. Make it a little bit more wider. I want this to be pretty faint, so give it a value of two. And then for temperature. Increase a little bit and also make it just actually. We're only going to be playing with the temperature here. So let's see what this looks like. Before, after. Well, the temperature all the way up to 12000 so that it is the coldest color possible. So this is. Before, after. Slightly blue right there. There we go, so we just exaggerate that skyline. But only for one particular part, which is this monkey. And I would say at this point, we are pretty much done. Congratulations for being one of the people to make it to the very end. Before we go, there's one last fun thing I want to point out. And in case you did forget unreal engine five is a video game engine. So that means we can run around the world as a character, but we need a character first so we can get one by pressing control space. Add add feature or content pack. And we are finally going to use third person for what it's intended for, not just as a human reference. So add to projects. And we have a new folder we can see it's called Third Person BP and within BP is blueprints. Blueprints is how you program in Unreal engine. I have entire separate tutorial you can check out on the channel if you are interested, but we want to use a third person character. Now, we can't just drag it in and press play because we can see we are not possessing that character. Instead, I'm going to delete third person character, come into world settings. And we have this setting right here called game mode override. In the dropdown, we're going to select third person game mode and press play. And congratulations. We now have a walking character in our world. We can walk around, come up to the monkey shrine head and it is slowing down right now. That's my recording software. And give your praises. Drop some gifts and hope that the monkey head will bless you on your journeys. And that concludes this lesson. So if you're interested in more unreal content, make sure to subscribe. Also, I do have a course called the Unreal Masterclass, where we take an even deeper dive into unreal for some more advanced topics. So if you are interested, then make sure to check that out. And with all that being said, have fun!
Info
Channel: Unreal Sensei
Views: 15,543
Rating: 4.9929576 out of 5
Keywords: ue5, beginner, tutorial, unreal, engine, unreal engine 5, unreal engine 5 beginner, course, free, 3d, game, nanite, lumen, blender, blender 3d, cycles, eevee
Id: IQCNJ9Lpx-s
Channel Id: undefined
Length: 280min 45sec (16845 seconds)
Published: Tue Sep 14 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.