# Unreal Engine 5 - Anime Waterfall Splash Tutorial

## Метаданные

- **Канал:** Gabriel Aguiar Prod.
- **YouTube:** https://www.youtube.com/watch?v=graozMcShMA

## Содержание

### [0:00](https://www.youtube.com/watch?v=graozMcShMA) Segment 1 (00:00 - 05:00)

Today, let's see how this anim/stylized waterfall splash can be done in Unreal. I have previously done a similar version in Unity because you are interested, links below. But today, let's see how we can do it in Unreal. It can be quite useful if you are working with water in an anim or stylized game. And we made all of these versions available on my Patreon page for my patronons. In case you are interested, you will get access to many VFX projects and VFX assets for Unreal, for Unity, and Godo. So without further ado, let's jump right into this. So let's begin with a new Niagara system, an empty one. We can call it NES waterplash. We are going to use Niagara because we can have more control over a few parameters. And it's going to be an empty one so you can see everything from scratch. This way you always learn something new. It's totally empty. So with right click, we can add an emitter. You can click again on this bottom left button to make sure it's an empty emitter. In this case, it's called minimal emitter. We are going to use it for the water cylinder. And if you want to see something spawning, we can do it on the emitter update by searching for spawn burst instantaneous. It's going to spawn a particle one time. And down here, let's go already down here in the render, which is in this case the sprite that it's visible right there. In this case, we don't want a sprite. We want a mesh render. It's spawning this axis. You can change it up here. And in our case, we need a new mesh, more specifically a sander. It's very simple, very straightforward. We are going to use Blender. I'm going to show you how create one. In here, we want a clean scene. And then we can go ahead with shift A and add a cylinder on this bottom left panel. We can control the vertice and radius. But what's really important for us is the cap field type. We want it to be nothing. So we don't have the top and the bottom faces. We can press tab to enter this mode. And we want to select everything with A and then with G. We want to move it up only on the Z-axis. You can press Z to lock it on the Z-axis. and type a value of one and then enter. Here we go. It's already aligned with its pivo. Fantastic. And now we can smooth this vertx with shade smooth. You can go up there in object. You'll find it there too. And let's rename it to simply sander01. And that's it. We can go ahead to file and export as an FBX directly to our project. We have a models folder here. We're going to rename it to sander01 as well. Turn on selected objects so it exports only this one just to make sure and then press export FBX and that's it. If we go back to Unreal, we can import the sander and then we can assign it right here. Here we go. And if you press F or A on the preview window, you will see the sander entirely. Great. On the initialize part, we can control a few things like the lifetime, but most importantly the scale. We want to say it's nonuniform. So we can stretch it however we want. And for example X and Y can be zero five but make it taller on the Z like a value of five. Here we go. So it's really tall. We are already seeing that splash waterfall the beginning of it. Now it's very important to create a specific material to have the anem waterfall the stallized water aspect. Make sure override is on and then down here we can add a new material. We don't have any but we are going to show you how to create one from scratch. So in our content drawer, let's go to a folder and we right click create a material. The first one we are going to create, we're going to call it the solid color. It's extremely basic one just so we can have some blue. We want to say it's translucent on the blend mode and it's going to be unlit, which means the lights of the scene are not going to influence this material. And from there we can create a particle color which basically allows Niagara system to control the color of this material and connect the RGB to the emissive color. Let me just disable the exposure. Here we go. This is what we want. Extremely simple. Let's save it. Basically, we want this material. Add it right here. And this allows us to control the color on the initialized particle. For example, we can pick a blue. We already have some default values like zero on the R sh channel, Z4 on the G shadow and that's it, one on the blue shadow. This is our base color for the new waterfall. Extremely simple, extremely basic. Now let's spice this up. This is where things get interesting. We can first duplicate this. Ctrl + C, Ctrl + V, water cylinder. Let's call it 02. And now let's see how to create an erosion material. So, right click, new material, MC erosion. Double click to open it up. And in here, first thing we want to do is disable the exposure cuz it's kind of

### [5:00](https://www.youtube.com/watch?v=graozMcShMA&t=300s) Segment 2 (05:00 - 10:00)

