Unity Shader Graph - Tornado Shader Effect Tutorial

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hey what's up guys welcome to Gabriel Gap prod today we are going to see the steps I took to achieve something like this where we have a tornado going crazy and pulling objects inside we will see how the tornado Shader was made as well as the clouds in the sky and we will have a look at how the movement and the pulling forces of the tornado were done this project is available my patreon page links in description in case you are interested so with that being said let's see how we can do this so to create the tornado effect I knew I needed a 3D mesh so I went to blad and I started with a cinder of 32 veres I immediately created the UV maps to facilitate that process and make sure the cinder covers the wall UV area like this once I have done that I started modeling the tornado mesh into something similar to a funeral however this one is larger at the top and in the middle it starts to shrink into a curvy tunnel and at the bottom it's also going to be larger but not as much as in the top once I was pleased with the result I export as an fbx to [Music] Unity I created an UNL graph for the tornado Shader and this Shader will be divided in two main parts the wiggle movement of the mesh basically done with vertex animation and dissolving and SC scrolling part so I decided to start with the dissolving part which required me to use a Time note that it's going to make a simple noise note scroll at a certain speed the only difference between a normal scroll and the one that I wanted to make is that I used a radial Shear which basically applies a circular warp to the noise and this kind of distortion adds a nice touch to the tornado for the dissolving part all I needed to do is connect this noise to the alpha clip threshold and then created the vector one as a slider between zero and one that will be connected to the alpha and control the amount of dissolve I also added color by simply multiplying the simple noise with the color and connected to the color input of the UNL Master to see how this was working I created the material out of the shap created an empty with the particle system attach it which only emits one particle and then I assigned the tornado mesh and the material too and as soon as I start playing with the dissolve amount the noise scale and the speed and with the color I saw that everything was working well so I decided to move on to the next step which was adding another noise texture since this one was being too predictable and kind of static to achieve that I used the same method and the same noise but this time with a twirl node I added properties to control the twirl Center the twirl strength and the speed as well and then I mixed both of the Nos and replaced the respective connections this time as soon as I started dissolving it it was looking much better and more unpredictable and with a certain amount of twirl I got a result that was very satisfying and I was able to control the center of the twirl as well I decid to move on to the next step which was the vertex animation and I previously made this video about vertex animation and went into a lot of detail on how it works so if you are interested the links in description now once I had the vertex animation working and my tornado was woing around I noticed that I needed a few more veres more Loops in my geometry so I went back to blender and added a few more now it looks much smoother and I was able to move on to the next part and the next part is enhancing the Aesthetics of the Tornado by adding more layers so for the core I stretched a little bit in Z axis making it taller then I proceeded to add a layer of GR gray wind which is bigger than the car and it's more dissolved and with more twirl as well one of the last layers I added was mostly to create contrast with the tornado and it was what I call it dark dust and I only wanted to add a touch of this that's why it's very dissolved I then added a big layer of gray cloud at the top and also added a few more at the bottom as well and once I was pleased with the result I started working in the movement of the tornado and for that I knew I wanted it to move slowly and randomly inside a given radius so I created a script where I have public movement radius the movement speed and the movement is type so I can control with a curve how the motion of the tornado is going to be I keep the original position of the tornado to the mind the radius then I start a cortine where I choose a random position inside that radius measure the distance between the tornado and the new position and calculate how long it will take for the tornado to arrive at that new position once I had that information I us it I twin which is extremely useful and I used it to move the tornado to that new position according to the east type curve and pass the the time it will take to travel that distance the Curtin Waits until it arrives at the destination and then calls itself again and again to repeat the whole process and choose a new destination so I added the script to the tornado adjusted the values and everything was working well it was moving slowly into random positions now since this is a tornado I really wanted to recreate the physical impact it has in reality which essentially is pulling objects inside making them speed and it also drops them from time to time so in order to achieve a similar effect I needed to add the sphere collider as a trigger to control the pull radius and to know if objects are in a Range to be pulled to know if the objects are in the range I use the on trigger enter and search for the tag of the object which in this case was bullet just for testing purpose and then I call the increase pull cor routine and this function will control the pull Force according to a curve since the forces of the tornado also varies a lot and has irregularities then I get the distance between the tornado and the object so I can know in which direction I need to pull the object I access the rigid body of the object and I use it ad Force to pull the objects towards the pulling Center and the pulling Center is nothing more than an empty game object that will be moving up and down thanks to this animation curve just like this and the objects will be pulled towards this empty so now it was time to test this out so I add a few Cubes To My Scene I also created this curve for the pulling Force of the tornado where one will be the maximum that I set in the pull Force so zero is no force and minus one pushes away the cubes and when I press the play the result was pretty interesting with a few more tweaks I also added the clouds which are basically made from the same Shader as the tornado but moving slower and then I replace it the cubes with exploding barrels and the result is amazing I had a blast playing with this tornado and it's really cool the end result I think so that's it guys I hope you have enjoyed and learned something new as well and this project is available my patreon page in case you are interested in supporting me all the links are in description by the way and I just want to say a special thanks to my super mega patrons which are Alex Dixon Christian mer Ino fakun buy Goblin black James Finley Jam Anderson Ruan mola Lis mura tiita Warden Studios Yanik saor xgame Dev and Yoni you guys are amazing and I could be more thankful of your support I hope you have all enjoyed this tutorial and I really hope to see you in the next one
Info
Channel: Gabriel Aguiar Prod.
Views: 73,223
Rating: undefined out of 5
Keywords: Unity tutorial, unity effects, unity special effects, game effects, unity particle tutorial, unity game effect, unity vfx, unity shader graph tutorial, unity shader graph, shader graph, shader graph tutorial, unity shader tutorial, unity shaders, tornado shader, tornado, unity tornado, unity cyclone, unity storm, unity wind, tornado tutorial, unity tornado tutorial, unity tornado physics, cyclone shader, shader graph tornado, unity tornado effect, tornado effect
Id: Qyh9RPxeKcA
Channel Id: undefined
Length: 10min 1sec (601 seconds)
Published: Thu Jun 27 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.