Splatter X4 2D


  • Where to find it:


    • Add Procedural Layer / Procedural / Extension Pack / Generators


    • NodeGraph / Right Mouse Click / Add Nodes / Procedurals / Extension Pack / Generators



This Node is also available as a Triplanar Version






Designed for creating random patterns, Splatter nodes allow Texture Bombing with up to 4 Texture Inputs




It is recommended to cache this node or attach a bake point after you are done tweaking it to keep its performance impact low



Video


This Node shares Attributes with the Main Pattern Generator Nodes.

An in-depth tutorial on every feature of the Pattern Generator Nodes can be found below:




Pattern Engine


Pattern Engine Overview


This Node is part of a collection of Nodes making up the Pattern Engine:

Node Overview



Node Outputs


  • Output

The Default Output


  • Pattern UVs

Outputs the UV coordinates of the cells




Additional Information such as pattern rotation is encoded in the Blue and Alpha channel that might make this output appear transparent. The UV information is unaffected.



  • Pattern Center

Outputs the center UV coordinate for each cell as a uniform value across the entire cell




  • Pattern Manifold

Outputs Manifold Data from the node that can be used to drive other nodes.


A simple example of a Pattern Generator Node driving another node via the Manifold Output


  • Pattern Index

Outputs a R,G,B packed Index



    • R - Row Index


Multiplies the normalized Row Number (0.0 - 1.0) against the result.

Each row will have a different value this way


       


    • G - Column Index


Multiplies the normalized Column Number (0.0 - 1.0) against the result

Each column will have a different value this way



    • B - Pattern Index


Multiplies the normalized Cell Number (0.0 - 1.0) against the result

Each cell will have a different value this way





  • Pattern Scale

Change the Value of each Cell based on the Cell scale.

Evaluated are Random Size X/Y, Random Scale,Random Scale Map, Normal Map


Example of Scale Output



  • Pattern Mask

Outputs the pure pattern result as a mask without the Background Color applied


  • Pattern Random

Outputs the random signal used inside the node to randomize elements

Node Ports


  • Manifold UV

Allows you to overwrite the UV Settings of the Node with a manifold node


  • Edge Falloff

Allows you to overwrite the Edge Falloff Attribute in the Pattern Group



  • Edge Softness

Allows you to overwrite the  Edge Softness Attribute with a Node Connection


  • Edge Roundness

Allows you to overwrite the  Edge Roundness Attribute with a Node Connection




Any value fed in through the Edge Ports on the Node is still multiplied

against the corresponding Edge Slider  in the Texture Groups of the Node.


  • Amount

Allows setting the Amount of Cells via a Nodegraph Input.

Will overwrite the Amount X and Amount Y Sliders.

Separate values can be fed to X and Y by specifying different values for Red and Green channel of the attached node stream


  • Background

Allows for setting a Pattern Background. Fill Background needs to be turned on



  • Bake Point Image A/B/C/D

The Bake Point Image Ports allows you to feed  data into the Node from upstream nodes that have been baked via a bake point 

When the node is evaluated, the Bake Point attached to the Port will be sampled and the UDIM 1001 Image will be transferred into

the Image Attribute (A/B/C/D) of the Node.


This allows you to create patterns and textures via a nodegraph and use them directly inside this node with an element of non-destructivness


Example of using a Nodegraph and a Bake Point to dynamically feed a Pattern Generator Node with Node Inputs



Node Properties


MAIN TAB

Seed


  • Random Seed

By modifying the Random Seed, different looks can be achieved with the otherwise same settings. 


Amount


  • Amount Multiplier

A multiplier on the amount of Cells generated. Each cell is processed independently with the given settings (Position, Rotation etc. etc.)


  • Amount X

Amount of cells generated horizontally. Each cell is processed independently with the given settings (Position, Rotation etc. etc.)


  • Amount Y

Amount of cells generated vertically. Each cell is processed independently with the given settings (Position, Rotation etc. etc.)


  • Image Inputs

Controls the Number if Image Inputs that are evaluated

Pattern


  • Offset Random X

Randomly horizontally offsets the Pattern or Input Image within each cell

This is useful to have a more random look when using tileable textures