annoying. We are going to need this to be in a masked blend mode. So, we can erode some parts of it. We are going to erode the sander. It doesn't need to be affected by light. So, we can say unlit. And the first thing we want to do is create a parameter. In this case, a texture sample parameter 2D for our main text which will receive the most important texture for this material, a voronoid texture. This one, as you can see, which is available for free on the link below. If we connect this to the emissive color, we can see how the texture looks. As a matter of fact, we can change this to a cylinder so we can have a better perception of how it will look on our waterfall. Next part is to make sure that Niagara can control the color of this material with a particle color which is something that we have seen previously. We can multiply these two together and connect to the emissive color. Nothing will change because it's still white inside of the particle color by default. We will control that on Niagara. We also want to control a few more parameters and for that we use a dynamic parameter node. For example, to control the amount of erosion, that's going to be the first index and the power value. We can connect this RGB value to a power node and the power value right here to control how much we want to dissolve this voronoid. That's what it does. As for the erosion, let's create a multiply node by holding M and pressing left mouse button. And then connect the erosion from the dynamic parameter. And this is going to be connected to the opacity mask. And here we go. That's the most important aspect of this because right here, as you can see now, you will be able to control how much you want to erode. And it will give that sensation of any water. This is the basic setup. Let's just make sure that this parameter index is set to one, which is basically the second channel because we are going to need another dynamic parameter. And in this case, we can leave it on the first channel, the zero parameter index. That's how you can create several dynamic parameters inside the material by changing the parameter index. This one, we are going to use it to control the tiling X and Y on the red and on green channel, and for the blue and the white channel, the speed X and speed Y. And by default, we can leave these values as they are. We need to add a little bit more motion to our material, and that's what this is for. water moves a lot and this is going to help mimic that. Up here we can begin by a text coordinate which is basically the UVs of our cylinder and control the tiling of a text. We are going to need it. First we append tiling X and Y and then we'll multiply the text coordinate just like this. We are going to connect all of it to a texture in a moment. For now, let's take care of this bit by first creating a time node. So, it animates the texture panning vertically or horizontally. We need two multiply nodes, one for the X and another for the Y. And time is connected to both. And then we need to append this to create a vector. We're going to use append many. Here we go. And we can add these two together and connect it to our main texture. It's moving as you can see. Really interesting. We have a small glitch. In this case, this happens to you. It's most likely because of post-processing effects. You can disable them. Now it's smooth and it looks cool. For example, the dynamic parameter. We can say the speed on the y-axis is zero as well as on the x-axis by default. You know, we are going to change this on the Niagara because all of these values now are available on the Niagara side thanks to the dynamic parameters. For this one, let's create an instance by going with right click to the material we just made. Create material instance. I'm going to drag it outside of this folder. What really matters is that we add it to our Wasand 02. This erosion. Let's solo by clicking this little guy icon right here. So, we can see only this particle system. And for example, in this case, for the color, we can actually leave it at white. You can obviously test different colors, but for now, let's leave it as white. And let's say it's a little bit wider, like 0. 55 on the X and on the Y. Just like this. As you can see, it's just a little bit outside of the base color. Now, to access the dynamic parameters we created on the particle spawn, we can add a dynamic material parameter. We can control the tiling right here. Let's say it's one by one or better yet, let's say it's three on the X. We are repeating this pattern. And for now, that's it for this dynamic parameter. We can use the other dynamic parameter, the one with erosion and power by saying this is a float. Erosion is at zero. That's why we don't see anything. Something like 1. 3 will look very interesting. As you can see, you can then control how much of this water foam you want on the power. Feel free to

### [10:00](https://www.youtube.com/watch?v=graozMcShMA&t=600s) Segment 3 (10:00 - 15:00)

play with that value as well. But let's add some motion on the speed Y like minus 1. 5. Here we go. And if we put these two together, this beginning of our animfall stallized waterfall. As you can see, we can also test it in our scene. We have a very basic blue color for the ground to mimic water. Very realistic. But yeah, you get the idea. Now, it's all about adding a few more details like ripples and whatnot. Let's go back to Niagara. We can duplicate the water cylinder too, the foam, and call it ripples. In this case, we need a different mesh. So, let's go back to Blender. We can add this other sand. And then with shift A add another sander. In this case we can select the top vertx only and scale it down with S. You can type zero and then press enter. And then with G we want to move it on the Z-axis a value of minus one. And then we can select the bottom vertice and push it up with G lock it in the Z a value of one. We're basically creating a circle as you can see. And we are using a sander for that. So the UVs are perfect. It's easier in a way. Let's go back to object mode. Select shade smooth. And that's it. We can call this one the circle 01. Oh, as a matter of fact, let's go back in edit mode with tab and with ct controllr add a couple of edge loops. You can scroll up and down to add a few more edge loops and then press enter and then escape so it stays at the center. This way you don't get strange artifacts when creating this effect. Our idea with this circle is to scroll a texture. In this case, the voronoid texture. That's why the UVs are the way they are. So we can get this effect and it will look like a puddle. It's awesome. It's a great trick by the way. So let's press Ctrl+ A to apply all transform. So we make sure that the scale, the rotation will be the same when we export this to Unreal. And in file we can export as an FBX. Call it circle01. And that's it. Export. Now back to Niagara on our repos meter. We want to change the mesh to the circle. Exactly this one. Here we go. It's very small. We'll fix that. And on this case, we want to spawn more than one per second. a few of these. So on the emitter update, let's add a spawn rate of three. We can leave the spawn burst instantaneous. That's all right. But on the initialize particle, let's decrease this to 2 seconds. They are going to be faster. If you want the sounder can leave more than five, by the way. As for the size of the ripples, let's make sure it's random uniform. We don't need to stretch them. Let's say it's between two and three. We just want a few of them that are smaller, others that are bigger. This is what we get at this point. If you want, you could improve your shader by adding a mask so you don't get the cut on the edge of the circle every time the veronite gets closer. But that's another trick for another time. As a matter of fact, if you watch my channel, you will discover that trick very easily. Now, let's make sure that the tiling is different. It will make a huge difference, especially if we say on the Y it's Zot 5. And if you want slower ripples, you can decrease the speed Y. We don't have a mask, but we can animate our erosion. If we convert this to float from a curve, the scale curve can be 1. 3. And then we can select these two key points and we right click say it's auto. So we can control their handles. So we can basically say that it erodess faster at the beginning. Make sure to play with this erosion. It's quite powerful. You will see. For now we can say power level is two. It creates this kind of gradient. And since it is repeating itself so much the only thing we are missing is on the particle spawn an initial mesh orientation. First we want to say it's none. And then we can turn on rotation down here. Make sure it's random range vector. So we can say it has a random orientation on the zaxis between zero and one. This is not degrees. It's quaternians I believe. But between zero and one, it will rotate randomly 360°. You can also bump up the color value. Say it's 12 on the RGB, it will become brighter. That's something you will notice in your scene. Another change I'm going to do is push this position offset a little bit up a value of Z. 1 so it doesn't intersect with our water. Another small detail we can add is make sure that this grows over time with a scale mesh size on the particle update and then convert this to a float, this vector to a float. So we can convert the float to a curve. We can use one of these templates so it goes from small to big. Select all of these keys, right click, choose auto just so we can control the endles and create this curve right here. Here we go. And the cool thing is that if we drag the dynamic material parameter module down here to the particle update, it will continuously animate the values there, creating this effect, it has different results if used on the particle spawn or on the particle update, creating these

### [15:00](https://www.youtube.com/watch?v=graozMcShMA&t=900s) Segment 4 (15:00 - 19:00)

small ripples. Feel free to obviously play with the values and see what you can get because there's a few different results depending on the values. As you can see, these ones are kind of triangular. They stretched. Now, let's create some round ripples. So let's copy this ripple01. Rename it to rile02. If we change a few values on the dynamic material parameters. Let's just isolate it. For example, let's first say the tiling is different like 0. 5 on the X and one on the Y. You immediately get round ripples. That's how cool this is. Let me just decrease the intensity, the value in this case. And that's it. We have very different ripples. Now if we solo these two together, this is what we get. I'm noticing the round ripples are eroding too early. So we can increase the erosion to 1. 5 for example. We can say the power is zero. So it's fully white and we get this awesome effect. Cool. In terms of ripples and waterfall. That's pretty much it. What we can still show you on this tutorial is how to create kind of foam at the base of waterfall. So let's copy this ripple 02 for the ring base 01. Let's solo this. And on mesh render we are going to change it. Let's go back to blender to create something that looks like a ring. We are going to begin with a sander with shift A. We can already shade smooth this. And then if we enter edit mode with tab, we can use CtrlR to add three edge loops. You can press enter and then escape so it stays at the center. We can scale all of these only on the Z-axis a value of 0. 5. And then by selecting the top and the bottom edges and enable proportional editing. Let's scale this down. And then you can control the influence by scrolling up or down on the mouse wheel. Here we go. Let's push this a little bit outwards with S. And that's pretty much it. You get this ring. You can rename it and then apply the transforms and export as an FBX to your project. Back to Niagara. We can add it right here. And for now, this is what we get as soon as we replace it. So yeah, we need to make a few adjustments on the dynamic material parameter. That's how cool this module is. You can control a lot of things inside the shader. I'm going to say the tiling Y is smaller so the texture looks bigger. And as a matter of fact, we can disable speed by saying it's zero. And increase the scale curve of the erosion like four, but can go from big to small with this curve like this. Small value in the power. And as soon as you play this, this is what we get. As you can see, we have these random rings appearing. They already have random rotation and they are growing up. Maybe we can increase the spawn rate. Maybe that's too much, but we are going to leave it as it is for now. I've increased the scale curve on the scale mesh size, but that's way too big. Instead, we can go to initialize particle and they should leave less by the way, like 0. 5. But yeah, the size is really big. So with the random non-uniform we can say it's a minimum of 0. 5 on the X and 0. 3 on the Z and for the maximum 0. 7 on the Y and on the X and 0. 5 on the Z. Yeah, now it's with the correct proportions as you can see. And it really adds a lot because it was the missing connection between the waterfall and the ripples. As you can see, if you look at this on the scene, it looks much better already with just a few emitters. And if you add a couple of particles and splashes here and there, you get really interesting result. That's what we did here with all of these versions that we made available on my Patreon page and on my website links below in case you are interested. Talking about patrons, I want to say thank you to each patronon that supported me last month. And as usual, a quick shout out to the top tier patrons which are Albert and Guin Amarantos, Ashkan Kalcali, America Kumova, Christian Ludana, Die Maru, Dimitri Kipka, Eric Alamirano, Frosty 40, Gabriel Dichi, Jade Ginuga 4, Leandro Dissu, Lua, Matt Morren, Medic, Praen, Rain M, Sage, Stephen B, Jono, Valkcan S, Visuta, whatever Marta will pinting pang Jang Leosa and MJ King. Thank you all very much for your support. I hope everyone enjoyed this video and I hope to see you on the next one. Thank you. Bye.

---
*Источник: https://ekstraktznaniy.ru/video/39492*