Multi FBM by Jens Kafitz


  • Where to find it:


    • Add Procedural Layer / Procedural / Extension Pack / FBM /


    • NodeGraph / Right Mouse Click / Add Nodes / Procedural / Extension Pack / FBM /






Multi FBM is a freely configurable multiFractal. It consists of 2 different Noises - a main FBM ('Base') and 1

secondary one ('Handle A' ) that can be used to drive any attribute from the 'Base' Noise.


It's behavior is similar to creating a single FBM Noise and mapping another FBM Noise to its attributes via the Nodegraph, with the exception that

in the case of the Multi FBM all Noise attributes are contained in a single Node, making it easier to work with in a Layer Stack.


Samples




Node Overview


Due to the expensive nature of the node, the node has been marked in red




Node Properties


MAIN TAB

Color


  • Color A/B

The two colors that make up the final look of the procedural.


Base Noise





Understanding Noise terminology


For some background information on the terms below please refer to 

Understanding some basic noise terms



  • Size

Size of fractal features on your model


  • Octaves

Describes the level of detail of the noise. Detail is created by encapsulating the modifiers below into a loop and

running it multiple times incrementing the values from loop to loop.



Octaves mapped with Handle A by default


By default the Base Group's Lacunarity Attribute is mapped with the Output of Group 'Handle A' so changing the slider won't do anything unless the mapping is changed in the dropdown HandleA.



  • Lacunarity

Controls the size of the secondary fine details.


Lacunarity changes on a simple noise



  • Amplitude

Amplitude affects the length and amount of fine detail the Lacunarity is contributing to the base pattern


Raising Amplitude on a regular FBM Noise


  • Offset

Offsets Size and Lacunarity against each other. High offset Values will result in a very detailed but spotted result,

with very few large features.


Raising Offset on a regular FBM Noise


  • Seed

A random start value for your fractal.

Changing the seed changes the overall look of your fractal while the general feature look stays the same,  allowing for quick variation with a general look theme.


  • Gain

The amount to multiply the noise's amplitude by, contrasting the noise..

A Gain of 0.0 will result in the value defined under Baseline.



General


  • Threshold

Defines the Value at which point incoming colors/values go to black (incoming values to the left of the set slider value)

or white (incoming values to the right of the set slider value).


  • Soft Clip Result

Used to visually soften the thresholding, it defines the Upper+Lower Bound of the Threshold

For example with a Threshold Value set to 0.5 and a Edge Value of 0.1, incoming values lower than 0.4

will be black and incoming values higher than 0.6 will be white. Between 0.4 and 0.6 will be a soft gradient.


  • Absolute Values

When generating a Noise, values are often generated from -1.0 to 1.0. 

Absolute Values will convert any negative Value to a positive one giving more 'solid' noise results.


Absolute Values turned off/on on a regular FBM


  • Clamp Output

Clamps the noise calculation to a 0-1 range.

Color A/B are applied after the Clamping, so you can still set values above 1 if you choose to

however by clamping the Noise calculation the color mixing between the two colors works more

reliably. In general this should be left on.


  • Invert

Inverts the result of the noise. Inversion is done before color A and B are applied.





SECONDARY NOISE TAB


Secondary Noise



Handle A + B


Handle A represents a second FBM Noise that can be mapped to drive any attribute of Group 'Base'. Output Values are defined by the NewMin / NewMax Attributes within the Handle Group.



  • Preview Handle

Will show you just the resulting Noise that 'Handle A'  is outputting making it easier to isolate its contributions to the final look.

New Min / New Max Attributes from 'Handle' Group are ignored for this preview.


  • HandleA 

The Handle Dropdown Menu will allow you to set which Attribute from the Group 'Base' the Noise created by 'Handle A' (or B)  should drive.

By default HandleA it is set to modify the 'Octaves' of the Group 'Base'.


  • Size

Size of fractal features on your model for Noise created by Handle A


  • Octaves

Describes the level of detail of the noise created by Handle A. Detail is created by encapsulating the modifiers below into a loop and

running it multiple times incrementing the values from loop to loop.


  • ALacunarity

Controls the size of the secondary fine details  of the noise created by Handle A



  • AAmplitude

Amplitude affects the length and amount of fine detail the Lacunarity is contributing to the base pattern of Noise created by Handle A 


  • AOffset

Offsets Handle A Size and Lacunarity against each other. High offset Values will result in a very detailed but spotted result,

with very few large features.


  • AGain

The amount to multiply the noise's amplitude by, contrasting the noise..

A Gain of 0.0 will result in the value defined under Baseline.


  • Seed A

A random start value for your fractal.

Changing the seed changes the overall look of your fractal while the general feature look stays the same, 

allowing for quick variation with a general look theme.



Remap







Remapping Handle A Values


By default the values coming out of a noise are ranged from values 0.0 to 1.0.

To accurately map another noise's attributes we need the ability to remap the noise.


Example:


FBM Noise sliders support 1 to 8 octaves. 

Mapping another noise to drive the octaves would give us a maximum of 1 octave because the input noise values can't go over 1.0.

With the help of the NewMin and NewMax Attributes we can set a new range for the noise.

NewMin represents the minimum value each noise should ouput, NewMax the maximum value.


By setting NewMin and NewMax to the same value you would effectively reduce the contrast of

the input noise and givie it a flat constant value.




  • New Min

Represents the minimum value the noise from the current Handle should output to the mapped Attribute from group 'Base'.


For example with HandleA mapped to drive the Number of Octaves of group 'Base', the NewMin represents the minimum number of 

octaves the base noise should have.


  • New Max

Represents the maximum value the noise from the current Handle should output to the mapped Attribute from group 'Base'


For example with HandleA mapped to drive the Number of Octaves of group 'Base', the NewMax represents the highest number of 

octaves the base noise should have.


  • Negative as black

FBM Noises are generated in a value range of -1.0 to 1.0. In the final result of MultiFBM, Negative as Black will convert areas to black

that are in a negative value range in the Noise output by the Handle group.



  • Negative as transparent

FBM Noises are generated in a value range of -1.0 to 1.0. In the final result of MultiFBM, Negative as Transparent will make areas transparent

that are in a negative value range in the Noise output by the Handle group.







TRANSFORM TAB


Projection Space


  • UV Space

By default this procedural is generated in 3D World Space. This results in a seamless noise across UV seams.

By turning on UV Space the procedural is generated based on your UVs, resulting in seams between UV tiles/UDIM & uv shells.


Utilizing Transform Controls such as Scale (see below) you can apply a non-uniform transform to the procedural

to make use of specific UV layouts


  • Per UDIM Pivot

Affects the transformation pivot for UV Transforms when in UV Space


With PerUDIMPivot on all transformation will be performed with a pivot at the centre of each UDIM.


With PerUDIMPivot off, transformations for all UDIMs share one common pivot at the base of UDIM 1001.

This will ensure seamless textures across UDIMs when your UV Shell is scaled up and covering multiple UDIMs.

without a cut inbetween.



UV Transformations applied to multiple UDIMs with perUDIM Pivot On (left) and off (right).

                                                         



Transform Influence


  • Base Noise / Secondary Noise

Determines which Noise results will be affected by transformations made in the Transform Scale, Transform Rotate Transform Translate Groups

(see below)


Transform Scale


  • Scale X / Y / Z

Will apply a scale along X,Y or Z to your noise. This is useful for creating patterns like woodgrain, drips etc.

When UV Space is turned on Scale Z is ignored.

Transform Rotate


  • Rotate X / Y / Z

Will apply a rotation in X,Y or Z to your noise. When UV Space is turned on Rotate X & Rotate Y are ignored

and rotation is done around the center of each UV Tile/UDIM using Rotate Z.

Transform Translate


  • Translate X / Y / Z

Will apply an offset in X,Y or Z to your noise. When UV Space is turned on Translate Z is ignored.