Creating Radio Waves using GeneratedBand (UE4)
Description: In this tutorial, we’ll discuss how to use a single material to create a radio wave effect. The goal of this video is to help teach you how to implement, layer, and mask multiple generated bands into a single material.
Hey this is Matthew from Elara Systems. In this tutorial, I’m going to demonstrate how versatile Unreal Engine 4’s material editor is by quickly whipping together some radio waves in a single material. I start with this stylized scene of a radio tower, and I want to add some sort of signal effect atop the beacon. Before I set out to create this effect, I found a few references of a similar design. I’m building this inside of one material, and I’ll be placing it on a basic plane that I’ve already put in its desired position.
I start this material out with a GeneratedBand. This is going to be the driving force behind creating our radio wave. Right now you can see its doing just what it implies; generating a band. To get the effect that we’re looking for, we need this band to become a circle. To do this, I’m using a distance node and plugging in both my texture coordinates and a 2vector to find its center; which for the 2vector, will be 0.5 and 0.5.
So we have our circle, but the ring isn’t very clear right now. Luckily, we can control the width of our circle through the topmost input. The Width input.
So now, it’s time to bring this effect to life, and really all we need for that is to plug time into our offset input. Immediately, we can see the result. However, since its moving backwards I’m going to have to multiply time by a negative number. Keep in mind that I’m using a fraction to slow down its overall speed.
So now that I’m happy with the result, I’m going to go ahead and plug it in to the emissive and opacity inputs. For this to work, the material should be translucent and unlit.
So now all I have to do is apply the material to my mesh, and you can immediately see the result.
However, there’s still a glaring issue. Since this material is being applied to a square plane, its bleeding off the corners and subsequently ruining the effect.
Now, this is where masks come in. A black and white mask multiplied to the opacity input can completely mold the shape of this material. The mask I’m using here has a bit of a feathered edge, allowing the ring to completely fade out as it reaches the border.
And there you go. That’s a radio wave. I could stop here, but there’s still a lot more functionality that I could pump out of this material. I head back to my Input Coordinates, and I’m going to take that distance and multiply it. This will result in a thinner line but decrease the time between activity. Keep in mind that adjusting the intervals of your bands also means going back and adjusting the width you’ve inputted as well.
I have another mask here that I want to use, just to showcase how simple it is to easily modify the boundaries of our material. I multiply that to the end of the opacity input, and you can immediately see the result.
We’re getting closer to our desired reference. Again, I’m using a mask to exclude certain portions of the material. And now, I’m starting to get excited. The shape and movement is all there; all that’s left is the fine tuning.
Sure, I could have a single GeneratedBand running my material, but adding some variety in width, offset, and repetition can greatly increase the effectiveness of its design. All I’m doing here is duplicating this GeneratedBand and tweaking the variables around before adding the two outputs together.
It’s important to note that I’m adding them together before I apply the masks. Here is where you can see them really coming together.
I’m going to add a third iteration into the material now, and I really want to mess with the intervals of its input coordinates. This will add some much-needed overlap into the material and create something a bit more interesting to look at.
Then, I add some color to the emissive and multiply it by twenty to increase its glow.
And there you go: Three GeneratedBands with different variables that have been added together before masking them. At this point I start tweaking the numbers a bit more, experimenting with the width of these bands until I find something I’m happy with. UE4’s material editor is all about experimentation and quick implementation. I implore you to go out and make your own design or take what you’ve learned here and expand upon it in a completely different way.
I hope you enjoyed the tutorial. If you found this video helpful “like it” to show your appreciation, and to help encourage more videos like this. If you find yourself getting stuck, or need any clarification on something I touched on in this video, don’t be afraid to ask. This has been an Elara System’s tutorial. Thanks for watching. Now go out there and make something awesome.
Learn more in our Unreal Engine VR Tutorial.