EVERYTHING You Need To Get Started Texturing Large Game Assets

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
when beginning to learn 3D art it can be difficult to understand how we go from texturing props to texturing huge assets such as buildings and boulders eventually we can no longer continue to increase the texture resolution but we still need to maintain a sharp detail and interesting material across our assets so how can we do all of this in this tutorial I aim to answer just that by introducing you at a high level to many techniques we use in game development to solve these very issues the methods we'll be going over can be applied in a variety of engines and by the end of this video you'll have a better idea of which approach to use for which type of asset we'll start with the absolute Basics covering how we can get a good resolution on large meshes through understanding something called Texel density we'll explore UV manipulation in engine tiling kits and more to accomplish getting this right from there we'll start to layer on ways to improve the look of our materials by using additional normals and some easy ways to inject some flexible visual interest moving on we'll get into how we can blend multiple materials together in a natural way simulating the layers we'd have in something like substance painter all while maintaining our crisp texture resolution next we'll explore decals and how they can add very specific details and break up to our assets punching up the visual quality one step further finally we'll go over three Master materials I created that combine many of of the techniques we went through over the tutorial Each of which specializing in their own approach for texturing large assets we'll be going through all of them one by one and explaining when it's most appropriate to use each and why this is a tutorial I've wanted to make for quite some time now since I find it's pretty difficult to find information on all these things especially when you're starting out so without any further Ado everyone let's go ahead and dive into the video alright hello everyone and welcome to this new tutorial so as you saw in the intro there what we're going to be doing is talking about how we can texture large Assets in games we're going to be going over a ton of different methods and going over a bunch of different techniques from the very beginning and layering on more and more information until we end up here at the end with where we have our final shaders and these are very very flexible materials that we can use to cover huge surface areas blending multiple materials and get a very similar look to how we would see stuff in maybe a unique texture for substance painter but on very large assets and the texture quality is going to be just as crisp as if we used a 4K or 8K texture or something like that without really breaking the memory bank whatsoever so like I said we're going to be going through this step by step and if you're watching this and you want to follow along directly in the scene or you want to just grab these materials I'm going to have a link down below to my gum road to my art station where you can download this scene and just grab everything for yourself use it in your scenes or just like I said to to follow along and learn uh if you find that useful but for now we're going to start at the very beginning we're going to start with engine tiling versus UV tiling and for those of you who maybe aren't too familiar with how we go about this and what the issues are this is going to be a bit of a high level uh introduction to this but I want to try my best to break this down so when we're texturing assets as you can see here this in this both have the same material applied but one is much bigger and one is much smaller and that's going to be a bit of an issue because that means since this is scaled up it's going to be blurrier than if we look at say this one where it's going to be a bit more crisp and one important term to know when we're talking about this stuff is Texel density and if you're not familiar with that it's similar to how a TV monitor or a screen has pixels and a resolution each polygon or face in a 3D space has a certain amount of density that a texture is applied to it based on the scale of the UVS if the UVS are bigger or smaller or if the mesh is bigger or smaller in relation compared to the texture size that's applied things are going to be blurry or crispy so for example a common textile density and a modern game would be one meter squared equals 1K texture resolution so we have a four meter cube by four meters and a 4K texture on this um and that's going to give us a nice crisp texture resolution but if we scale this up to an 8K or sorry an 8 meter cube with a similar 4K texture applied the polygons are much bigger so the texture is not going to hold up as crisp because the pixels of that texture are being stretched bigger um so that's one way to sort of go about thinking about it we want to have a nice consistent crispy density and we're not able to do that for things that are so big and that's why when we're texturing huge assets inside of substance painter or any other program eventually we have to keep bumping up the texture resolution to match the density of something smaller like this now if this is something you're not super familiar with or if that didn't make total sense I recommend checking out this older tutorial I made called understanding UV layouts I go over a bunch of things like mirroring UVS stacking UVS multiple texture sets but at the at the very beginning one of the things that I do is go pretty in depth on Texel density explaining exactly how it works so if you want a little bit clearer of a breakdown of that I recommend this it's a totally free video to watch there's going to be a download link in the description of this video to go check it out and I'll have that of course Linked In the description of the video you're watching right now so uh yeah if you need an extra breakdown you can go ahead and find it right to there but anyways what does that leave us with with here so we're going to want to find a way for something that's big like this where it's not able to get this density we need to find a way to get this crispy 4K texture density onto an asset like this where it's not really possible so there's two ways we can go about this and two ways that we can think about it both of which have their advantages and we're going to be exploring both of those the more we go into this tutorial the first of which is going to be with just the UVS here so if I go ahead and open up this Cube here this is just a standard 4 meter by 4 meter cube I brought this in from blender and if we go ahead and look at the UVs this Square represents the UV space and as you can see the um faces of the cube are filling up the space completely so that means this entire 4K texture is being projected onto each of these faces completely and perfectly covering it and we're getting a perfect textile density it's very crisp nothing's wasted it's it's looking really nice and the same thing's going on here with this Cube but since it's so much bigger it's twice as big we're getting you know not as much resolution so one way around that and the easiest way to think about it is let's just increase the space of the UVS so if we go ahead and dive into blender we have this eight meter cube here that I've been working with and let's look at the UVS yep it's just filling up that square perfectly if we were to double the size of these faces we would be getting double the resolution and we'd be matching the previous Cube so that's going to work really nicely let's go ahead and give that a test I'm going to hit R so I can enter my scale mode and then just two to double it make sure it's perfectly doubled and there we go and you'll notice here that we're actually outside of the zero to one texture space I know when a lot of people are starting it's like sacrilegious to break out of the zero to one UV space but this is something you're gonna have to get more comfortable with for something like this I'm mostly just worried about that it's tiling more right I'm not worried about baking anything for something like this and since I'm not worried about baking it doesn't really matter if I go outside of the space because that's pretty much all um that's really useful for is baking or getting very specific mapping to something that's uh you know 2K or a 4K or whatever but if I'm just worried about tiling and nothing else I can break outside of this boundary double my space and now as long as my texture is tiling properly I'm going to get double the resolution so I'm going to go ahead and Export this back to Unreal Engine and we can go ahead and take a look at how that's going to change things all right let's go ahead and hit re-import here with nothing but the UVS chained changed and as you can see now we have twice the resolution since our texture is a tiling texture in all directions even though we're outside that UV space we're getting pretty much perfect results here we're just getting twice the resolution even though this is much bigger than the ideal size for our textile density we're still hitting those textile density goals right here just by scaling things up on our UVS and this is looking pretty good that's definitely one way to go about doing things now we have another way to accomplish this and um in order to do that I'm just going to go ahead and move this over and let's grab a cube where we didn't adjust the UVS such as this one and I'm going to scale it up by two uh just to make sure we're getting that bad textual density that we had before so how can we do this in a different way and one of the easiest ways to do this and one of the most common ways you'll find across a lot of shaders and game engines is going to be the tile directly in the engine so I have this other Shader set up here if I go ahead and open this it's pretty much the exact same as the other one where it's just basic inputs for our Maps but we also have something called tile amount and let's just go ahead and look at our parent material and see what's going on here we have a texture coordinate and a tile amount multiplying into the UVS of each and that's it that's the entire setup here and as we change this value from one to something higher or lower it's going to adjust how much these are tiling let's go ahead and take a look in the material instance I'm just going to apply this to the larger Cube and you can see if we scroll this it's going to tile more or less depending on the number we set so one by default is going to be just the standard amount of tiling but as we determined before this is eight meters we want it to be twice as big so we can tile this by two directly in the engine and we're gonna get the same texture resolution that we wanted originally so UVS being twice as big tiling by two in engine is going to be the same as if we just had perfect UVS on a 4K texture of something only half the size so this is something to really consider there's a bunch of different ways we can scale things in our UVS and in the material Editor to sort of get things more crispy and sort of lay up that foundational layer so that's one way to avoid having to do everything in painter having to worry about getting crispy texture resolutions on something so huge we can just do it right in the UVS do it right in the engine and that's going to take care of that now you might be thinking right now that this is looking pretty boring what if we want to start adding more things on top of that don't worry we're going to get there but this is just sort of the very first fundamental section before we move on even further so we have some interesting stuff coming up next and some other ways to cover a huge surface area so let's go ahead and move on to the second section which is going to be kits so now that we can see the power of tiling textures and how they can cover large objects with good resolution I'm going to start thinking about how we can actually apply this information to the actual models we're going to be using in our game art so one idea I want to start thinking about really early on is the idea that we can actually model to the existing tiling textures that we have at our disposal so normally we're told that we should make a model on Rapids UVS and then start texturing but just as many if not most assets in games actually start with a tiling texture and then the model is made to fit that tiling texture so the most basic example of what I can show to explain this is kits so much like the cubes that we saw at the start um when these are lined up we can see that things continue to tile so if I take this euv Cube here make sure we have our snapping on and I sort of duplicate it over it's going to continue tiling and that's because the edges of the UVS are lined up in a specific way that it's filling up the full space and this Edge ends where this Edge continues and we can take a look at that in blender to see exactly how that's working so we have this wall face which will be showing an engine in just a second but if we actually click on it we can see that this edge here uh represents this edge here and this Edge represents this Edge and it's filling the texture space completely so as soon as we start moving outside of this space things just continue and they repeat over and over and over again so if we if we line up our UVS in a way where the ends are going to meet and they're on a grid and we start to duplicate things around they're just going to continue over and over and over if we start snapping things directly beside one another and as you saw in engine we had a very basic example of this setup a very crude looking house but you can see we have a full space here with a good texture resolution that's larger than the cubes that we sort of went over earlier and rather than bringing this in as one piece and just scaling up the UVS very large I've broken things up into smaller pieces that all sort of slot into one another and they continue the tile working perfectly so this is really good because it's going to give us the texture resolution we want but it's also very flexible because we can reuse these pieces to make a much larger house a much smaller house we can change the shape of everything and as long as the UVS are lining up in a way where the end starts somewhere where the next one begins and we want those pieces to click together things are going to work out very good so that's one way to think about how we can start making models to our existing textures and just to sort of take a more advanced look at things I found a kit here by a art station user that goes by Alex Perez make sure to go check them out they had some pretty cool stuff but this is just a really great example of a more developed Advanced kit here so we only have a few pieces and none of the shapes are too crazy but the end results are really awesome so rather than making one solid chunk here and scaling the UVS up and making sure that they're to the right textile density they've made a few pieces here worrying that these are all a crispy resolution in that the ends here sort of connect together in a natural way and you can also in some cases just sort of cover the ends if it's a natural thing that you can get away with so these for example are going to line up perfectly in the UVS when they're next to each other but maybe sometimes you just want to cover an edge with a pillar or something like that if the texture seam is going to be causing some issues but if the UVS are set up properly you're not going to have to worry about anything like that but just using these pieces here they can make a gigantic building we could make this 100 stories tall we can make it more narrow wider whatever we want just by thinking about how we have this tiling texture and we're going to model our pieces to it to make sure the UVS are aligned in a way where we can snap things beside each other and continue the tile you can see that this isn't quite a square shape so that's uh gonna have some interesting ramifications but it seems like it's tiling much more vertically than it is horizontally um so you can sort of adjust things as long as it's lined up with a part of the UVS that's going to tile into the next piece that's totally fine so this is one way to approach this kind of thinking and there's other ways to start thinking about this as well so you can already see with this this is a very very basic version of it but we can model to the existing um existing textures after we've applied them onto things so I've just sort of popped out a few shingles here I've made a few sort of covers for where there are more obvious seams same on the corner here so these are pretty basic examples of what we can do here but let's go ahead and take a look at that inside of blender once again and just see how easy it is to set this up so I have this roof piece and I just sort of made sure that it's tiling into the next part so it's four meters to match with our 4K textile density that I was going for from the beginning and then I just wanted a bit more depth so I literally just went in here and cut these out and extruded them a little bit and there you go we have some actual proper depth to this so that's like the most beginner friendly way to start thinking about this it's not going to mess up the UVS because if we look at um the bulk of this the edges here are still lined up and then I'm not too concerned about anything else here because it's not being shown let's get rid of that as well and you can just see that the edges here are lined up and everything in the middle doesn't really matter too too much I'm just trying to keep it as straight as possible and then I just popped these guys out so what is like an actual good version of this look like because I'm not going to hide it this is a pretty quick Bare Bones example but I just wanted to make it really simple and really easy to digest so let's go and look on this pure ref at some more advanced um versions of this so this is something I worked on I've been working on Gears and this is something called a trim sheet so this is a tiling texture that's tiling multiple different patterns or use cases in Just One Direction so if we were to scale this way up it's going to be repeating this over and over which isn't too useful but we have so much going on here we can lay out our polygons on top of this and get some really interesting results because these are all tiling in their own right horizontally so I created this uh series of patterns and put it onto one material and you can see how many use cases we get out of something like this so these decorative shapes are used for these floor trims these entire pieces are textured with just this material so I started with this [Music] um and you can see I made out a specific part for sort of the encasing I made out a specific part for the dividers for um The Edge Parts here and then just sort of had some more ornate space for the different patterns that I was going to slot in and you can see they're sort of used all over the place with the different patterns slotted into the main area but we had you know several variations of these to work together as a kit um so you know dozens of Parts all just using the one material and I just started with this and modeled all of those pieces to this sheet now I made this sheet with the intention of using it in a bunch of different ways so I try to make it very flexible but you can see it was just starting with a material we can make assets to that and the texture resolution is going to be nice and crispy because we can just sort of layer our UVS as much as we need to we can tile them from left to right or scale them up if it's a full tiling texture as much as we need to and it's going to save us a lot of time as well so let's one way to start thinking about how we can do that and this is a huge asset and you can see that I am utilizing these sort of tiling trims all the way around over and over and over again and there's no way something like this could ever be made with just a standard 4K texture because you can see this as a 4K texture how much space this is taking up here and you can see it being wrapped around here several times so I'm just thinking I want to get this to be the right size and then I'm just going to tile it over and over again um rather than try and cram everything into like an 8K texture which is going to be way too expensive I just made one thing we have so many use cases out of it and I always have to make sure we're controlling our UVS and laying it out very evenly and nicely now I can understand when you're learning that this might be a little hard to wrap your head around no UV pun intended so I actually have an older YouTube video that goes a lot more in depth into this and I definitely recommend giving this a watch if you're not entirely sure about trim sheets and tiling textures and how we can model something specifically to an existing texture so for this I'm going to actually open up the other unreal scene I have here and this is going to be pushing my 2080 to its limit right now so if this video starts to lag apologies but I made this entire floor here and this is just one mesh um and essentially the way this was made was by using this tiling trim here so this main white part here um is the bulk of the floor and then we sort of have this darker area which I used to divide the pieces up and I essentially just took this huge space and I cut Things based on the patterns I wanted I first laid things out to be the correct correct textile density cut them up as you can see I'm laying out this big strip here on just this colored part of the pattern and cutting things up here and adjusting the tile to make sure there's none of the dark areas filling up the the larger portions so we can model to this one texture and fill up this huge space and then to add more detail I'm like let's pop out some of these tiles and then we can you know model more specific ones and put them in there so in the middle after laying everything out with the pattern I wanted to I cut out some of those bricks and I added some individual shingles or tiles or whatever you want to call them and slotted them in there to give it a more um Dynamic look so it doesn't just seem like it's one texture all the way through and as I mentioned this is a existing YouTube tutorial this is you know on this channel completely for free if you want to check it out and you can find it here called creating detailed floors for games using trim sheets so that's a much longer tutorial specifically diving into that topic if this is something you're more interested in I definitely recommend checking that out but it's really important early on for me to drill in the idea of we can actually model two existing textures I feel like this isn't something that's explained super well people just want to make everything unique things are going to look probably better that way for sure but the bulk of things are going to be made this way and it's also pretty much the only way we can get things to look very specific at a very large size so that's how I went about this that said there's another way that we can get a good texture resolution on very large objects so let's go back to our main scene no need to save this and take a look at something else called World align textures so here's a collection of rocks they look very very basic but that's just going to be layer one we're going to be expanding on this a lot more later on and what's going on here is we have a nice crispy resolution on this [Music] um it's looking I guess pretty good as far as taxal density goes but the really cool thing about this is we if we maybe look at one of these areas like keep your eye on maybe one of the warmer areas if we move it what's going on with these textures is they're being projected in World space so the texture is always going to be exactly in the same spot regardless of the asset it's just going to be slapped onto the asset in World space so what that means is if we tile it to the way that we want it to be tiled we can scale this up as much as we want and the resolution is always going to be the exact same which is super powerful if I actually open up this material instance and take a look at what's going on here we essentially just have the inputs for our textures I'll move this to the side we have our control on our tiling how much we want this to tile the texture over and over again and then we have something called the transition contrast so what's going on here is the textures being projected from a bunch of different angles and we can just sort of control the contrast between where they're blending here and if we take a look at how something like this is set up it's actually really really basic we have our main texture inputs and this is going to look more complicated than it is but they're just being plugged into um World align textures so World align textures are going to project them from the world space that we just sort of discussed there and the normal gets a special one because Normal has to uh change its values based on angle unlike the other Maps do and the only other things going on here is just the additional controls for how much we want it to tile the position and the actual contrast but it's basically just one additional node for the actual textures we're plugging in and that's it and that's going to give us the opportunity to then you know duplicate these as many times as we want to scale them up as much as we want to as long as the tiling is in line with what we want and we're never going to have to worry about textile density which is great we're getting a really good crispy texture projected across all of that and the best part and something that a lot of people are very excited about is we don't actually have to use any UVS whatsoever if we're doing this approach um now that said as powerful as this is It's really something that lends itself great to organic objects like rocks or Boulders or something to do with snow anything like that but as soon as we're trying to get very specific shapes we can't do that since we don't really have control it's just being projected from a world space position so if you want something organic definitely go down that route if you want something very specific where you're carving out um very unique designs to fill a floor or you want to make several pieces only using one texture and you want to be very specific with how that looks you're going to want to use it this way where you're modeling to an existing texture and pretty much anything like a kit or something like that I'd always recommend having more control over how the UVS slide up next to one another and then if you want something organic where you just want it to be very natural you're not worried about how things are interacting with one another world line is super powerful and even though these are multiple rocks jammed into one another you can't really see where they're touching each other or connecting to one another because the world's the world space does a great job of projecting evenly across everything so those are two ways to start practically thinking about how we can use that information about tiling in engine and setting up our UVS to get a good textile density across very large objects now you might be noticing these aren't looking too good moving on throughout the rest of this video we're going to start talking about how we can actually take that information and add some detail on things to make them start looking more interesting and like art you're actually going to want to show off so let's go ahead and move on to the next part of this tutorial all right so as promised we're going to start talking about how we can actually make things look a little bit more interesting and a little less generic so the next topic is going to be macro and detail normals so if we take a look at this rock here it's going to be the same rock as before but even just looking at them from a distance we can tell this already has a little bit more going on this is very smooth it doesn't really lack any specific detail we're seeing a lot of repetition across the surface but here things are starting to feel a little bit more intentional they're not fully there yet but it's a bit more interesting the shapes are carved out a little bit sharper so what's going on here is we have the exact same setup as before where if we start moving things around the textures are going to remain the same in World space which is super useful we've already gone over all the benefits of that but if we actually open up the material instance we're going to start to see there's a little bit more going on under the hood here so we have everything that we had before but we also have something called a detail normal and something called a macro normal so what I'm going to do here is first bring this up so this is the actual rock that I grabbed off of Mega scans to sort of put into the viewport here and you can see it's using a completely different texture it has a totally different vibe going on it's not quite the same but I was trying to make this look you know as good as I could with a different generic tiling material on it but one of the ways that I could do that is if I went into the material I could grab the specific baked normal that was on this rock and think if I could uh you know inject it into this somehow to get some more specific details because without it things aren't looking as sharp as they could so the way that we're doing that is we have something called a macro normal the macronormal is going to be the mesh specific normal that we can overlay on top of the existing textures to get that more defined sharp look get those details we want in there and uh yeah we can do a lot with that so if I turn this to zero this is just kind of how it was before with no specific details whatsoever very smooth and this is going to be the specific baked information that came with the acid it from Mega scans I'm just going to turn that down a smidge and this is great and you might be thinking if we're baking textures and this is specific to a certain size isn't gonna isn't it gonna break our textile density and typically that's not something we really have to worry about all that much when it comes to very large assets like this we're usually pretty okay with just putting on a macro normal for something that's typically would break the textile density just because it's mostly there to affect the lighting information and making sure things are blending properly and the actual tiling texture underneath is going to be what we're going to be seeing that's really pumping up the detail so if I scale this way up it doesn't really matter to us that the you know crevices here are not exactly to the right textile density because what's underneath of it is and that's what we're really looking at and that's what's taking up most of our view now on the other hand we have something called a detail normal and how this works is if we do scale something like this way up and we're finding that we're not quite getting the detail if we want to we can overlay something called a detail normal which is going to be a very tightly tiled normal over top of everything that's going to take care of the look of something when we're really up close to it so we have this detail normal here if I turn this to zero you can see we start to sort of Miss some information and if I turn it up a little bit let me just crank it up like a ton to 10 or something you can see it's overlying another detail let's turn up the tiling to something like 15 we'll get a bit more on there and then bring it down to something a bit more reasonable you can see we have this this normal information that's holding up really good when we're up close because we can make this the textile density we want to that's holding up right in front of us so between this detail normal that's working right in front of us and the macronormal which is holding up the overall sort of lighting and rendering information we want even when things are scaled up we can get more or less the exact look we're going for regardless of the size of our asset so we have the normal that's a part of the actual material that's tiling in World space the macro normal which is specific to the assets and it's going to be giving us these nice large shapes that are working really well and then the detail normal which we can tile a bunch of times and it's going to make sure that when we're really close to the asset we're getting some nice little bits of information as well and if we look at this and how it's uh been building up since our previous material it might come across as if there's a lot going on but it is still pretty basic uh we have everything we had before but if we look at our normal all we have is a blend corrected blend angle corrected normal sorry which is blending in our macro normal into that and all that's going on here is I just sort of have some control over how intense I want that to be because we have a scalar parameter and a flat normal but more or less we have our original normal being blended into our new macronormal and then once again we're doing the exact same thing but we're blending that through a detail normal the extra nodes here are giving us the control to tile this as much as we want to Meanwhile with the macro normal since it's specific to the UVS that we have I just didn't bother setting that up so just blending some additional normals on top of our original material and we're getting some more specific shapes to the actual asset we have here and the great thing is is we can make infinite amounts of this material instance plug in specific um macronormal so whatever we're working with and we can have a bunch of different Boulders all with the same sort of Base material that's working here but I'll have their very specific shapes and grooves and all that kind of stuff to break things up and start to add some more personal detail to each of the assets so that's the first layer and how we can add some more interest into our materials for larger assets we can scale this up as much as we want still going to be looking good but moving forward we can make things look even more interesting if we start to blend other materials into our base material so let's go ahead and talk about how we can do something like that so next up here we have something pretty interesting as you can see there's some actual moss and a secondary material being Blended in here on top of the rocks that we had before and things are actually starting to look a little bit more final a little bit more interesting the really cool thing about this though and the thing that makes us so powerful is if we grab this and I start to rotate it you might notice something interesting going on here and that is that the moss on top of this rock is always generating on where things are pointing up no matter how I rotate it so at the bottom here there's no Moss at the moment if I rotate it the Moss is going to come in so we call this a z up material because in unreal the z-axis is pointing up and this is set up so that the normal of the mesh that's pointing up is going to have another texture Blended on top of it so this is also really useful for snow maybe you want something to be wet only at a specific angle and Moss is another really big one but it's just an example of how we can start blending additional materials on top of our initial layers so before we had these interesting normals coming in but it was kind of boring and now it's starting to look a little more final I just threw in some extra leaves and stuff to sort of make it feel a little more grounded a little bit more like things are actually coming together but let's take a look under the hood and see how this is all beginning to work so if I open up the material instance here even in the material instance we can see that there's Moss always on the top even if I change this to like a cube the Moss is going to be at the top because the normals of this that are pointing up is going to be what's receiving the blend and though we're getting quite a bit going on here uh we're just building upon what we started with so we have our detail normals we have our basic inputs we have our tiling but now we have some Z up um additional inputs here so first things first we can change what's being Blended on top here really quickly if we don't like this Moss we want to change things up we have the the freedom to do that but we also have some settings for the actual sort of moss look the fuzzy power the core Darkness these are things that are specific to getting a good looking Moss or some foliage types really benefit from this but what we're what we are really interested in is the Z of a blending so we can actually dive into here and we can adjust the blend normal we can lower how much is being Blended on we can increase it so it's very Mossy it's going to be taking into account the normals that are actually underneath the um the Moss layer so it's going to be based on that it's going to take into account our normal map so super useful we can change the opacity of things maybe we don't want it to be as opaque we can change pretty much everything the tile we can change the tint of it we really have full control over it and it's just going to be a matter of two different sets of textures blending into each other based on which direction the uh the mesh is facing um and it's going to be looking at which way is pointing up so let's actually dive into the master material for this and see what's going on so this is where things are going to start to look a little bit more complicated but the point in this tutorial isn't to really break down all of these things super specifically it's just mostly to introduce you to these ideas and make sure you're aware of the different options that we have here within game engines so we basically have the normal setup that we had before where we have so World space textures that are tiling and those are being plugged into a material attributes which is just going to be housing all the maps that we plugged into it and from there that is going to be Blended by this um material function which is going to be where we're inputting all of our Moss we're getting our information as to how it's tiling stuff like that we have our fuzzy Shader in here and then those two setups are going to be Blended by this normal which is incorporating our normal from our original texture and that's going to be used to blend our material attributes so all the textures from one all the textures of the other and it's going to be Blended by that normal information we're feeding into it plugging that into our final node here so I know this is a very high level View and look at things but my goal here is more to just introduce you to this and there are plenty of Greater resources to learn how to set up a z-up Shader inside of unreal or Unity or whatever you're looking for so great so now we're starting to see that there are ways that we can take something like this that is in World space it has some interesting normals but not quite that interesting of a material and we can actually start layering more and more on top of it so things are looking good things are looking great as far as getting the correct textile density and having interesting shapes and just to prove it let's just go ahead and scale all these way up and you can see we can have these gigantic boulders if I jump in here yeah we have these gigantic Boulders they're holding a very crispy resolution blending with multiple textures having unique normals and we can reuse them as much as we want over and over so that's one way to start thinking about things um and one great way that we can accomplish stuff uh to get large assets covered with a very crispy textile density especially organic stuff this is definitely a way that I would recommend that now next up is going to be a more controlled way to get multiple materials even more than just something like this up to you know three four however many you need Blended on top of uh the assets you're working for and a great way to strengthen up the actual mesh kits that we were talking about earlier so let's go check that out all right so next up we're going to talk about vertex painting So this one's pretty exciting because it allows us to paint between several materials all within our game engine and it's pretty similar to what we would be doing in a dedicated texture software so once we set up our textile density the way we want it to be we can go into our paint mode and engine and start to blend between different layers so there's a few ways to do that inside of Unreal Engine we can either go up here to selection mode and change between our options we're going to be going for mesh paint or you can hit Shift 4 which is going to take us to that as well and you can see the sort of shortcuts here across everything to get back we're just going to go back to selection or hit shift one so what we can do here is we can go to paint and this is going to allow us to paint the vertex color of our mesh so what exactly does that mean pretty much each vertex on an object can hold color information like RG and B and we can use that to mask between different textures within our main material so you can see as I'm sort of hovering across this after I've clicked paint we have these little dots all across our plane here and these are all vertices on this mesh it's been subdivided to have a bunch of extra points on it and the more points that we have the more precise we can make the mask so if we only had the dots in the corner we could only color these and it would just be a huge gradient from one point to the next but the more dense that the vertices are across the model the more points we have to color individually and we can get more results because of so so the way this is set up is I have it by default blending from just a plain black and we can bring in a brick texture and I have that as associated with the red channel so we can have a different set of textures associated with each of these channels we can adjust the size of our brush the strength the fall off and which color for painting by default white in black um is going to be painted in If We Hold shift so I can paint as you can see by clicking I'm holding shift here just because the way I have mine set up and we're starting to bring in this color as if we're painting it on in something like substance painter or photoshop or whatever and you can see um wherever these vertices are it's kind of having a jaggedy edge because we're just blending in um a white value on top of certain things and it's blending accordingly so we can turn the size up maybe try and make it a bit more subtle but it's cool this is like a very basic example it's giving us the option to paint in another material paint it out do whatever we want and like I said we can have more options as well if we change between colors but right now we just have it set up to be one texture blending in Via red so let's go ahead and actually take a look at how that's set up and this is the most basic example just to get the idea of what vertex painting is we have that brick color being lurped with just the color black and the information that's driving it is the vertex color so it's pretty much saying wherever there's a red vertex color we want to switch between these textures that's it we would obviously push this a lot further for something a bit more complex but just to get a very basic idea of how it's set up this is how it is we would obviously want to have corresponding maps for things like roughness metallic normal all that stuff but just to sort of see how it's put together in its most basic form I thought this is pretty important so going back to our selection mode Let's go ahead and actually take a look at a more advanced uh set up here so here I have a sort of tiling floor brick and you can see some other things blending into it and it's looking a lot more natural now this is actually the exact same plane subdivided the exact same amount of times but we can use a few tools to push vertex painting even more and one of the most common ones is by using height information so a height map is going to say where things are sort of pushed out and how much depth there is to something so these areas that are sort of recessed in a little bit further and deeper down are going to be a lower value in the height map and things that are closer towards us are going to be lighter and we can use that to blend things in using our vertex paint so if I go back to that paint mode and we try it again on this asset I'm going to turn the size down maybe lower the intensity a bit you'll see as I'm painting this in it's going to opt to fill in the cracks before anything else so I'm just going to start painting and it's filling in the cracks of these areas before it spills over eventually onto our actual main bricks which is super super useful especially for something like this where we want like dirt spilling into some sort of floor tile and then we also have the option as I mentioned before to have multiple different types of textures so I also included like a moss so we can blend different types of textures um and we can control uh the way that they're interacting with our base material and we also have the option to adjust the edges so before you notice it was very like a very obvious gradient when things were blending out but this seems like a very natural scatter so let's actually go ahead and look at our material instance and see a little bit more of what's going on here so this is starting to be quite to the layer of uh inputs here but it's pretty basic I'm going to go through everything individually so we have our base layer here and this is once again using the ORD which is the quixel Mega scans format of packing their maps and this is our base layer here and we have our main height so the height that is coming out of this and plugged into our base layer is going to drive how this stuff is interacting with one another then I just sort of go through and I have the other things I want to be blending so in this case I have a dirt I have a moss and we have some control over these things to adjust how they're interacting with this base material so I have some contrast on the actual height map that's going into this so I can adjust do I want it to be a lot more subtle and blending a bit more with a grunge do I really want to tighten things up um I think for now I'll just go back to leaving it at one but then we also have something really useful which is a sort of um noise applied to the end so normally where it would just be a gradient fading off into the end I've set up a function here to actually make things um have some noise as they're blending out so I can tile this noise a little bit different so instead of it just being a gradient it's being filtered through this noise which we can tile way up make it feel like more of a natural dirt and we can adjust the contrast on that as well to have a lot of control over the actual way this is blending without having to you know crank up to a million vertices or something like that to get very precise control so this is like the best of both worlds we don't have to go overboard with the amount of vertices we add and we can still get some cool results so that's one really interesting way to start blending textures together like I said we could blend even more if we wanted to we have control over how each layer is blending individually and how it's interacting with the base layer I'm just going to save that and close it but there is a downside to going ahead and using vertex painting and that is that at the moment with nanite it is currently not supported so nanite geometry Unreal Engine 5 is super useful because it lets us more or less have unlimited geometry which is uh I guess I don't really need to explain the benefits of that and the downside to that is since the LOD system with nanite is constantly updating and constantly regenerating itself it doesn't really work with vertex paint as of right now uh the team at Epic has done some pretty incredible stuff making nanite work with more and more of um the art that we have in our engines like before it never used to work with anything with opacity but now it does so maybe one day we can get vertex painting working with this I imagine that's something that's on their radar but at the moment we can see if I change my view to nanite triangles yeah the one on the right here is built with nanite while nothing else in this scene is and if I go in here go back to my paint option maybe paint on some dirt you can see there's a ton of vertices here um I can paint this on and have control over how that's working with things but if I go to this asset and try and paint it's just not going to let me there's no way to really do it with this so hopefully that's something they address in the future but regardless um the benefits of using something like vertex paint is pretty much unlimited you can see with the original kits that we were talking about before how we can sort of paint on layers of paint and grout onto bricks we can add wear and tear we can add grunge we can do whatever we want and we have a ton of control over it and we can adjust it from piece to piece which is really really great so the only real downside to this is having to add a few extra vertices to our Pieces by the way these ones are a little bit Overkill you probably don't have to do as many as this and that we can't use it with nanite which admittedly is is kind of a pain but there's still a ton of amazing things we can do with it and the principle behind this is actually how we texture Landscapes so if you have a huge area of ground on the bottom of a level you're going to be painting things very similarly to what we just did here to blend between like a origin of grass and all that kind of stuff so it's definitely very important to understand vertex paint and the amazing blending capabilities it has so anyways that's one way to blend things in the next part we're going to be talking about a different way that blends things and it's going to be using masks which is going to help us get around that issue we had with not being able to blend on nanite so let's go ahead and check that out in this next section we're going to go over how we can blend our textures using masks and a new system in unreal called material layers so here you can see we have a large chunk of rock with some pretty nice details and it's maintaining its resolution regardless of its size now the cool thing about this is that the rock that you're seeing here is actually the exact same model as this scan Rock right here and the way that this is working is I've set up this rock to have its tiling working in World space so we don't have to worry about the resolution and then I've used this original normal as a macro normal for this so we get some more detail and it's working with our lighting a lot nicer and then I've layered on additional textures through a mask so let's go ahead and take a look at this system and just to confirm that things are going to be working properly we can scale this way up and the resolution is still going to stay good and we can just duplicate this move it around as much as we want and once again it's a huge asset that we don't have to worry about the taxal density and I'm mean we have been able to take it pretty far since this so this obviously as a scan is looking fantastic on its own but we've completely transformed it into a completely different type of rock so let's go ahead and take a look at this in the material instance and you can see that it's very empty looking even if we look at the details panel there's nothing really going on here and this new system actually as you saw lives over here in this sort of layer parameters Tab and this might start looking a little bit more familiar to something you would see in like Photoshop or substance painter we have our different actual layers set up here which is fantastic um and they're stacked down in a way and we're blending them together so how exactly is this working let's start from the bottom up we have our background layer which once again we can just sort of slot things in how we want them to be we can slot in different textures and I also have a spot for a macronormal a detail normal the things that we talked about previously we can adjust the tiling on this as well which is great and that's pretty much it for the the base layer which was more or less what we've talked about before other things like tint and whatnot but what makes it cool is once we get past the background layer we have additional layers on top of it so let's start by turning these off and taking a look at what each of them are doing one by one so the surface wear it's not doing a whole lot but let's take a look at it a little bit more in depth so if I open this up we have a new slot in here we can take a look at the textures that are being used and swap those out we can adjust their tiling we also have some options like affecting the color so let's just sort of crank this up to get a better idea of what's going on here and you can see I have set things up to add a splotchy pattern across this so let's sort of keep this on at a lower value maybe blend it in a little bit cooler just something to break this up I don't want it to be too intense but just something that we can see that it's obviously having an effect so how is this working how is this actually being Blended so we have these layer assets here and I should have exposed that here as well uh oh that is what we went over um so we have these layer assets where we can adjust things like the texture parameters in these scalars but then we also have something called the blend asset which is going to control how this is actually interacting with the base layer and you can already see here we have something set to Blue and this is going to be associated with this so by default I have this plugged in this is our blend mask let's get rid of Alpha and you can see there's just a whole lot of stuff going on here so what is what is happening so each of these different layers is a mask that's telling us to blend from one material to the next in a specific way so I took this into substance painter I just sort of added some information on how I wanted this to blend so you can see the sort of splotchy color here as associated with the splotchy mask here and then we have more of an edgeware which is going to be associated with the green Channel which we're using for another layer and some dirt for the red value there as well so I have this plugged in and that means that whatever I set up in my layer here you know changing the material changing the tint and stuff like that is going to then be layered onto our base layer wherever that blue mask is a value brighter than you know black it's going to be fading in accordingly so we have control to start layering things on like so and since the actual textures that are being layered on have the correct textile density The Mask isn't really you know I'm really too worried about it being a very crisp resolution especially on something organic like this I'm just mostly worried that it's going to be layering on properly and even then we have things like contrast control to uh you know blur it out a little bit more or do what we need to do to make some fine tune adjustments so that's just a very basic layer right there if we bring back edgeware this one was a little bit more important you can see we're getting some highlights on these crispy edges making this feel really sharp really dry um in this case I believe I'm just sort of layering on the same textures again but you can bring on completely different materials that's something that's totally fine once again adjust the contrast the tiling anything you need and for this one I just crank the value really high which admittedly I should probably find a better way to do these edges but this seems to be working pretty good and I can you know adjust how intense this is however I want let's just put it back to about what it was at before and um if I go to the blend you can see that this is blending with the same mask where we're using the green value which as we saw earlier was edgeware um and now let's go all the way to the top which is dirt and this is one where I actually am bringing in some new textures I've brought in some dirts here which we can of course swap in for whatever we want and change the tiling on that until I found something that looked a little bit nicer tinted it and if we look at the blend it's using the same mask I adjusted the contrast to be a bit softer and it's the red Channel there so this is really cool it's very much just simulating if we were in substance painter or something of the sort but how exactly do we set this up now if I'm being totally honest this being a new system it's not something I am 100 confident diving deep into we have to set up a bunch of different things we have to set up um systems for our blending we have to set up each of these material layer instances on their own so for that I really recommend and I'll include this in the description this fantastic tutorial here by um next cut he did a really great breakdown it's pretty quick pretty simple and I think anyone can sort of go through this and they're going to be able to follow along with with what's going on relatively easily so really recommend this I watched through it once I understood how to recreate it on my end and the other thing I'd recommend is if you're not quite sure how to go about making the masks for this kind of stuff I actually made a specific tool a while ago for this exact reason and it's how to use substance painter to make RGB and a value masks within the program so I'll just turn off the audio for this and play a little bit just so there's something in the background but it gives us the option to view each of these channels independently instead of having to go into Photoshop and sort of pack our channels that way and there's definitely ways around it but I just found this was a very easy way to to do it so if you're interested I'll include that in the description as well but basically this is just to get an overview of this is an option when vertex painting doesn't work because of things like nanite we can still blend together multiple textures through masks and Unreal Engine has some fantastic new tools to support just that so really cool uh fantastic way to do things so between this and vertex painting that's pretty much how the majority of things are Blended for very large scale assets so anyways that's a cool look at the new um material layers and using our UVS for masks let's dive into the next area which is really interesting and that's how we can pump up our quality to the next level using something called decals so that brings us to our last section here and arguably one of the most exciting which is decals now there's two main types of decals there's projection decals and mesh decals so we're gonna be going over both of those but as you can see here we're getting some really really uh interesting variety of things we can do with said decals so this is just a plain Cube this is just a simple plane as well as this on the bottom and we can get a lot of cool things going on here so this uh plane here just has a tiling texture on it but you can see we have this really intense detail of this large cut and this huge sort of concrete cave-in crash as well as this debris all over the place and if I hit G to go into more of my uh editor mode here you can see that there's these little symbols across everything and these are just decals so we can move these around they're textures that are being projected into this space here and you can see when we're bringing in a decal there's this sort of little volume with an arrow pointing in a direction and wherever this volume is pointed and whatever is in it is going to get that decal applied to it and there's a huge library of these in mega scans you can go ahead and grab those so sometimes they're cutting out sometimes it's more like this where it's debris that's chunking off and you can see normally through something like vert painting or blending with a mask we wouldn't get something so specific like this so that's where decals come in super handy we also have types of decals that actually fake depth really nicely if we go ahead and open up this material instance which once again this is from Mega scans we have something called pom and this is going to be sort of a simulated depth that takes things like one step further than just a normal so we turn this off and it's a much flatter feeling and we turn this on and there's an actual depth to it so it's something to be aware of when you're setting up your decals really really cool stuff and with the projection it's really great for something like putting a big complex logo or design or something very specific that needs to be scaled up splattered across something that is already tiling so there's a lot of really cool things we can do with that and you can see we can really compress a ton of detail into this in ways that we wouldn't be able to do so without either making a Unique Piece with unique textures or really breaking how how much we can do with something like vert paint for example so this is a great option to localize some detail and project it on as a texture in a very modular way because once again we can move these grab them do whatever we want rotate them and reuse them all over the place so it's used a lot for ground debris damage and large scale logos that you'd see on stuff such as so now the other type of decal is a mesh decal so while these are projected on using decal actors a mesh decal is pretty much uh going back to what we talked about before where we're modeling to a texture so here I just have this concrete Cube and if I go ahead and find it this is just uh underscore 2A and this is 2b so it's part of it I just have a separated mesh you can combine them if you want to I just thought I'd keep this separated to select it and see and if I go ahead and grab this and we take a look at the texture let's Maybe make it a plane you can see it's just an opaque texture where I have sort of like a damaged Edge some damage splotches and I've pretty much modeled to this and laid it on top and just tinted things so that they're similar and we have chunks of damage uh going across our concrete Cube if we look at it inside of a blender once again modeling to our textures huge so we're getting some really really interesting Edge damage and very specific targeted wear and tear with specific shapes that we want in the exact location we want and all we have to do is pretty much duplicate our object cut out the shapes and then just push them out slightly so they're not directly on top of the surface we have no Z fighting and we can have a ton of control over where we're putting these shapes and just to drive this home even further going back to the example I shared before you can see these sort of concrete chunks coming out these are going to be modeled mesh decals that I used across all of this so this is using several textures there's the trim that we discussed earlier but another one was a decal sheet to sort of get these chunky concrete pieces where I would you know actually cut out the silhouette and then lay out these decals on top of it so mesh decals are also very very common for anything you know hard surface and large scale you'd probably see screws or bolts or vents or um electrical sockets if you want to start getting some ideas you should go ahead and dive into the mega scans Library as well as the substance algorithmics uh library for this kind of stuff has antenna decals and you're going to start to get some ideas of the kind of details that you can use this for but essentially gives us another opportunity to get some breakup on our tiling textures that we wouldn't really be able to do so with a specific mask or vert painting something that's just way too specific and way too targeted we can get that done with decals the main difference and why you'd want to use one over the other is this is going to be quite a bit cheaper these tend to be pretty expensive and typically if you have these together on the model you can move them around together while these it's a bit trickier to work with them so they're a bit more expensive and also since they're based on projection like so if I then um that's a good way to explain this let's say I have this Cube here and this is like an object in the scene and I have it in that volume we're going to get some some issues here now we do have the option to go into every independent asset and turn off receive decals but you can see when you have a scene with a ton of of objects how complicated that can be the other benefit of this is we can once again reuse our textures by cutting things up very specifically and modeling to our textures well these typically are their own dedicated um decal but anyways those are two different systems of decals and ways to start thinking about how to add a bit more specific detail to our assets and with that that covers all of the basics these are pretty much um not every use case of things we can do to texture large assets but some of the most popular and if you understand what's going on here the gear should start turning as to how you can texture more or less anything within a large game environment so with that said next step we have a few examples where I've combined several of these together so let's go ahead and take a look at these and take a look at some final shaders where I would definitely you know actually be using these in a proper game environment so last dump let's go ahead and take a look at a few Master materials that combine several of the things that we talked about up until this point and these would all be things that I would be pretty happy to use in a actual environment I was working on there's always ways to improve things further put each of these in their own rights have a ton of use cases for them so let's start off with this first one this as listed here is a four layer vert painting system with the edge masking we went over before with full control over each of the texture maps that are plugged into it so this is actually going to be four pieces you can see we convert paint across several of them and I just went ahead and put on a decal here just to show that we can have that [Music] um applied to something like an urban situation to get a big gigantic uh sort of logo or whatever we need to uh a pop of detail across a system like this so this is similar to how I'd go about something like this but let's actually go ahead into the painting for this and you can see we have a bunch of different layers here um all of which we can blend in our own way so I just sort of have a grout or something that's going over top of the base layer bricks we then have the paint and then in the final layer I wasn't quite sure what to do so I just have a slightly darker and slightly shinier version of that same paint layer just so that we get some variation across that since it's covering a bunch of space and we can have some further adjustments to it so looking at the material instance for it you can see we have a ton of control and a ton of Power with things so the noise that we're using for this sort of edge here that we've already discussed we have the first layer of textures we can tint them we can affect the roughness the normal intensity the tile of everything same goes for the other layers here and basically just exposing everything that we can including the roughness which is affecting uh this top layer here and you can see just by changing sort of the color and the values of uh the same texture we're just getting a bit more breakup and it's not going to be tiling as much you know considering that this is uh eight meters by eight meters um you really don't notice the the repetition because how much is is going on here so this is a really useful uh setup if you're trying to cover large walls anything like that and definitely something I would be happy to use as far as a vert paint system is set up if we move over one more we have the same thing going on except for with this we have the system set up to be in World space so I can go ahead and move these around and the textures are going to stay in place so if you want to have some sort of vert paint system for something a bit more organic or maybe you don't really want to worry about UVS on something like a building you're working for and you want to break everything up with maybe large pillars or trims this can be sort of bent to to a variety of different situations and if we go ahead and take a look at this the situation is pretty much the same minus the fact that it's in World space but I also have an input for macronormals so if you want to put this on a gigantic Rock for example and start blending textures together as well as we have the intensity of that to adjust and and everything else all the the layer controls the adjustment of the noise that's being plugged in as well so very similar to the first but in World space so we can use this on different types of assets and in a bit more of an organic way and finally the last thing I have set up and this is going to be for when we don't have um something that can use this kind of setup so maybe something more in nanite this is going to be pretty common I have a material layer system which we discussed before that's in World space so we can move this around however we want to it is using a z up texture so we have this Moss blending so we can sort of change things up however we want and a macro normal so it's pretty much the layer system from before but we also have the Z up and we can take a look at this we have all the Z up lens the options to change our textures our tints our tiling our opacity all that kind of stuff with the power of our layer system from before and I even showed if we wanted some very specific details I wasn't quite sure what to use decals for in this case but maybe some bird droppings or animal droppings or something like that I just took some blood decals and cranked the the brightness all the way up you can go ahead and put that together like so but anyways there are a million different ways to texture large assets this is really just scratching the surface but the point of this video was to hopefully introduce you all to a bunch of different ways of thinking how we can set up our UVS how we can deal with in-engine tiling how we can layer on different materials how we can use decals and the different way that all these systems can work together so once again if you're interested in this specific scene and you want to try and use some of these materials I'll have a link to this in the description below but hopefully this gets the gears turning a little bit on how you can approach your own scenes and different ways you can go about texturing the gigantic buildings or the huge Boulders or whatever it is you're trying to accomplish so uh yep the goal here I think to introduce you has hopefully been successful if you have any additional questions let me know in the comments if there's anything specific you want me to cover hopefully I can point you in the right direction but for now I think that's going to cover it in this video so thank you so much for checking this out once again there's going to be links to everything we talked about in the description so make sure to check that out but once again my name's been Dylan Abernathy or tie-dye here on YouTube thank you so much for checking this out and hopefully this could have been useful so uh that should do it for now have a great day everyone
Info
Channel: Tiedie
Views: 84,662
Rating: undefined out of 5
Keywords: Texturing Large Assets, shader, unreal engine, unity, texture resolution, vertex paint, mask, rgba, material layers, decals, texel density, UV, map, z up, blend, normal, scan, megascan, tutorial, detail, good, 4k, 8k, texture, material, layered, substance, painter, world space
Id: QcqJckp_q3M
Channel Id: undefined
Length: 70min 12sec (4212 seconds)
Published: Sat Apr 01 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.