noise node

Is it possible to change the scale, function, etc of the noise node by passing in a value? I would like to be able to change the noise scale in a material instance, but I’m limited to position and filter width.

It looks like you can only change the scale with a constant specified on the node. Changing the scale at runtime would cause popping and might not be a good idea anyway.

If you want to call the noise HLSL function yourself in a Custom node that is possible, which will let you pass in whatever you want for scale. The function parameters are

float MaterialExpressionNoise(float3 Position, float Scale, int Quality, int Function, bool bTurbulence, uint Levels, float OutputMin, float OutputMax, float LevelScale, float FilterWidth)
{

Can you share the rest of the code to make the custom scale node work? I won’t use it in the end, I’m just curious as to how it works. The closest I’ve come to programming HLSL is shaderlab in Unity.

Thanks.

Sorry I haven’t actually done this myself, just saying it’s possible from looking at what’s exposed in the common HLSL headers.