Meanwhile I wait on companies I want to get back doing what I love: sharing my findings and cool things with you!
Today I want to share a shader (material) I created for my reel effects, and I love it so much because it looks like simulated holy fire!
This is the material applied on a flattened cilinder.
I’m going to show you the mesh just for the sake of completion, but you can find a pretty good tutorial on it from Shannon Berke!
My mesh
Here is the Shannon tutorial (If anyone has a link to her article, please give me cause I lost it)
FIRST PART - Textures
Noise - Blurred Noise
These two noises come as part of the VFX Apprentice package shipped with the course.
[Shameless promotion here]
The course offers a wide array of noises to work with and I think it’s wide enough so you can dive into effects without worrying about making textures for a LONG time.
It’r really worth the money!
But if you wanted to do this in Photoshop, I suggest you use this new option called “pattern preview”
that allows you to paint in tiling mode. (only available in the 11 version)
You find it here:
(Krita had this function from AGES but shh…)
The last texture here, I painted it myself because I’m very much into fiery textures!
You can have the TGA and Normal map files
here
Mind you,
this texture is only used to distort UVs.
I think it’s a beautiful texture to use as an alpha to LERP some colors on it, like this:
SECOND PART - Build the Material (Shader)
Before I show you the material, I want to back off a little and tell you I built a function to take care of panning, tiling and time for the UVs.
It’s very simple, take a look at it yourself.
Now moving on to the Material itself, the core principle is: multiply a panning texture on top of a slower panning texture with different tiling and distort its UVs.
Let’s see what that looks like in the editor:
Planning ahead, I stretch Vertically the main texture because the mesh that I’m going to use (flattened cylinder) is going to stretch it Horizontally, so I do it to counterbalance it.
In UE saturate is a free operation that works like Clamp, but has no cost. I clamp values so I don’t over blow anything along the way.
Now that we’got the main motion, let’s take a look at how to distort UVs:
Principle: Mask 2 channels from a texture you want to use as a distortion, lower its intensity, add it on TexCoord and hook up the result in UVs of the texture you want to distort.
Note: I needed a CustomRotator node to slightly rotate the orientation of my tiling fire texture, but it’s not nevessary normally.
The texture I’m distorting was painted in Substamce Painter starting from a mesh I made in Maya.
I did because I wanted it to fit perfectly on the wings this material was made for.
Let me show you the meshes and the texture:
Single Wing - Complete Wings Set
Wing Texture (used on all of the wings)
Here is a .rar with the wings meshes I made and the TGA texture I painted, in case you want to recreate it!
THIRD PART - Masking
Now, I tried to emulate a cool mask @Saiel made some days ago and I did not land too far from it, but she made a more optimized version of it.
If someone knows how to make an even more optimized version of this mask, let me know please!
Here is my version:
And here is Sandra’s version (more colorful and sweet to reflect her personality):
Ok, next subtract it from the current panning textures like this:
and now there’s only a few things left to do.
FOURTH PART - Color and Control
I don’t love coloring the material in the material editor because it’s pretty unflexible when it comes to changing colors, but I don’t know a better way at the moment, I’m sorry.
LERP is all I know.
So LERP me baby. (lerp is such a fun word xD )
This might look complex at first but let me explain the thought process:
We use the Alpha from the distorted texture to LERP some different colors together (basically just having fun with the color).
Then we give some Dynamic Parameter and Particle Color here and there to control it better in the Particle System!
-
The first LERP uses a dark and a midtone
-
The second LERP takes the alpha, powers it and uses that to add highlights.
For what you see going on in the bottom, I have a Dynamic Parameter going into a power node together with the Alpha from the texture.
Why? because I want to be able to change values according to the life of the particle.
Dynamic Parameter allows you to control that specific value in cascade by using “parameter >dynamic parameter” module.
Everything else that you see is optional.
The main controls are there!
The material preview should look something like this (it’s fine if it doesn’t move for you, it will in the particle system):
This is what it looks like on the mesh, because it will be stretched:
You can use this material to create some fire, holy fire, dark flames or whatever. I think you can have a lot of fun with them.
Little showcase of use
I hope this article helped you!!
Let me know if you have any questions.
I will be back soon!
Until then, CIAO!