Example of randomly offsetting a tileable texture in X and Y



  • Offset Random Y

Randomly vertically offsets the Pattern or Input Image within each cell

This is useful to have a more random look when using tileable textures



  • Random Rotation

Applies a random rotation in 90 degree increments


  • Keep Direction

If on, Random Rotation will rotate in 180 degrees to avoid changes of directions when using a texture map that has a 'directionality' (e.g. woodgrain, brushes metal etc.)


Input Image 1/2/3/4


  • Map

Supply a texture map to use in the processing.


  • Mipmap Blur

Allows you to blur the input image. This feature requires Mari 4.6v2.


  • Image Type



If an image is specified as a Normal Map, rotating images recalculates normal vectors for correct lighting results.


Below you can see an example of this. The Material and its normal map was rotated 90 degrees from its original output.


    • With the Normal Map specified in the Image Type, Mari correctly recalculate the normal map vectors for rotation changes resulting in consistent lighting in viewport & render.
    • If the Normal Map is treated as a 'Standard Texture', no normal orientation is recalcuated, resulting in incorrect lighting in viewport & render



  • Invert Map

Invert  Input Image


  • Blend Mode

The Blend Mode used to overlay a cell over other cells


Example of different effects achieved by changing the blend mode



  • Opacity

Set the Opacity for the given Input Image.

This works on top of the global opacity slider


  • Alpha

Configure the Alpha Handling of the supplied image.


    • From Map

The Transparency in your loaded texture map is used


    • Alpha is Luminance

The Luminance of your loaded texture map is used as Alpha.

Black is transparent.


    • Alpha is Inverted Luminance

The inverted Luminance of your loaded texture map is used as Alpha.

White is transparent.


    • White

The Alpha of the loaded map is set to white resulting in the image being 100% opaque.




  • Edge Controls

The Edge Controls give you control over the edge transparency of the generated pattern, allowing you to create 'Brush Effects'


    • Edge Falloff

Will contract the edges of your loaded textures. This parameter can also be mapped via the Nodegraph


    • Edge Softness

Will feather the edges of your loaded textures from the start of the Edge Falloff to the centre of your texture.

This parameter can also be mapped via the Nodegraph


    • Edge Roundness

Switches the Falloff from Square (0.0) to Radial (1.0).

This parameter can also be mapped via the Nodegraph




    • Edge Distortion

The Edge Distortion is distorting the alpha in the softened areas based on the luminance of the pattern.


If Edge Distortion is 1.0 black parts of the pattern inside the cell will be hidden in the area of Edge Softness.

If Edge Distortion is -1.0 white parts of the pattern inside the cell will be hidden in the area of Edge Softness.


Example of raising Edge Distortion from 0 to 1


Size

  • Scale

A uniform scale factor.


  • Random Scale

Mix Factor for uniform scale randomization.

Positive Values (0 - 1) will reduce the size of the cells randomly.

Positive Values (0 - 1) will increase the size of the cells randomly.


  • Size X

The horizontal size of each cell


  • Size Y

The vertical size of each cell


  • Random Size X

Mix Factor for size randomization in X for each cell.

Positive Values (0 - 1) will  squash the cells along X.

Negative Values (-1 - 0) will stretch the cells along X.


  • Random Size Y

Mix Factor for size randomization in Y for each cell.

Positive Values (0 - 1) will squash the cells along Y.

Negative Values (-1 - 0) will stretch the cells along Y.



Position


  • Position Random X/Y

Randomly offset the Cell Positions along X and Y.




Higher Position Random Values will require a higher Layer Cutoff Value, which in turn reduces performance. 

Often times the same look can be achieved with a lower Position Random Value



  • Global Offset X/Y

Applies a global offset of the generated Pattern (all cells) along X or Y



Rotation


  • Rotation

Applies a rotation to each cell


  • Global Rotation

Rotates the end result of the Pattern Generation. (globally, instead of per cell)


  • Rotation Pivot Centered

Controls the Rotation Pivot for the Global Rotation Slider.

If ticked on, the Pivot sits at the center of each UDIM (0.5,0.5)

If ticked off, the Pivot sits at U/V 0.0 of UDIM 1001


  • Rotation Random

Applies a random rotation to Cells


  • Rotation Steps

Determines the freedom of the Rotation Random.

WIth a value of 360, Rotation Random will rotate cells freely from 0 to 360 degrees.

With a value of e.g. 90, Rotation Random will rotate cells in a range from 0 to 90 degrees.


Probability Masking


  • Mask Random

Randomly hides Cells



  • Noise Type

Determines the Noise Type used for hiding cells when using Mask Random.


  • Noise Seed

Randomizes the Noise Type used for hiding cells when using Mask Random


Layering


  • Layer Cutoff

The Layer Cutoff determines the number of iterations and radius around each cell the node runs through before it stops calculating.

If you are experiencing Seams this might be the reason




Higher Layer Cutoff Values reduces performance !

Keep this value as low as possible without seeing seams


To better understand this behavior and to anticipate consider this:


    • By default each cell is generated in a grid pattern at a scale of 1.
    • Each cell has an internal position of 0.0 for its own coordinate system


If you change the position of a cell from its original position of 0.0/0.0 the Layer Cutoff needs to be increased

for a wider sample radius. So for example 


    • adding a Random Position Value of 1.0/1.0 means we need to sample up to 1 additional cell around the original cell.
      • We need to increase the Layer Cutoff to at least 2


    • adding a Random Position Value of 2.0/2.0 means we need to sample up to 2 additional cell around the original cell.
      • We need to increase the Layer Cutoff to at least 3


If you change the scale of a cell from its original scale of 1.0  the Layer Cutoff needs to be increased

for a wider sample radius. So for example 


    • Changing the Scale to 2 means we need to sample 1 additional cell around the original cell.
      • We need to increase the Layer Cutoff to at least 2


    • Changing the Scale to 4 means we need to sample 3 additional cell around the original cell.
      • We need to increase the Layer Cutoff to at least 4



  • Attenuation

Attenuation lowers the value of layers in the background successively for each Layer ID until it reaches a value of 0


Color


  • Fill Background

If ticked on, the Pattern will be generated over the Background defined in the Background Color or the background attached to the Background Node port


  • Background Color

The Background Color for the Pattern if Fill Background is ticked on. The Background Color is ignores if something is attached to the Background Node port


  • Tint

Tint the result of the Pattern Generation with the specified color. Mutliplies the specified color against the result of the computation.


  • Value Offset

Adds or subtracts the specified value from each layer of the pattern computation, lightening or darkening the output.


  • Opacity

Set the Opacity for each cell


  • Scale Normal Map Intensity

If a Normal Map is used in the Input Image, this slider can be used to modulate the normal strength based on the size of the feature



Color Randomization


  • Random Hue Multiplier

Affects how much the Hue is randomized in between cells


  • Random Hue Min/Max

Sets the Min and Max Range for Random Hue changes in between cells


  • Random Saturation Multiplier

Affects how much the Saturation is randomized in between cells


  • Random Saturation Min/Max

Sets the Min and Max Range for Random Saturation changes in between cells


  • Random Luminance Multiplier

Affects how much the Luminance is randomized in between cells


  • Random Luminance Min/Max

Sets the Min and Max Range for Random Luminance changes in between cells


  • Random Opacity Multiplier

Affects how much the Opacity is randomized in between cells


  • Random Opacity Min/Max

Sets the Min and Max Range for Random Opacity changes in between cells




Output Alphas


The Settings found in the Output Alphas Group determine how transparency of cell content is treated in the additional Output Ports of the Node 


(Pattern UVs, Pattern Center, Pattern Index, Pattern Manifold and Pattern Scale)


  • UVs premultiply

Premultiplies the transparency of cell content returned on the Pattern UVs output Port


  • Center premultiply

Premultiplies the transparency of cell content returned on the Pattern Center output Port


  • Index/Manifold premultiply

Premultiplies the transparency of cell content returned on the Pattern Index and Pattern Manifold output Ports


  • Scale premultiply

Premultiplies the transparency of cell content returned on the Pattern Scale output Port




Tip

Texture Seams ? 


If you are seeing seams in your pattern try raising the Layer Cutoff



Higher Layer Cutoff Values reduces performance !

Keep this value as low as possible without seeing seams