Ingmar Franz (duerer)

7 answers · asked · Lesson: The Glossy and Diffuse Shaders · Course: Fundamentals of Blender Materials and Shading

"Noise Texture" and 4D "warping"

Is there an explanation for this "warping around W "  in the "4D" setting of the "Noise Texture" in order to understand a little bit better what is happening there. Couldn't I instead of this rotate the noise pattern with a "3D" setting? 

This "4D" is a little bit spooky. Maybe I should first start learning 3D chess or beginn studying the basics of time traveling 😉.

  • Well, this 4D is not spooky at all, when you do not try to visualize it.

    Math to the rescue: a 1D Noise Texture is just a function with one variable (standard noise is just a combination of sines and cosines).

    It only changes when you change one value (in Blender this one variable is called W, but you can just plug in anything, time, or the X-axis, for instance):

    So a 3D Noise Texture is a function with 3 variables and a 4D Noise Texture is a function with 4 variables (what meaning you give to each of those variables is up to you, just don't try to think about this as spatial dimensions or a space-time continuum or so). More complicated to compute, but that work is being done for us, so what is left is not more difficult than a 3D Texture. Or a 5D Texture, or....


    • Thanks spikeyxxx  . Just two further questions: Why do only Noise 1D and 4D have this "W" setting? And why couldn't I achieve at least a similar effect to Jonathan's transition effect in the trailer video also with a 3D noise texture?

    • Noise 1D doesn't need a W input, they could have just taken the X coordinate of the Vector input. This would have been consistent with the 2D version that uses the X- and Y coordinates of the Vector input.

      The 4D does need an extra input, because the Vector in Blender is only a 3D vector.  The letters X, Y and Z were already taken, so they used W, being closest to X, Y and Z in the alphabet. They could have used any letter (maybe A, because it comes 'after' Z when wrapping the alphabet around..), but by staying in the same 'area' it is more clear that this is also a 'coordinate'/ has the same function.

      I'll come back to the second question after I've watched the trailer ;)

    • So, theses input socket should better be named for example "Vector X" for "1D" noise and "Vector X/Y" for "2D" noise.

    • spikeyxxx with your explanation, it becomes clearer: Changing "W" in a "4D" noise offers a relatively easy opportunity to change the noise appearance at the same level of detail, distortion and scale and by this keeping the appearance of the animated noise consistent. You could maybe achieve a similar result with a remapping of the texture coordinates when using "3D" noise but this would be more difficult since you would then have to deal with three values and take care that the transitions are smooth.

    • Yes, changing the W has a similar effect as changing X, Y and/or Z in the Mapping Node.

      You can think of a 3D Noise as a 4D Noise with constant W. Think of the function with 4 variables; when one of the variables is constant, then you have a function with 3 variables.

      The W, X, Y and Z are just the names of the variables in that noise function.

      As to your question above: you can achieve a similar effect with a 3D Noise Texture in various ways. I would probably do something based on this:

      Is that what you meant?

    • Yes, spikeyxxx, that's exactly what I meant . Excellent demonstration 👍! And it shows that it needs a bigger effort in "3D" noise than in "4D" noise where you simply have to animate the "W" value in order to achieve a similar result.  I wouldn't have come to Jonathan's solution with "4D" noise as well as to your node setup for "3D" noise myself.