# How to shift noise texture without distortion?

I am struggling with understanding how to shift the noise texture connected to another noise texture without distorting the overall shape. I have tried connecting them to same mapping, and to separate mappings and shifting x coordinate around, but so far the results are not as I expected. I have attached an image below illustrating what happens in each case.

This image does not have any mapping changes. Below I show what happens if I change the mapping of a lower node:

As it can be seen, there are no changes in the bigger pattern of the cloud, but smaller details change. Next, I show what happens if you change mapping of higher node:

The result is similar to the one if you connect one mapping to both noises. In a nutshell, I would like to shift the "bigger" pattern of the cloud, not only the smaller details. How shall I proceed?

• I see in your screenshot you've moved the texture 300 m in the X direction with the upper Mapping node. If I do this, the texture is simply moved to a part where it shows mostly white (= high density volume). 300 m is quite a lot. Have you tried moving with values smaller than 1 m? Like 0.1 or 0.05? Jan 24 at 11:50
• @GordonBrinkmann While I can shift it with smaller numbers, it does not really fix the problem. In my understanding, the pattern of those two noise textures should simply "shift" in the chosen direction. Instead, it gets denser as the mapping value increases, which indicates that something changes within the pattern itself. I suppose that the fix is within mapping nodes, but I just cant get the configuration right. Jan 24 at 12:12
• I didn't test it yet, but seems to me strange to use Noise texture as a Scale value for Noise texture ... probably this mismatch the result. Jan 24 at 13:05
• @vklidu It might be a rather strange method, but so far it is the best I found to make specifically detailed clouds. The only thing is that I have no clue how to shift it. Jan 24 at 13:21

It seems to me strange to use Noise texture as a Scale value for Noise texture ... probably this mismatch the result. If you disconnect lower Noise to Scale you can see X shifting works OK so issue is definitely Scale source value. Try something like this ...

• Thank you for your answer! I have fiddled around with nodes and managed to get a close result to what I expected :) Jan 24 at 16:12

I replaced your Mapping nodes with Vector Math > Add as it achieves the same thing. Now, let's look what happens when you offset the Y coordinate passed to the 2nd noise texture, with the first noise removed:

Not surprising at all...

But what if we base the scale on the Y coordinate (before offsetting it, simply the Y coordinate of the rendered pixel):

It no longer moves, it squeezes! Why? Because the noise texture isn't generated by first moving to a given location, and then generating some noise there, with the size of pockets of similar color based on Scale - no, instead it simply multiplies the given coordinate by the scale, and then generates noise for that coordinate:

This is why setting Scale to 0 will output a solid color everywhere, because each coordinate will be multiplied with 0, resulting with x:0, y:0, z:0, and so only a single noise coordinate will be sampled for all pixels/lightrays.

Going back to the example where the Scale depends on Y coordinate: at the bottom Y=0, and so bottom color doesn't change at all; at the top Y=1, and so the color changes as with Scale = 1. The lower on the plane, the smaller the scale and so the lower the multiplicand of the coordinate, and so the lower the offset, and so the lower of the moving texture speed... In simpler words (not sure if they're needed), if you have a traffic jam with 100 cars, and you magically make the cars move with speeds based on each car's bumper's distance to the front car's bumper, the front car won't move at all, the last car will move the fastest, and they will all squeeze tragically killing everyone inside (don't try to imagine the horror).

Now in your case something quite similar happens, the speed of change depends on the result of the first noise. You have points on the plane that have scale very close to 0, points that have scale very close to 1, and points in between. As you increase the offset, everything squeezes, therefore adding more and more detail:

But how do you fix that? Right, ummm... I know! Do that thing vklidu said.

• Thank you for your answer! The car analogy was quite helpful with visualization :D The mechanic behind noise scaling is clear now! Jan 24 at 16:09
• +1 ... Ha .. even I used also Y coord to see what 0-1 gradient generates ... and I saw squizing ... even after your in depth explanation ... I ended up just with the horror image :) It still twisting my brain ... it is not request , it is just dimension I'm not able to pass through :) Jan 24 at 20:50
• @vklidu It's not like you have to imagine higher dimensions or something... First, the cars (version without blood), each car has a speed based on the starting distance from 3D cursor: first doesn't move, 2nd has a Y location driver 2 - frame*0.02, 3rd 4 - frame*0.04, 4th 6 - frame*0.06, 5th 8 - frame*0.08 i.imgur.com/2XlL3WH.gif Now replace cars with swatches on a color ramp - or X coordinate: i.imgur.com/wnTk6hu.gif Now replace X with distance from center: i.imgur.com/vXFsqut.gif Jan 24 at 22:29
• Now use Fraction to repeat the values to simulate infinite noise space: i.imgur.com/alOcSCJ.gif Finally, use Voronoi to get a distance from the nearest cell: i.imgur.com/RIVMTIu.gif That's what's happening with the noise, you get a smooth transition between 0 (really "near zero", because you're very unlikely to get exactly 0, and it's important, because otherwise it would be confusing why color changes everywhere - at scale 0 it wouldn't change at all) and (almost) 1. But the more offset you apply to scale=1, the more distance needs to be covered from scale=0 to scale=1! Jan 24 at 22:29
• @vklidu actually you could clamp the noise colors to get points with scale at exactly 0 and exactly 1... Now you can see a significant area that has scale=0 and so constant color, and a distinguishable area that has scale=1 and so rapid color change, and a transition between them: i.imgur.com/hs4xEUm.gif t Jan 24 at 22:41