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!
I was waiting for this :D