Noise recalculating every frame

Hi guys,

I want to make a 3blendColor material using a noise in the alpha, somathing like this:


But when I move and rotate the actor the noise is recalculating every frame.

Does anyone know how to bake the noise or how to not recalculating it every frame.



By default Noise use worldpositin as it’s seed. You may want to use something that is not changing when object moves. Local position or texture coordinate might be good candinate.

But if I use the texture coordinate the UV break the noise



Local position is perfect for this. I just needed to scale down coordinates a bit.

No idea if this might be counter intuitive for you, but I would simply create a noise texture in my favorite 2D graphics program and use that instead. :slight_smile:

Using procedural noise has lot’s of benefits.
-Same material fits for different meshes.
-Unique look for multiple instances.
-Seamless patterns.
-No visible tiling.
-No memory requirments.
-Less bandwith.(but more computations)

Well I wouldn’t say it requires no memory. It generates the texture dynamically, but needs to save it somewhere - in memory :wink:

The pattern of noise textures should be created in a way that allows for seamless tiling, but from pre-made textures you can still guess the tiling as it repeats.

But I am positively surprised and learned something new today: UE4’s noise node can get a static seed to avoid recalculation per frame - YAY! :smiley:

Noise won’t be saved to anywhere. It’s evaluated every frame per pixel. It just don’t require any memory.

Edit: Shader compilers are very aggressive to optimize anything that use compile time static values.

Jenny your advice it’s perfect!
But I have a problem…
I use the world position offset to make a wave in object and that makes move the noise again u.u


Anyway, Thanks both for the advices!!

Just select “World Position Excluding Offset” and then use that as the position of “Local Bounding Box Based 0-1 UVW” and use that as the noise input instead of local position. It will be pretty much the same thing but you get the power to exclude offsets. You may have to apply a scale to get the noise to match since this will be 0-1 whereas I think local position has all local positions including scale.

Thank you Ryan, you saved my live :wink:

Hello guys

I am a beginner in Unreal Engine 4 and I also have that kind of probleme. I use a noise texture in alpha input for the “linear interpolate”. I put a vector parameters on each input A and B of the node.

But, when I move my object with my materials apply on it, the noise is always moving, wich can be annoying for an animation character with this materials. I also can’t apply a texture on it, a noise texture because the materials will appears on one parts of the characters but not on the others parts. I have unvrap my charachter on an external programme so I don’t enderstand the probleme.

Can you help me ?

Thanks You