Unity: Make It Rain with Amplify Shader Editor.

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] hello and welcome back to polytubes in today's lesson we have got an absolute treat this is a raindrop shader tutorial that's using tri-planar mapping so it's a bit of a two-in-one which means this tutorial might be a little bit on the lengthy side but you know we'll see how it goes and so just quickly before we dive into it i'll just run through just kind of what this shader is actually doing so you know you can see whether or not you actually want to learn it i guess i'll just have a little zoom in to begin with because you might be watching this on mobile and you can't see anything that's happening and you just no idea what this tutorial is supposed to be about but there are actually these uh rain splotches and rain streaks running down this vehicle and just as a quick aside i did get this vehicle model from sketchfab from a user called uh carol mckeos carol mcm michaels i don't know it's i'm not gonna be able to pronounce that correctly the link is in the description this person has just an absolutely insane amount of like amazing vehicles i recommend checking them out it's a good quality stuff there [Music] so you can see these rain streaks coming down like the sides of this vehicle like on the glass and whatever else but the top of this is actually there's no streaks it's just the rain splotches so that's one thing we'll be taking into consideration you know we don't want the streaks appearing everywhere because that that doesn't make any sense and then obviously with the tri-planar mapping if we were to rotate this bus or any asset around the rain streaks are still going to always want to fall down so before that roof only had the splotches but of course we turn it around now it has the raindrops so the rain streaks going down it and then the last thing to just quickly mention is the underside of this doesn't have any streaks or the splotches so you know i've tried to keep it as quite reusable on as many assets as possible so i don't need to keep you know making the same kind of shaders depending on the object so this is intended to kind of be a quick little all-in-one solution for just general kind of rain effects so anyway this introduction has been going on for way too long so let's just go ahead and get right into the tutorial so new scene i've wiped all the materials and it's worth pointing out that because i did grab this model from sketchfab i will not be able to provide it on my patreon but everything else like the shader texture all of that stuff uh freely available and now i'm finished with the plug so i'm just going to drop in a cube and a sphere that will be you know the things that we will focus on whilst we're making this shader but i'll keep the uh vehicle in here just you know just the company and also it will help provide some different examples as we uh continue to build this thing up now the key ingredient to the shader is actually just this one little texture file here if any of you have seen my previous rain tutorial you know that we did all of that with the particle system which is pretty cool and i recommend checking it out if i remember that there will be a link somewhere like in the top right or whatever but for this one no particle system no cameras like render texture stuff this is just all happening within a texture and we're just putting some stuff in the right channel and in the green channel this is just like the bare basic so we're just going to use two channels and i'll quickly just sort of speed through my photoshop process of just creating that so i have a document here i think it was like a 512 by 512 and you'll notice over on the right you know i have a layer one there completely black and then layer two i'm just filling it in with this uh this rain streak which is just you know white circle at the bottom and then like a white to transparent gradient going up and then just duplicating that all around until you know you're kind of happy with roughly where it is i did put in way too many streaks here and i ended up coming back off off camera and just removing a few and then when you're pretty much happy with how they are to begin with what you can do is select all of your layers and just do i think it's ctrl e just to merge them all into one and then you can use this uh offset filter and since we know that this is a 512 we want to offset by 256 on the vertical so now it will move you know that whole layer 256 pixels down so now we can actually put in some more rain streaks in the uh middle portion here this will kind of help with the tiling and then it will make it you know a little bit less obvious if we just had it as it was before there would be you know very obvious gap in our texture as it scrolled down and then when you finish with that you can just create a new document make sure it's the same size fill the first layer with black and then we'll come over to our texture here that we've made select everything and use the copy merged and then just paste that into the red channel of our new texture if you're using something else other than photoshop i'm not entirely sure what the pipeline is for this but that's how you do it in photoshop and then lastly we want to put something in our green channel so we're going to just create a a gradient here going from left to right so it's just white to black and same again just copy all of that put it in the green channel of our new document and that's it we're done you can save this out and we can use it okay so after like five minutes we are finally now ready to create a shader so we're gonna right click create uh amplify surface shader and you know open it up call it whatever you want and we're gonna begin by just putting down a texture 2d and just to help with the more visual side of things i'm just going to drag the rain texture into this texture sample so we can actually you know see what's what's happening within the editor and because i always forget i'm just going to save this out right click on our shader and create a material from it which will automatically propagate the correct material and then just put this on all of our objects and now if we go back into the shader here real quick i'm just going to put on a animated panning onto our euvs and the easiest way to do this is just with uh like multiplying a vector by a time node and sticking that into like an offset variable but of course if you use a vector 1 it's going to apply to both x and y which means it will uh it will basically animate our texture like scrolling down on both the x and the y so we'll be going horizontal as well as vertical obviously we only want it to go vertically so one quick way to solve this issue is if you get a vector 2 first and you multiply that by a vector 1 but it's important to note that in your vector 2 you have an x and a y so you want to leave your x blank because y is going to be up and down so x will be zero y will be one and now because we're multiplying that by vector one we are essentially only controlling you know the power of that y value because that's the one that is actually you know set to a value higher than zero i know that sounds super nerdy and super boring but it's kind of important to know especially if you're new to shaders but either way once you have that let me just show you what this does so we can all get a good understanding as to what's happening here so as expected we just have this texture that's panning down but of course if we were to grab these things and rotate them the texture is not trying to always point down because this is just using the object's uv so you know you rotate the object it's going to rotate the texture that's one of the things we want to solve we want to be able to mask out uh or rather you know identify what is world up and world down and we also need to create some world space uvs and we're going to be doing the tri-planar stuff so we'll get started with that now and we'll begin with the world masks i guess for for want of a better term but first we do just need to wipe pretty much everything that we've just done except for the texture we'll uh we'll keep that that was just for demonstration purposes only and as one other little demonstration if i were to just grab a will normal node and stick it through an absolute node and then just plug that into the emission you can see the result that we get here and that we have uh you know a red or green and our blue and these are the world normals and we're using the absolute notes so that it actually projects on both sides but the point here of course is you know whichever way you were to rotate these things around it isn't going to change where those normals are pointing blue is always going to be at the front x is always going to be at the side and the green is always going to be at the top and with the absolute we also have the opposite of that so you know back front left right up down that's enough for demonstrations now though i think so let's actually just go ahead and start creating some some some stuff that we're not going to throw away so we'll keep our world normal and the absolute and we'll put it over here where we have some more space and we'll just break this into components and if you're using shadow graph i believe that's called a split and as you can see here we have the the x the y and the z and you can see the projections are x we have them on the sides the y is up and down and the z is the the back in the front obviously we can't see both of those at the same time because one of them is behind the other but you get the idea so that pretty much sets up our entire masking like there's there's not much else we need to do for this like we have the masks now i realized that i might have skipped through that a little bit quickly so these purple nodes that you see here i place those down just by hitting the r key they're called registers and it allows you to basically register an output here and then we can use a get node somewhere else to reference back to this note so it you know it means you don't end up with this whole uh spaghetti shader stuff and you can actually just have things like in nice compartmentalized areas which is you know always neat and tidy the only other thing to mention here is to name them something sensible because you will be referencing back so you know we have a x mask y mask dead mask job done and as part of keeping things neat and tidy i'm just going to select all of these and hit the c key so it will create a group here and i'll just give this a name and that is it so let's grab our texture there's you know it's already there we might as well use it and we'll begin the uh the tri-planar projection stuff or the dual planar projection to be more precise i suppose and we're going to start with a vertex position node and we're going to feed this through an object to world i know here i'm using a world to object that is a little boo-boo on my part we actually do want the object to world because we want to keep this using world space uvs but everything else is correct like you do want to get this append node and we'll plug this into you know the x and the y will go into the x and the y of the append and the reason that we do this is because if you look at your movement axis for example you can see you know the x is the red arrow y is the green and you can see you know the plane that it creates there is that front facing one so by setting this up here what we're actually doing is creating wheel space uvs for that front projection i hope that makes sense we do need to be able to control the tiling of this so we'll create a multiply and we'll just create a vector 2 and the reason we're going with the vector 2 for this is because i want to be able to control the x and the y of our texture separately this isn't anything to do with that thing that i was talking about earlier with the offset this is just like i literally would like to stretch my texture at certain points so you know i might want the x to be a higher value than the y then we could just get a register node and we'll just stick all of this end result into it oh and of course give your register node a sensible name now we do only want the red channel of our texture here because obviously if we were to put in the rgba we would get both of those textures that we made which is you know the streaks and the gradient we only want to work with the streaks for now so we'll come over here and we'll use a get and we'll just get that last register that we made which is the one for the streaks we'll stick this in a mission and we'll just have a look at this and this is where i realized the uh the mistake i've made with the object of world world to object fiasco so i do just fix that up real quick [Music] and now you can see that when we rotate the object the rain does not want to uh you know to rotate with the object itself so the rain is always going to be pointing down at least on the the front axis here now we do have of course lots of problems there's like this weird sort of streaking happening along the top and the side of the vehicle and we will fix this stuff up for now let's just get the the panning functionality back in and so we'll actually use a panna this time and we'll just multiply a time node by a vector one and you know you can call this the uh the streak speed it it will be the speed of this raindrop basically falling down your mesh and then you just wanna put that into the time node of your panna which means now your pano node uh the speed function of this basically becomes the direction so x direction and y direction and of course we want the y because we want it to go vertically so hammer one into there and you can see already in the registered node that we have on the right this is panning down there we are so yeah pretty cool it's moving uh we do still have those streaks issues so let's go and clean those up now i think so we'll make a little bit more space this time it'll be after our texture but before the register because obviously the register is you know the end the output and we'll just get a loop and we want the uh the a slot of this to actually be blank so we'll put the r channel of our texture into the b slot and then for the alpha we're actually going to just get the z mask because if you remember from the example you know we were projecting this on the front so we want the front mass which is the z and so now if we go and take a look at it you can see that the streaking at least on the uh like a very top plane has stopped we still have some if a mesh is sort of slightly not completely straight you'll still get some of those uh streaks coming through we can fix those later but for the most part you know this is uh it's kind of cleaned up it's not nearly as messy as it was before because we are using a mask to determine where the texture is shown and in true developer fashion we'll just leave those fixes and tweaks for later on but now we have our z projection so let's get working on the x and so we want to copy a bunch of stuff here um we'll copy all of these nodes that come before the texture we don't need to copy any of the uh the time stuff we did or the vector one because obviously we want to reuse that so once you've copied over those notes just place those vector twos for the tiling in and the uh the time vector one multiplied thing that we had so that is going back into the pan it's basically just you know it's a mirror image of what's happening underneath now of course our uvs for this are still on the z we want it to be on the x and if you remember before when we look at these arrows the y and the z have that sort of x axis plane so that's what we want to do and for now just to demonstrate i guess uh a common problem and one that came up quite recently which is a bit weird it was like the day that i recorded this but either way a common problem is people just hook this in as you see it now so you have the the y into the x and the z into y and i'll just complete this node setup here but then i'll show you you know what the problem is and how to fix it so we do need to get our texture 2d again but we can just set this one to a reference and then we can reference that original texture that we had so this means you know we don't have to use like multiple textures and we can't just use the same one that we are using because that is obviously using the uh the zed world uvs whereas we want to create a new one with x uvs but either way uh we're going to loop this again but of course this time we're going to use the x mask that we made and then we're just going to add these two together and you can already see i hope at least that that something looks a little bit wonky um so let's just see what this looks like by reusing our register node there because it's already hooked into our master area so we'll just reroute that and then have a look as you can see we do have the x projection like it's technically correct but it's the the wrong way round it's you know it's not going from the top to the bottom it's going left and right and the easy fix for that is to just swap it around so y into y and z into x that's it you you're done and there we are so that's all you know that's all pretty good you rotate your objects around you can see that you know the raindrops are still trying to to go down you know if you rotate this it goes that way pretty cool i think it's a nice effect uh but you may have noticed we've got some um you know on more curved objects things do get a little bit weird you can see this you know it's a very sort of peculiar 45 degree distortion like almost as it kind of warps around and we can do some things to control this you know to to mask it out and so that's what we'll go and take a look at next so if you come back to uh you know the mask generator that we made give ourselves a little bit more room we're going to put down a subtract node and then we'll just get a vector one let me show you what happens here as you can see the you know the more i subtract from this the more this mask changes so you know the white begins to become less and we're using the white areas to determine where a texture is shown so if you can see here if i just commit that change oh yeah i forgot about that um yeah we'd fix this with a saturation node boom okay there we go so now you can see we still have the streaks going down the sides in the front but it's not so much coming you know like the side ones are not interfering in the front so much and the front ones are not interfering in the side so much so if you're only using like a cube to test this out on these kind of issues can be hard to see but you know it's a good idea to have a range of objects in your scene so you so you can see how different geometry reacts to it and while we're here i might as well show you you know visually why i went with the vector ii with the tiling amount for our rain streaks and it's just so we have you know a little bit more control so you don't only just tile it uniformly you can if you want make much longer streaks or much shorter streaks i don't know why you would want shorter ones but you know it's a it's a choice that you have so the functionality so far of the brainstreaks is kind of done um we are going to be adding more of course but for the purpose of this node setup it's complete so i can just select all of these and i'll press the c key just to comment it and you know give it a sensible name we don't need to come back in here like this is this is done but the next thing we're going to move on to is the distortion so you know we have the raindrops that come down but we don't want them to just keep coming straight you know we want them to kind of move about a bit for that we will need to distort the texture somehow and the way that you normally do this especially with refraction type things is you would use a uh like a normal map of like a noise texture ideally it would be tiled so that you could change it for the sake of this tutorial i'm just going to use the inbuilt noise generator i'll plug a uv into that and then also a vector 1 just to control the scale of our noise and now i'm going to use a normal from height node this is pretty cool i don't know if it's a new addition or if i just completely missed it in my previous tutorials but i know about it now and it kind of opens the door for some more cool stuff but that's a whole other topic basically what this will do is it will allow us to take a black and white input so not just a texture but but but you know anything that is black and white and and it will use unity's inbuilt system to convert that into a normal map and then what we want to do is put down a component mask and we want to only use the x and the y channels because uh as far as the normal map is concerned you know z is blank information x and y just determines you know the um like the left and right up and down orientation there is no real forward at least that's my understanding then we'll get a multiply node and we'll stick a vector one on there and this will control the power of that noise so you know the stronger this amount will be the more the texture is going to be distorted so not to be confused with the scale that we have but the other vector one that's going into the noise generator that just defines like how big this noise map will be but the distort amount vector one will determine you know how much power basically to apply to our texture within the confines of that noise so let's just make another register call this distort and slap it all in and now we can just select everything hit the c key and yeah we uh we are done with this as well but uh of course we still need to use it so when i said before that we were done with the uh the streaks and uv's thing completely forgot that we are in fact not because we still need to add our distortion onto it because if you think about the way that this works it's that we we need this distortion to to affect the texture unlike a uh a uv level so it's not an operation that you do to the texture after the fact it's something that has to actually manipulate our textures uvs so we'll come over here and we'll make some more space and we'll just grab everything up to the panna node so on the left hand here we have our world space uvs and then that's all hooking into you know the panner and our texture which we are defining as those uv inputs so this is where we want to just add in our distort and that is as simple as just adding an add node and then using a get and we'll just grab our distort reference and then just hook that in and so now i don't know if you can see or not but even from the little reference we have over here we can see that it's already beginning to uh squiggle up a bit so if we take a look at what this looks like depending of course on like the scale of the object and how it's laid out in terms of uvs you're going to get different results and this might be a bit confusing because we're of course using world space uvs but we're not using wheel space uvs for our noise map the noise map is still confined to a zero to one uv space so the raindrops are fine you know they are adhering to to the world normals but the noise map that we're using to distort them or not so that's why you will get different results depending on the object's uvs which is fine you know because this is all completely tweakable you know different materials can have different values and yeah i won't linger on this too much we have all of the controls you know you can change the scale of the noise and you can change the amount that the streaks are distorted so that's all good of course up until this point we've just been running all of this through the emission which is fine it's a good way to see this whole thing progress in a you know more visually easier to read manner but just to move things along a bit we're going to stick this into the smoothness slot now because you know eventually that's where a part of it is going to be anyway because we want this to be you know the wet rain and we'll just come into our scene here and add a light just so we can you know see something a bit more morally a bit more more see it more oh english is late either way you can see that there and another reason for why i'm now taking us out of the emission is uh it's time to use that normal from height node which we can use to turn our own rain into a normal map now bearing in mind that you will almost certainly want some sort of multiply slider here to uh to determine the power of this normal map because you don't really want it going all the way up to a one because it can look a little bit kind of weird so once you've set all that up made your register and then come over here and got that register and put it in the normals we can see how that is actually looking on the mesh might be a little bit hard to tell so if i actually just uh stop the time you can see the difference it makes and you can see you know when you get up close there is that sort of really horrible banding so i just tend to work with you know like a mid-range value like a 0.5 or something it works pretty nicely okay so we still have one more thing left you know the obvious elephant in the room i suppose is those splotches so let's just go ahead and we'll just start creating the whole setup for that now and we're going to begin with a thing that i cannot pronounce it's it's it's a voronoi but varun i don't know maybe it has to be vironoy no idea it's one of those things that you always read but you never hear this is going to be essential for those splotches and it's where we will actually use the gradient that we're using in the the b channel of our texture i do want to point out however that even though shadowgraph has a varroanoid node to my knowledge it does not have the id output which is unfortunately crucial to this effect now there are other ways to do what i'm about to do but to my knowledge if you're trying to do like a straight conversion of you know this node setup for the splotches at least the streaks should be fine then you're going to struggle like you're going to have to find a different way to do that in shadowgraph moving on because obviously i'm just creating things on screen here and not talking about it we uh we have plugged in a uv coordinates node a texture coordinates node i suppose into the uv slot for this uh voronoi noise and i want to stop saying that because i don't think i'm saying it right and we have also put in a vector one to control the scale so similar to the actual noise that we were using for the distortion uh now we do want this to constantly move but we don't want it to pan or scroll you know we just want it to jitter about so we will use that old setup if you know time multiply by a vector one and we'll stick that into the angle of the node that i don't want to say again so now we've got some movement happening here maybe a little too fast but uh you know it is what it is i'll just now visually show you why shadowgraph can't do this if i put the id into this register just as an example we're not going to use this register you'll see something that might look a bit familiar these are uvs basically now this is crucial because we're going to be using our gradient on our texture to affect these uvs or at least work in tandem with them that's crucial and to my knowledge this cannot be done in shadowgraph i could be wrong but you know my attempt at least yielded that result by all means let me know if i'm wrong about that okay so moving on again we're going to get a step node and i've already done this before so i know the values our first one the large one is going to be the point one and we'll create another one small one's gonna be a point zero two now you don't have to be this specific it could easily be like a point zero three and a point two you know it doesn't really matter as long as one is larger than the other and not too far apart then you're okay now we'll multiply our largest step with the id for the node that i don't want to pronounce i hope that we're going to be done with that soon and then hopefully you can see here how that step node is affecting these uvs so what we're going to do is get a texture sample and again we'll turn this into a reference and we'll just use the existing texture that we already have and then we will grab a panna node and we'll feed the uvs these weird fragmented cellular uvs and we will feed that into our panna uvs and then just create a vector one this will be the the speed of these splotches so you know the rate at which they live and die basically and then that can go straight into the uvs of our texture and now i know this looks just insane like something out of the matrix but this is all going to come together and the way that it comes together is by making use of that smaller step note that we have down there i know it looks like we've completely forgotten about it but we haven't so we want to grab a multiply node and we'll grab the green channel of our texture because remember the green is the gradient that we made although it's actually a bit of a coincidence green g for gradient wasn't on purpose and we'll feed the uh the step into that multiply that we've just made and so now you can see here that we have these splotches that are appearing and then slowly fading away and this is the magic behind why we have that gradient there because the gradient was um if i could just have something on screen as a bit of a visual guide it was white on the left and black on the right meaning you know these uvs this is how we're telling them to appear they're going to just boom like straight in from the left and then fade out on the right and we're able to do that on like an individual cell level because of that magical id output on the brony node that is a lot of talking that probably didn't need to happen but carrying on we're going to just multiply this again by a vector one we'll turn this one into a slider this will be uh overall power so you know you might not want the swatches to be completely one so it's always good to have an option for uh for power and then as usual create a register stick it in and we can use that as a get as a bit of a demonstration for the work that we've just done we'll get that splotches and we'll put it into debug when you put something into the debug in amplify it will like completely ignore whatever else you've got hooked in which is you know it's a really nice way to test one thing without having to unhook a bunch of others so okay there it is there's quite a lot obviously happening to create this effect but we're not using the world space mapping for this we will use the um the world space mask that we created but with the actual mapping this is actually still just appearing based on the object's uvs so you can see over on our truck they're actually quite big because of the layout of the uvs of that star truck as it's a bus a vehicle whatever it is whereas the cube you know each side of that cube is a zero to one uv range that's why it appears like a lot smaller and at this point just a little tip i do like to keep my materials kind of clean and so any property that i don't particularly need to have i will turn them into constants and so for the actual movement of the splotches here i felt like i could change it on the material to a specific value i think i went with 0.2 and i'm happy with that to just you know remain consistent throughout any material that i create from this so i can go back to my shader and i can select that node give it the value of the 0.2 and then turn it into a constant so now it's just it's there forever stuck you know so i've been rambling on about that for a bit much obviously you have the controls for the speed and the scale and you know that's it everything's hunky-dory so we can um we can move on and we will now look into the the masking so you know we don't want this splotches appearing everywhere if we just come back to our shader give ourselves a little bit more room all we're going to do is multiply our splotch result by the y mask that we have but there's a little catch here which i could have corrected like immediately but learning is just fun so if you can see here after we hook all that in our y mask is going through that absolute node so this is on the top and the bottom you know this is we're basically telling this texture where to exist and we don't want to do that like we only want this to be on the top if you remember from the beginning of the video we're actually just going to feed the y component of the world normal straight into that register and so now you can see even from the little preview image this is only going to affect the top like it's not going to the bottom as well so that's perfect you know ideal one might say so we can give this a quick look since we already have this fed into our debug and as you can see it's it's working pretty well obviously on the cube example because our sides are so straight we're not getting any of the splotches there but any of geometry like on this vehicle or the sphere it looks as though the splotches are coming down on on the sides technically you know that's not the case it's just the fact that the geometry is angled in such a way that the mask allows it to get through and so even if you wanted this splotches to appear on these completely straight walls all that means is we just need to do like the opposite operation as to what we did to the streaks so for the streaks we subtracted an amount which created less space for the texture to appear whereas we want to create more space for the texture to appear because we want it to actually to come down on flat walls a bit but we still don't want it to go all the way to the bottom so we're just going to add and we'll add the same amount as the subtract just for easiness's sake and so i'll just see what that looks like and there we go you see so even on the cube everything is hunky-dory you can if you want mess around with that vector one that we're using to subtract the streaks and add onto the splotches but just remember that you know they are connected so if you change one it's going to change the other you could always just make a new vector one if you wanted that is entirely within your ability so now comes the point where you know you've tested all of your individual systems i suppose and it's time to combine everything together and then just just you know try to find the issues i guess so we're going to place down a couple of gets two to be precise one will be our streaks and the other will be our splotches and then we're just going to add them together and for a good measure i would throw in a saturate as well it's always good to try to clamp values down when you've been adding things together and we'll stick this into another register call it you know combine or whatever and then highlight everything press c turns into a group pretty simple i know but you know not everything has to be complicated now if we take a look at this so again just i'll change over the register that's in the debug so we can have a look at what's happening and yeah there we are so i mean if you ignore the uh the scale differences between the vehicle and and the cube uh everything's pretty good obviously we need to tweak with the distortion amounts the speeds the tiling but functionality wise it's looking pretty good we have the splotches appearing on the top and all of the sides and we have the streaks only appearing on the side so still pretty cool if we were to just hook that straight into smoothness you know you can see there things are starting to look a bit more realistic i suppose there are certainly things that i could do to improve this things that i would want to but you've seen how long this tutorial is becoming already like just expanding at this point is just unnecessary hopefully i've given you enough of a tool set for you to continue on your own though so there is just a few minor things before we can call it a day here i just wanted to show you you know obviously you're probably going to be using this on your own models that have their own textures their own normals their own metallics and smoothness so so just in case there wasn't any confusion you can just grab the combine reference that we've made here you know which is everything the swatches and the streaks and just add a you know a texture or a vector one you know if you wanted a slider to control it or if you have a texture and that is pretty much it one thing i don't show here is the normal map in that if you have a normal map of your own that you want to blend with the normals of this make sure you do use a normal blend node because that will actually blend the normals properly instead of i see a lot of people using lerps which just basically it weakens both of them by about half it still kind of looks right but i would say to try to use just a proper normal blend where you can and the last thing i think at least is you'll notice here as i'm putting this slider although all the way to one we can still see our streaks but those splotches are gone they're just not there anymore and of course that's happening because we're using our splotches as a smoothness and we're also putting up a slider to say you know smoothness equals one so if everything is at a value of one then we're not going to see the splotches on top it's not like splotches are a value plus one like everything will just be one and this is just a minor mistake on my part in that i forgot to put splotches into the normal setup that we made so if you just come along to where we have that and just change the reference to the combine reference and then everything is hunky-dory again you know it might look a little bit weird if the strength is at one but we do also have the ability to control the power of our splotches rather than also just you know bringing down the normals of everything you can just bring down the power of those so pretty handy but yeah i mean that that is it for this tutorial i know it's been a bit of a long one and it's been quite a while since i have done a long tutorial but there was really no way to uh to get through this quickly i mean there's probably a couple of ways to get through this quickly you see all these people now with the one minute tutorials they could i could probably do it but i felt as though you know there's stuff that i have to explain i should probably just ramble less but it doesn't matter it doesn't matter it's it's over now it's done we've uh we've both been through it so yeah i mean congratulations for making it all this way if if you did i hope uh i hope this tutorial has been of use as usual if you want the texture and the shader file and nodes and you know all of that good stuff uh hop along to my patreon again i just like to mention that i am not going to be providing the model of the vehicle that's not mine to uh to give away but the link is in the description if you wanted to grab it yourself it is free and one other thing that i don't think i've ever said in my entire youtube career careers the wrong word um youtube whatever is i do have a twitter if you wanted to follow me on it that would be cool i don't really post much there except for the videos that i make here so in fact there's no point whatsoever and follow me on twitter um yeah okay but that will be that so thank you very much for watching and uh yeah i will see you in the next one [Music] you
Info
Channel: PolyToots
Views: 35,657
Rating: undefined out of 5
Keywords: unity, game dev, texturing, uv, game art, shaders, amplify shader editor, tutorial
Id: sqWs6ScSanw
Channel Id: undefined
Length: 37min 48sec (2268 seconds)
Published: Thu Jul 16 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.