Mesh Appear over time

Hey there :smiley: So I’m trying to create an Earth effect that works like a crack opening from point A to point B but i don’t have a minimum clue on how to do it


This is a ref I took from a Gabriel Aguiar video.
Right now I’m working with Niagara system and I’m still very new to it
Every help would be amazing, thank you in advance :smiley:

Are you planning to use just a texture for a crack or would you like to use a mesh like in the reference?

PS. I’ve yet to worked with Niagara but I can help with material preparation and stuff.

I was planning to use a texture for now but the thing is I don’t know how to make it appear over time (from the 0,0 point until the max point), i thought that a gradient texture could help with that…

Are you looking to reveal it like this? Made this, can send a picture of material if this is correct :slight_smile:

1 Like

Exactly! The main thing you need are gradient texture and a crack texture. You can also use UV node instead of a gradient texture. Anyway, they are used to make a ‘reverse corrosion’.

Note: I use Unity’s Shader Graph to make this, but Unreal’s Material Graph should have all the nodes and works the same since we mostly uses add, multiply, etc.

Here is the basic result

Crack_Simple

The only thing you need is a crack texture

Texture

Now for the shader/material part

Gradient Ramp

The graph here creates a gradient that has its white part ‘eaten away’ based on Reveal parameter. 0 means the gradient is completely blank, while 1 means the gradient is completely full. The movement goes from the brighter part of the gradient to the darker part.

The last Lerp node dictates how bold your ‘fade’ is. The value of A is 0 while B can be whatever. The higher it is, the bolder it will be. You don’t have to use it also if you don’t want to.

  • I use UV’s G channel (circled in blue) to create a vertical gradient, but you can replace it with texture.
  • If you want to ‘animate’ the shader in particle system, replace Reveal parameter with Custom Parameter node in Unreal (I think that’s the name), and drive the value over time in your particle system of choice.

Mask Texture

A simple Texture2D setup. You really need only those circled in yellow. Other nodes are just for my convenience.

Output

Multiply the output from Gradient Ramp and Mask Texture, put it in Saturate, and that’s it. I have additional nodes here to change how bold it is and stuff, but you don’t have to have it.

Now you can plug it into the material’s alpha and change the color to your liking. When you use it, animate the Reveal value from 0 to 1, or use the Custom Parameter graph. Whatever to your liking.

Now, if you want it to ‘expand outward’ like the earth is pierced, like this:

Crack_Animated

Then you just have to replace the UV’s G channel (circled in blue, in Gradient Ramp part above) with a texture shaped like an arrow with faded tip, like this:

Texture

Hope this helps!

Edit: If you want to ‘reveal’ mesh vertex instead of just texture, you can play around using the Output to calculate vertex position and so on.

4 Likes

Thank you so much i will check it right now and see if i can make it work :smiley:

that’s exactly it :smiley:

You just put that into the the opacity. I dont know how the texture you use is build but if you got different textures for R,G, B you can just build the same setup for each channel and control it :slight_smile:

Hope this helps!

2 Likes

I’m trying to make it but the results are still not good, since i’m not experienced this is kinda hard for me tho , thanks for the help tho :smiley: i will keep trying and when i have it done i will post the result here

Alright :slight_smile: just laborate.

A tip is to make a material instancer and play with the parameters (take notes) and use the notes in your dynamic parameter. Saves time instead of playing around with the values in the particle editor.

Good Luck!

1 Like

You can tell us what you are struggling with with the material! We’re here to help.

There are some nodes that exist on Unity that have different names or don’t exist on Unreal and that makes me struggling
Sorry for the late response and thanks for all your help :smiley: