I want to use Noise as a Light Function with the Sun. But the original Noise is too blooby - I want to stretch it.
How to wire it - so stuff so far works as well as the tile/stretch ?
Hi Lyubomir,
If I get what youâre trying to do, you want to non-uniform scale the Noise. The Noise position input is looking for a 3 vector input (XYZ) and your âTile of the Noiseâ is only 2 vectors (XY). Your âSize of noiseâ works because it uniform scales all 3 vectors. Here is how you can scale X Y Z independent of each other.
Hope I understood what you were trying to do and this helps.
Thank you so much! Exactly this is what I was looking for!
I found another little weird solution to stretch/squash the noise though:
Special thanks for your help, I was looking for same solution and since the nodes are still a bit unclear for me then I am studying them so I need your help analyzing the nodes. I wish you are still active in the forums so that I can ask my questions.
The most confusing part for me is that why the G & B channels are combined using the component mask at first place but theyâre divided into 3 scalars at the end? I cannot understand this, in fact I am confused if a noise is either a 2d or 3d vectorâŚ
My another question is related to the 30 & 1000 scalars, are they used to reduce the noise scale size to 0.03? is this scaling done because the noise size cannot be converted to a parameter to use in the instance material?
Hi vrex,
Yeah Iâve not been on the forms much lately. So I hope this response is helpful or that you already managed to work it out.
The noise node would take a 2 vector or 3 vector. The problem was the âNoise animationâ part of the graph is a 3 vector, but the âTile of the Noiseâ part is only a 2 vector so the material editor wont let you multiply them together (and the texture coordinate is unneeded for scaling). It would let you multiply in the âSize of noiseâ part because it is only a single value so it will multiply it to each part of the 3 vector and still compile. That is what I meant by Uniform scale, because itâs scaling everything the same amount. The Non-Uniform Scale part in my solution was so you could scale each direction itâs own different amount, and since theyâre combined into a 3 vector before multiplying it into the rest of the graph it will only multiply itâs corresponding vectors together (X1X2, Y1Y2, Z1*Z2). So if it was say (10,20,5) * (2,4,3) the result would be (20, 80, 15).
My solution was trying to work the OPâs original material expression into something that wouldnât cause Unreal to give an error.
âThe most confusing part for me is that why the G & B channels are combined using the component maskâ - the language is a bit tricky here I think, the component mask isnât combining them into a single value itâs still considered a 2 vector (G, B). So down the chain when itâs re-Appended to R it becomes a 3 vector again (R,G,B) .
âMy another question is related to the 30 & 1000 scalars, are they used to reduce the noise scale size to 0.03? is this scaling done because the noise size cannot be converted to a parameter to use in the instance material?â - Yes it does scale the coordinates down to .03 of the prior value and that is how you can change the size of the noise. I left them plain scalars, but you could make them parameters and name them noise scale, I was trying to keep the same format the OP was using in the example, personally I would probably just use a single .03 scalar parameter named 'Uniform noise scale". And yes it functions the same way Scale in the Noise node properties does and that property (as far as I know) canât be exposed in a material instance.
Hope that helps clear things up.