Substance Designer Summer 2018: Shape Splatter

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] in this video we're gonna take a look at the new shape splatter node now the shape splatter is very similar to the tile sampler node so to illustrate this we're first gonna take a look at a setup where we're going to distribute a pattern using tile sampler so here in my scene you can see that I have the tile sampler node and I have a shape I have this pyramid shape and I have this background input and the pyramid is being set as the pattern here to the tile sampler and I'm just using again that Perlin noise as the background input so I can visualize this in the scene I just create a normal nao and that pipe that here into my base material and then I just right click and drag and drop that here into my 3d view and that's what we're looking at now just to give you some context into how the scene was set up if we come over here to the 3d View scene I'm using the plain high-res for the material we'll go to default definitions physically base metal rough and I'm using the tessellation shader let's take a look at the properties on this tessellation so I'll click Edit and I just want to point out that the scale factor here is set to 100 and so this is the result that you would get when using the tile sampler and again we have this pyramid shape now this pyramid shape all of the patterns that we're using and again if I look at the tile sampler when I'm using an 8 by 8 here every one of the patterns they all have the same or it's being displaced by the same height offset value if I kind of look at it at this angle you can see it yes that is the case they're all the same exact height offset however the issue with this using the tile sampler is that the pattern that I have here this pyramid shape the problem is is the pattern is not being placed at different elevations on the background and so this is kind of this uniform result that we get here and so that's where the new shapes platter is going to come in to save the day so if we come over here and take a look at our shapes platter again I have the same kind of setup here we have our background height which is that Perlin noise and I'm feeding into it this pattern and again I'm creating a normal a bit occlusion and outputting that here to the base material so we could visualize this here in our 3d view so again right-click this base material drag and drop in there into my 3d view now this is what you would get using the same setup using the shapes platter the shapes platter will distribute patterns on top of a background height while keeping the relative height of each pattern all the patterns have the same height value but they're placed at a different elevation on the background another thing that I can point out about this here will just come up from more of a top-down view and you'll notice here that when we take a look at the pattern in the way it's distributed here the overall volume or aspect ratio of the shape is retained with each of the patterns now another thing that's really important or I will say fundamental to understand about how this shapes platter node is working is that it's designed to work with a real-world scale and what I mean by that is the best way to use this height is as a normalized scale so as I pointed out earlier here with the scene I'm using this plane high res that we ship with designer and this plane is actually a hundred units by a hundred units and so again my material if we go and edit this you can see that I set my scale here to be 100 as well and so what this is going to translate to is when I have a value of white either 255 or 1.0 in my height map that means that the white is going to represent 100 units so just to kind of demonstrate that really quickly on what I'm talking about here let me come over here to this example so again I just have a shape this is a height map and I have a normal map that's plugging into a base material and I'll plug this guy into here and let me just zoom out a bit and you can see here that I'm getting this cube shape again I'm using my plane which is 100 units and I'm displacing my scale in the shader to be 100 units and if we look at the shape here what it's using is just the square pattern with the scale set to point 99 if i zoom in really close you can see that that just produces a small black border across here so what I said before if we have this white value and if I hit this info button here in a sample this in my viewport if I'm looking at my value scale right here you can see it's 255 or 1 so what this means is that I'm displacing or my hot offset is gonna be 100 units and so if my plane is 100 units so we'll say 100 units and width and I'm going to displace this guy 100 units in height I should get what looks like to be you know a perfect cube and that's what we have here - a little bit of clipping here in the viewport but you get the idea of how this scale is being established here in my scene and like I said it's just a fundamental thing to understand about the shape node that it's designed to work with this real world scale in mind okay so let's drop back over here to our demonstration here so I'm just gonna drag and drop that base material in and let's take a look at some of the settings that we have here with this shapes platter so I said early on that the shapes platter is it works very much like the tile sampler so for example it's going to have several inputs and these inputs can drive or modulate some of the parameters that you have here for the shapes platter for example you have a distribution map you could input a shape scale shape rotation mask random you could use a vector map and so on and like I said that works similar to how the tile sampler works you also have the ability to set an x and y amount so this is basically going to dictate how many patterns are going to be replicated here within the node now another thing that's very important to understand is that there's been some optimizations here for the shapes platter so the performance of this node is no longer bound to the number that you have here for this x and y amount now with the tile sampler you may have noticed that the higher you set this x and y amount the kind of this the the the performance may begin to start to drop however you will not have that issue with this shape splatter node so again like I said it's not bound performance is not bound to this x and y amount so here like I said we have X&Y amount we also have our pattern and our pattern input so here if I switch this to 2 you can see I have a second pattern which I actually have this hemisphere shape plugged into and then here in my result you can see that I now have my pyramid and then I also have my hemisphere shape here as well so again working much like the towel sampler we have a mode for how that's going to be distributed pattern index column random and so on now if we look at this we also have the ability to work with our scale scale random and so on and there's a lot of control that we have here now something else you'll notice that's going to be specific to the shapes platter is this new ratio setting that we'll have so in this case it's size ratio from background slope so the parameter is gonna be from background slope and you'll see this on like size rotation height and so on so to give you an idea of how this works let's just scroll down to this height section where we have all these height parameters and here you can control things like your height offset height offset random notice here that the height scale is set to 1 which means in my case what I'm doing is I'm driving my actual displacement value based on the unit system that I'm kind of using here like I said for my scale I have it set to 100 and I know that a value of white which is going to be this very tip here of this pyramid is going to displace up a hundred units and then it's gonna fall off towards zero as we get towards black here okay so again kind of going back here to the settings that we have again I was gonna talk about height let me scroll down here okay so you have this from background slope and this one's called skew from background slope so let me just kind of frame this up so we can get kind of like a side view here and I want to really focus on some of these pyramid shapes really actually just so we can really see this let me scroll back up let me switch my pattern input number here to one so we're only working with this pyramid shape okay so now well again scroll back down and we'll come over here to height and you can see that we're gonna work with this skew from background slope so I'm gonna start to increase this value will increase it all the way up to one and now we can actually skew this pattern shape based on the slope from this height input that's coming in which in our case again like I said if we look here that background a height input is this Perlin noise so we're skewing the shape based on the slope of this background input so this here is a really cool setting here I'm gonna set this back to 0 and we have another option here which is conform to background which is a great setting here so this just allows us to take our shape again we'll set this to 1 it allows us to conform the shape to again that background slope now this is really good for an example like say that we have a leaf or some sticks and we want to you know replicate those or splatter those across a terrain and underneath heightmap of terrain of some type and we want to be able to conform that so that it follows along with that shape we can do that using this conform to background option so we can also if we take a look at something like our rotation there's also a from background slope here for a rotation so again if we start to increase the slider value here we can start to rotate you can see here how the pyramid pattern is starting to rotate based on the slope value of our background so again we'll set this to something closer to 0 this is what we get and then if we want to rotate these again based on that background input slope this is the kind of result that we would get from that okay so just scrolling down a little further you can see that we also have just you know kind of some of the traditional settings you would expect like you know masks random and and so on so that's how the shapes platter works we also have some outputs here so the output or the default output is going to be this height and here's what the height map looks like we also have this splatter data 1 and splatter data 2 and this is going to give us here let's double click and take a look at splatter data to let me just turn off the Alpha and so what this is going to do here if we take a look at this this is going to give us data in texture space and this data can be used with the flood-fill companion filters so here you can see that we have RGB a for each Channel R is going to represent like I said UV data is here so so red channels going to represent UV x the green channel is going to represent UV dot Y B and a is going to be the B Box width and height and so on and like I said we can use these with the flood-fill companion filters here with splatter data one you can see that the red channel is going to give us a pattern ID and a little bit later in the video I'm going to show you how we can use these outputs so like I said that's the shape splatter node and how it works let's take a look at another little example here so like I said before maybe we want to do something like have some sticks and we want to conform those we want to first replicate those and then kind of conform those to this underlying height information that we have so I'm just going to drag and drop this base material in here and let's take a look at this guy and just move my light around so we can more clearly see this so here's an example where I have some really simple shapes to make you know what I'm calling here a stick that's not very great or anything but just for demo purposes it'll get the point across so here we have our background and in this particular case you can see that I'm taking a levels just running a levels here and taking the output white and lowering that which has the result of lowering the value of my background height so in this case I'm controlling it using this value here and again if I check my info I can sample these areas and I can look at the values and since I'm you know coming up with my own scale and let's say that I want to make something like that 100 units represents maybe you know 100 meters or something like that then I can come up with a relation of what these values these grayscale values mean in terms of scale and so here I'm using my levels to do that so now here we'll get rid of that info and like I said I have my little shapes here that represent a stick I guess we could say and then here I have my levels and again I'm doing the same thing where I'm adjusting the height value based on how I'm processing that that value through this levels command then I'm running that here through my shapes platter and if we look at the parameters we'll scroll down and if we look at our height offset you can see here that here I'm using this conform to background and I have this set to one so that again that I could have these sticks just kind of follow along with it again the underlying heightmap that I have so another example of this would be maybe rocks so here I did the same thing except just using some rocks and I'm just kind of scattering these guys again using or making sure that I have my conform to background here set all the way up here to one up in this case I don't actually have it so we'll come in here and again we'll just set this here to be conform background to one okay so now again these rocks are you know following the terrain here a bit better okay so another thing that you can do with this is you can start to kind of chain these guys together so here I have this example where I have my terrain this is this purl in and then I like I said I have my two patterns these rock shapes and this is the height map that I'm outputting here and then I am taking another shape splatter so for the background height I'm using the background that Perlin noise and the rocks and then for my pattern here I'm just using those sticks and so now let's take a look at the result of this operation here with this shape splatter bring this guy in and now this is kind of what we're getting and what's really awesome about this is that again because the sticks are being placed on top of these rocks and again if I come back I'm just using that same setting here where I'm using conform to background the sticks are basically you know laying on top of the rocks so we have our background ground plane and we have our rocks which are conforming to the slope of that ground plane then we're layering some sticks on top of that and the sticks are now conforming to its background height which is our Perlin noise and our rocks and this is the type of result that we get where we have these sticks kind of laying on top of the rocks yeah you know is there pain to try to get something like that to work out and there's a lot of tricks you had to try to do but now using the shapes platter we can get that result really quickly with a lot of flexibility here with the parameters that we have alright so like I said earlier we also have this splatter data so let's take a look at how that works so what we're gonna do is let's come all the way back up here in this example and let's take a look at our good old pyramids again and this time we'll come back to our shapes platter and I'm going to go to my pattern input and I'm just gonna set this to two so now we have two types of patterns we have a again like I said the pyramid and then we have this Hemisphere and so now I'd like to use some of this splatter data so like I said you can use this with the flood-fill companion nodes but we also created a node to go along with this shape splatter so here I'm gonna hit the spacebar and I'll start to do a search for shape and you'll see here that we have the well the new shapes platter and then we have this shape splatter blend and shape splatter blend color so you know blend is just grayscale in color as well for color operations let's work with the color so I'm gonna make an instance here in my graph of this shape splatter blend color alright so we need to start to hook this guy up so I'm gonna take my splatter data 1 and plug this into the input and splatter data 2 and plug that into the data 2 input here for the blend so now we need to start to add some more inputs we need to set up a background color and a pattern so for the background color I'm going to make a uniform color here and let's just set up value we'll just do maybe something like this I guess this will work and then we'll plug this here into the background color okay and then so we can visualize this what I'm actually doing here is I'm going to be creating a base color that I can use and so so I can visualize visualize that here in my 3d view let's just create another base material node really quickly here so we'll do base material and let's come into here and let's enable our color map and normal and height and ambient occlusion and I'm gonna set here my metallic here to 0 and my roughness to a high roughness value all right so what we're gonna do is we're going to plug in this base color and I already have compute my normal map here from my sample so let's plug that guy in here's my a min occlusion we'll plug that in and then finally we need our height which is going to be coming from our sheiks bladder the kind of default output and we'll plug this guy in all right so let's visualize what we have here so right-click the base material drag and drop that here into our view and we're getting something like this well like I said this shapes platter blend is going to be creating our color map and what we've set a background color well I can see that background color on our terrain example here but we need to colorize our pattern now so just to show this let's make a checker here so we'll create a checker and I'm gonna create a gradient to colorize this guy so we'll plug this into the gradient map let's come over here to our gradient editor left click here to make a key and I'm gonna set this to like a red so now we have this red and white checker and I'm gonna plug that here into my pattern so now when I do that actually let's take our scaling back as well so we'll take this - maybe something like yeah we'll do this 3 so now you can see here and if I go back let's see - my shape splatter node again if I look at the data from this you can see that this is giving me a pattern ID a pattern index and so on and I'm using that so that I can basically kind of texture map these shapes that I have with a pattern which is this pattern 1 and right now since I'm only using the pattern 1 this checker pattern is being applied to all the shapes and then we have this background color which is being applied to that background height which was our Perlin noise so since we have two patterns let's come over here to the shapes platter and let's increase our pattern number here to two so now you can see that this is starting to isolate because it knows based on the splatter data it knows the index of each of these patterns so now let's make another pattern let's see here let's grab something like I guess I'll just grab the Perlin noise again and maybe we'll adjust our scale down to something like this and since we're working with color I'm gonna colorize this greyscale noisier just using the gradient editor we'll make a key and we'll make this like a blue here and now let's put this into pattern 2 and so now we're basically setting pattern 2 to texture map with this particular Perlin noise and pattern 1 is being texture map with this colorized gradient so now we get something like this here and this gives us away this blend node whoops let me just select these guys this gives us a way to colorize our patterns again this is just a way that this particular blend node is using the pattern the splatter data that we are able to output from the splatter node now there's one other input here that which is pretty cool which is this color input and this guy here allows us to colorize all the patterns so what we're going to do is let's create another let's create another color map we can use now in this create case here actually I'm gonna do let me search for polygon one uses polygon here and I'll just increase the sides a bit so we get something like this and then we're gonna colorize this guy as a gradient and we'll open up our gradient editor and let's come into here and just start to make here we'll set this first key here to green if I can do that there we go and then we'll come in here we'll set the last key here to like red and then right here in the middle let's let's create a metal key and set it to something like like a yellow so we'll make this into like a heat map I guess so now this is the map that we have we're gonna use this as our color input so I'm going to connect this into the color input well we don't see anything yet and that's because we have this color input opacity setting and I need to make sure that I set this all the way up here to 1 so now when I do that you can see that now we're colorizing everything based on this color input so to get a better idea of this let's go back here to our shape splatter node and let's increase our X&Y amount to a pretty high value something like this and now we're getting this kind of result which is again pretty cool and we can also come back here to this shape splatter blend and we can start to adjust things like maybe our hue/saturation the luminance value will do this randomly so let's take our luminance and increase this randomly and now we'll get a result something like this or we could also come in and start to play around with our hue and so on now we get this type of pattern so it's a lot of fun to play with it's just really cool and again we can always go back here to our gradient here let's do this so let's say take this hue back down to zero here and we'll go back to our gradient and we can start to just kind of play around with our gradient here to get different results it's plotting another key in here move this guy like this so using this shape splatter blend node it just gives us a way to use the data that's coming out of you know the shape splatter to do things like colorize these different patterns in various ways like I said earlier if I hit the spacebar here we go to look at blood fill we can also use these companion filters with the shape splattered data as well just like we were able to do with the original flood fill all right so that's gonna close out this video on the new shape splatter node in this video we discussed how the node works we discussed the importance of being able to use the node based on a real-world scale that we can output specific data that can be used with the utility flood fill nodes and we also showcased another companion node to the splatter which is this shape splatter blend so thanks a lot for watching and I'll see you next time
Info
Channel: Adobe Substance 3D
Views: 23,444
Rating: undefined out of 5
Keywords: Substance, Substance Painter, Substance Live, Substance Designer, Sustance Source, texturing, texture, textures, ndo, ddo, quixel suite, megascans, painting, unreal engine, unity, pbr, physically based rendering, mapping, 3d art, materials, procedural, blender, generation, mari, the foundry, autodesk, maya, Allegorithmic
Id: GoNEtcHg-Iw
Channel Id: undefined
Length: 23min 54sec (1434 seconds)
Published: Thu Jul 19 2018
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.