Making a Volumetric Jet Material for Eevee - Blender 2.91 tutorial

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
i got absolutely soaked out there but i had to go to the office to get the camera to be able to make this video so this is for you guys i hope you enjoyed the video yeah it's the end of october and here in finland it means lots of rain darkness wind a bit of snow maybe i do enjoy this weather also it's so moody and atmospheric and really quite inspiring but these songs for humanity both animation i've been working on isn't very moody it's pretty light-hearted as you know if you've seen the previous videos i'm slowly approaching the end of the song i'm like 70 percent of the way there let's check out what happens to the boat when it rises up into the night sky [Music] so yeah it faces another challenge after the storm which is meteors this time around and it solves that problem by revealing and using these jet engines it's been hiding inside of it and it's funny how it always happens with blender as i started making those jets i was thinking about different ways to make the flaming end and just then literally on the same day i noticed that there's these new volume modifiers for the volume objects in 2.9 alpha and they were absolutely perfect for the task and i thought it would also make a good tutorial so let's go through how i made the jets okay so let's start the tutorial i'm using the latest 2.9 alpha build which you can get from builder.blender.org and we'll start by modeling a simple cartoony jet engine and first we'll add a cylinder and i'll go through this modeling part pretty fast but i do have screencast keys here if you do want to follow all the shortcuts i'm using so just go to the edit mode and rotate the cylinder along the x axis 90 degrees scale it some along the y axis ctrl r to add loop cuts a lot of them something like this and then alt right click to select this last edge loop here and enable proportional editing from here and change the fall of the sharp and then scale and shift y to not scale along the y axis and then if you bring this down and use your mouse wheel you can sort of change the falloff size and we'll make something like this for this side and then go to the other side and alt right click here scale shift y and then increase the fall of size to something like this that's okay and then let's select this face and delete that and then also delete this face from here and we'll go to object mode and then we'll go to the modifiers here add modifier and solidify that will make it have some thickness and we'll increase that a little bit something like that might be okay maybe a bit more and then if you click the solidify modifier area and then press ctrl a it will apply the modifier and we can go to edit mode and we can alt right click and alt shift right click to select this edge loop here and ctrl b to add some bevel to make it a bit more round and we can do the same thing for the other side now we have a basic jet engine shape okay so next we'll make the blades for the front of the engine so let's add a uv sphere and bring that to local view and go to site view and toggle x-ray and we can just delete all these lower vertices here and extrude these last vertices from here and then we can just scale this up along the z axis something like this and then just turn the whole thing around the x-axis and scale it down a little bit and then if we go back to the global view and bring this forward we have a nice central part that we can attach the blade things onto and now we can just snap the cursor here and add a plane object and rotate that along the x-axis and go to front view scale it down scale it up along the z axis and make it so that it sort of covers this area right here maybe take it back down from there a little thinner and then select these two faces and bring them back somewhat like this so that it's a bit slanted maybe bring this whole thing forward just a bit and let's reset this origin to there also and let's add an empty object plain axis and make it a little bit smaller and then we can take this plane object here and add a modifier for it solidify to make it have some thickness and then we add another modifier which is going to be an array modifier and this we're going to use to make a fan of blades and we can just add like 20 copies of this and uncheck this relative offset and check this object offset and just select the empty object there and now we can go back here and select this empty and go to the front view and rotate this along the y axis like this and you can just eyeball something reasonable like this and then increase the copies until you are close and then maybe tweak this a little bit more so that it's a bit more even and there you have it you have a fan of blades and then we can maybe increase the slantiness just a little bit to make it more blade like we could maybe take this a little bit back so that has a bit more depth something like this looks nice to me maybe take this back also just a tiny bit and then make sure to select the empty object and the blade object and the center object here and parent everything to the center and then also take the center and parent it to the jet object so now when we move this around everything moves with it and rotates properly so that's really the basic jet object done we could maybe make them have smooth shading like this and that's plenty okay for this tutorial okay so now we get to the new and interesting part which is the volumetric jet flame back here and for that we'll add a new cone like this and we'll rotate it along the x-axis like this and bring it back here and scale it down along the x and z axis like this and scale it up along the y axis something like this maybe a bit thicker just something that fits the shape of the jet and we'll actually put the origin of the object here at the beginning of the flame like this because it becomes important in the material settings later and now that we have this mesh cone object we can add another object which is going to be a volume object so this is a relatively new object type in blender and you can either import an openvdb file or you can just add an empty volume object which is what we are going to do so just add that and you can't really see anything because there's no volume at the moment we just have this empty volume object here in the outliner and what you can do with this empty volume object is you can add modifiers to it so if we go down here to the modifiers panel you can go here add modifier and there's currently two options we have mesh to volume and then we have volume displays and we'll actually use both of these but first let's add the mesh to volume modifier and what this modifier does is it takes a mesh object let's say this cone that we have here and then it turns it into a volume that's the same shape as the mesh object so here we can just select the cone and just like that we have some volume happening and now we can hide the cone object from here from the viewport and from the render because we don't need it in the render either and now you can see that we have a volumetric uh jet flame that's cone-shaped it's a little bit blocky and we can fix that by increasing the voxel amount here maybe something like 120 or something maybe even 150 depending on your needs and then you'll also notice if we bring back this cone object that it's a bit thicker than the original cone object and that's because we have this exterior bandwidth parameter here which is currently set to 0.1 so if we increase this you can see that it sort of adds volume to the edges of the mesh and if we bring it back all the way down to zero it just uses the original mesh boundaries and add nothing more so now when we hide the cone we get the nice looking cone shape you can also increase or decrease the density and we can leave it at one for now so then if we switch to the rendered view you can see that we have a volume there volumetric material but it's very basic and it doesn't really show up as a bright flame so we need to fix that but first let's modify the scene lighting just a bit let's maybe make the background some dark blue color if we simulate a night sky and then i don't know this is not really important for this tutorial but let's add some some light down here so it looks like something and now we also see the volume a bit better and let's also increase the viewport samples here to make it converge a bit nicer so the way we can make this look like a bright flame is obviously we need to add a new material for it so just select the volume object and then click new here and then we can go to the shading tab up here and switch back to the rendered view and now we can see that we have a principled volume set up here ready to be modified so how do we get this volume to light up we have this density attribute here if we bring it down it vanishes if we bring it up it gets more dense but that's not doing what we want and then there's this emission strength and you would think that if you increase this the cone flame would just light up but what ends up happening is the whole boundary box of the cone object lights up what we need to do is we need to control this emission strength with the initial density of the volume object which is this cone shape and we have this density attribute here which is used by default here to have this cone shape up here and to not have this be just a block and we can call this density attribute by adding a node shift a input attribute so we'll add this here and from here you can just hover over and ctrl c and then go here and ctrl v so that we get this density attribute named correctly here and now we can use this vector output from here to drive the emission strength of the material and if we do that you can see that only the cone shape lights up and now that we have emission here we can actually turn down this actual density to zero because we only need the emission we don't need any actual density for this volume object and we can of course change the color something like this a bright orange color but it looks a bit dim right now i want it to be a lot brighter so what we can do is we can make some space here and add a converter math node and plug it in between these two nodes and then if we change this to multiply we basically then have a slider that can control the overall strength of the emission so if we multiply by 10 you can see that it gets really bright and now it's also a good time to go to the render settings here and enable blue so that we get this nice bloom effect going on we can maybe reduce the intensity just a bit okay so there's a couple more things we're going to do for this material but now that we have the basic emission working we'll go back to the layout tab here and work just a little bit more on the volume itself because right now it's very uniform and very static and i want to add some liveliness to it and we can do that by adding another modifier i was earlier talking about this volume displays modifier so we'll add that also and what this does is it uses a texture to displace the volume after it's been generated from the mesh so we can just click this new button here and it created a new texture and if we then go down here to the texture tab you can see it already automatically selected this texture and we'll change the type of the texture to be clouds and right away you can see that we have interesting things happening here in the viewport it takes this cloud texture here and this places the whole volume according to the cloud texture and already that looks a lot nicer but it's a little bit too much we can maybe increase the size of the clouds to make it a bit more believable maybe even a bit bigger something like this and then we can maybe also decrease the strength of the displacement to something like 0.3 maybe let's see yeah i think even less like 0.2 might be okay and the idea here is to get this texture to move so that it's not the same every frame so if we quickly switch back to the solid view we can see better that when we scrub the timeline nothing is changing it's static and we want that cloud texture to be moving backwards along the y axis so that it looks like the flame has some turbulence to it and we can achieve that by adding a new object to the scene it's going to be an empty object just a single arrow and we'll bring that up and rotate it along the x-axis like that and then we will parent this to the jet object like this so that it follows the jet object and yeah now i also see that i've forgotten to parent the volume so it doesn't follow and i've also forgotten to parent the cone it looks like so we'll select both the cone and the volume just control click and then we'll parent those also to the jet object so now everything should be following nicely and yeah it does and now we can hide this cone again and now everything should be working properly so now going back to the displacement texture here we can see that the texture mapping is said to be local and if we change this to be object we can choose an object that it reads the texture coordinates from and if we now click this eyedropper and choose the empty arrow you can see that when we select this and move it along the y-axis the cloud texture moves along with it which looks very nice and so that we don't have to manually animate this arrow moving all the time we can just add a driver to the location y field here so you can just click here and type hashtag frame and as simple as that it added a driver that takes the current frame and converts it to the y location value so now when we scrub the timeline we can see that the arrow is moving let's hit play so you can see a bit better so now if i rotate the cylinder you can see that the arrow always goes relative to the cylinder because it's parented and that's what we want because we want the flame texture to always go backwards from the engine so that's working very nicely and now we can go back to the shading tab here and start to work a little more on the flame material because it's still very flat and uniform i want to add some life and variation to it okay so we'll start by making the flame brighter here at the exit hole and then having it gradually fade out towards the tip of the flame and we'll do that with a gradient texture so we can just shift a and add a texture gradient texture linear is okay and we'll also add a vector mapping node like this connect that there and also we'll add an input texture coordinate node and just fit the generated output to the vector input here and we can now move these nodes here and we can use the factor output of the gradient texture to be the multiplying value of this node and what this multiply now does is it takes the density attribute and multiplies it with a number ranging from one to zero that is taken from this gradient texture and it doesn't look very promising right now because the orientation of the gradient texture is wrong we will see things a bit better if we add a color ramp node here so let's take converter color ramp and let's plug it here in between the gradient texture and the multiply node so we can now increase the contrast a bit so that we see more clearly how the orientation of the gradient texture needs to be and it looks like if we go to the top down view you can see that the texture is actually aligned horizontally if i move this around you can see that the gradient gets cut off from left to right so we just need to rotate the coordinates of the texture and it will be done here in the vector mapping node and since we are now in the top down view and the texture is horizontal we can know that the correct access to rotate is z so if we just go here and rotate it by minus 90 degrees you can see that we are now in the correct orientation we just need to flip the colors like this and also maybe change the interpolation to ease so that's a bit smoother and now you can see that it fades out nicely in the end and is brighter at the exit hole it's a bit too dim overall so we want to increase the brightness near the exit hole so we'll just add another multiply node here in between this color output and the multiply node and that will give us back the original brightness and then we can fine tune the gradient a little bit i might do something like this so that the flame is very bright only very briefly here at the start and then fades out a bit quicker maybe something like this that looks okay to me i might even go for 15 here and then make this even darker something like this i think that's okay for now i also want to add a smaller area to the center of the flame that's even brighter like a lot brighter but it's only going to be a small portion of the flame here in the middle and to do that we're going to use another gradient texture so we can just select this one and shift d to duplicate and this time it's going to be a spherical texture and we also need another vector mapping node and another texture coordinate node and for this we're going to use object coordinates so just plug them there and connect this also and the way we can add this gradient texture on top of the already existing gradient texture is by using an add node so we can just make some space here and duplicate this multiply node plug it here in the middle and change this mode to add and right now it's obviously adding to everywhere and it's again making this huge block but we can fix that by plugging this gradient factor output to the add value here and now we are essentially just adding a spherical volume to the emission and it cuts off from these ends here so to make this the shape we want we'll have to modify the vector mapping node here this rotation can be zero and we'll increase the scale of this gradient texture to something like five maybe and the sphere is now there it's smaller and it's hard to see because it's just essentially adding one unit to these 15 units here so we need to again multiply this value before it goes to the add mode and 15 is not going to be enough for me i'll bump this up to something really big like 300 or something and now you can see the little sphere there it's actually a little bit too small to my taste so i'll dial this back to like three by the way these scale values as you can see they work a bit backwards so if i give it a bigger number like six it's gonna be smaller and if i give it a small number like two it's gonna be big so it's a bit counterintuitive but that's just how it is so three is okay for this and then i'll also decrease this y value to sort of stretch it along the y axis maybe i'll take this back to four and this y value to one maybe like this it's just a matter of preference but as you can see now we have a very bright center of the flame the problem is that this spherical texture here is very static right now we got some liveliness to the cone flame with this volume displacement modifier but we need to get some of that for the sphere also and we can do that by using the old trick of feeding a noise texture to the scale input of the vector mapping node but since we already have some important scale values here we'll have to combine two vectors to be fed into this scale input so let's just add a converter vector math node here and copy these values over you can just hover over the value and ctrl c and ctrl v to copy them and when i was testing i noticed that the multiply mode actually works best so let's just connect this there and again we got a huge block but we'll fix that now by adding a noise texture from here another vector mapping node and another texture coordinate node and we'll use the generated output here connect these and then connect this vector output to the second input of the multiply node like this and as you can see we've got some craziness happening here so it's taking the noise texture and sort of warping the original scale values that we fit into the spherical gradient texture here but it's way too extreme now we need to dial it down and to do that we can use a mixed color node just make some space here and then let's add a mix rgb node and plug it in the center here so what this mix node is doing is it basically just takes out some contrast from the noise texture so if we bring this vector all the way to one we get a smooth sphere with no noise and if we take it to zero we get a crazy amount of noise in the spherical texture and you'll notice that if we have this at one the sphere is actually a lot bigger than what we originally defined with these values here and that's because the second color needs to be pure white like this so now you can see that we have the original situation here so now if we take this factor down a little we can sort of dial in how much noise we want to the sphere i think 0.5 would be okay these noisy features are also a bit too small to my taste so i'll decrease the scale here this scale multiplying is actually making this a bit bigger so maybe i'll increase this to five and this to 1.2 just play around with this until you find something that you like i think that looks nice this noise texture here is still static of course and we need to get the same liveliness uh animated liveliness to this also and we can do that by driving this y location of the vector mapping node it's hard to see because the viewport updating is so choppy but when we change this the shape of the noise texture also changes and so we can just add the same driver here hashtag frame so now it's updating every frame and it's just as lively as the flame cone here and that's it we now have a simple but nice looking cartoony volumetric jet flame material here's the whole node setup if you want to take a look and for the songs for humanity animation i also added those smoke particles so i thought i'd just very quickly run over how to do that so just add an emitter object i used a circle and then add a particle system for it and then increase the normal velocity and make sure that the object is oriented correctly and then take out the gravity effect and then increase the numbers a bit and then add the turbulent force field and play around with the settings of that until it looks nice and then add a driver to the y location of the turbulence to make it more lively here's just a little more fine tuning of the turbulence values and then add some randomness to the velocity of the particles and then add a texture influence for the particles and make it be a blend texture coordinates from the particles and have them influence the size of the particle and then you can make a custom color ramp that defines the size over lifetime values to see the effect of the texture you need to change the render option from halo to object just make a sphere and select that and you should see the effect of the texture tweak the scale and scale randomness values and then you can adjust the color ramp to make the particles fade out smoothly and to finish it off just create a new material for the sphere and for the cartoony effect that i was going for i turned off the speculars and made the base color black and made it have some emission and then i changed the blend mode to alpha blend and shadow mode to none and then made it be almost transparent and that produces this nice cartoony smoke effect and that's the tutorial complete i hope you found it useful [Music] there's been a lot of stuff happening in the past couple months for me i've been quite busy at work we've seen some surprising growth in our small company we went from like two and a half guys mostly just me and my brother to six full-time people in like half a year which is crazy and awesome for us but it's been a lot of work and then me and my wife are also in the middle of having a house built which obviously takes up a lot of time even though we are leaving like 95 of the actual construction to professionals and my wife's been very busy starting up her own company so it's been a lot but it's also been very exciting and fresh for both of us and we are very lucky to have a solid relationship i can only imagine how terrible it would be to be in the middle of all of this while dealing with a bad relationship which brings me to the point of this thought tinkering i saw this post on reddit where a person was asking about how you can know you are with the right person in a long-term relationship they were mostly happy but they didn't have a good model of what a healthy relationship is supposed to look like so they were worried about if they had found the right one so i wrote them some things which i was happy to hear they found useful and the gist of my answer was that you can't really know and that it doesn't have to be a bad thing i spent the first couple years of my marriage worrying about the same thing and eventually i figured out that if you are a rational person who's used to dissecting their own thoughts and emotions it's pretty futile there's no writing on the sky about your chosen one so if you are worried about it it's bound to come up again and again so the trick is to stop worrying about it when i realized that i couldn't know anything for sure i kind of started to see the forest from the trees in that i found myself in a healthy caring relationship where we both work together to solve any issues that might come up people like to talk about the one like it's a real thing but me and my wife share the same opinion that it really is just a saying we both agree that in a bit different life situations we could have ended up with completely different persons and we still could have found ourselves in happy healthy relationships it's very liberating to feel that way somehow many people feel like it sounds depressing or disappointing or that a relationship like that can be truly happy or something like that but i never really understood that what's more happy than being truly content and not worrying about could have been i love my wife she loves me and the fact that we are not the only compatible persons in the world for each other doesn't take anything away from that if anything it adds a dose of love that goes beyond our own relationship i don't have to worry about my wife falling in love with another guy because our relationship isn't built on some fleeing emotional excitement for me what's most important in the long-term relationship is the communication and the will to work together to grow as persons i wouldn't settle in a relationship where i feel like i'm not understood or that i'm not free to discuss anything and everything or that the partner is never willing to change her opinions and just grabs tighter to the old ones those would be deal breakers for me but i'm lucky to live with a woman who's just as eager to grow together as i am we've been together for 10 years married for six of them and we both feel like we're just starting out thank you for watching and have a nice day see you in the next one [Music] you
Info
Channel: Sketches For Humanity
Views: 8,522
Rating: undefined out of 5
Keywords: sketches for humanity, songs for humanity
Id: 52wkINcVpbE
Channel Id: undefined
Length: 32min 0sec (1920 seconds)
Published: Fri Oct 30 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.