Mask Builder |
- Where to find it:
- Main Window / Layers / Mask Shelf / Smart Mask Tab
- NodeGraph / Right Mouse Click / Masks / Mask Shelf / Smart Mask Tab
The Mask Builder is evaluated Bottom to Top meaning the bottom group (Base Color) is evaluated first, then the second group from the bottom, 3rd etc. |
All Smart Masks found in the Mask Shelf use a common Node Preset as their base - the Mask Builder.
In this topic we will be looking at the Functions of the Mask Builder
The Mask Builder is a so called 'Gizmo'. Gizmos are Nodegraphs that are compiled down to a single Node with Parameters from the Nodegraph
exposed to the Node's Properties.
Modifying values in Mari Mari allows you to easily modify values by placing the cursor in a field and pressing up or down on the key pad. Depending where the cursor is placed the value changes in 1s, 0.1s, 0.001s etc. |
The Mask Builder Node with attached Radio Nodes in the Nodegraph
By ..
- double-clicking on the Node (Mari 4.2)
- CTRL+ double-clicking on the Node (Mari 4.5 and higher)
.. you will get to its Node Properties and open the group to see the internal wiring of the node.
You can get back to your Main Nodegraph by switching back to the 'Root' Tab at the top of the Nodegraph.
The internal Subgraph of the Mask Builder
The Node Ports of the Mask Builder are usually automatically mapped by the Smart Mask Setup Tool |
- Ambient Occlusion
Connect an Ambient Occlusion (occluded ares black, background white).
This Port needs to be mapped in order to use the Ambient Occlusion Feature of the Mask Builder.
- Curvature
Connect a Curvature Map with a linear midpoint of 0.5.
This Port needs to be mapped in order to use the Curvature Feature of the Mask Builder.
- Curvature Fine / Soft / Medium / Big / Large / Huge
Connect differently strongly blurred variations of the Curvature Map.
These Ports need to be mapped in order to use the Curvature Feature of the Mask Builder.
- Height
Connect a Height Input such as Bump or Displacement Map.
This Port needs to be mapped in order to use the Height Select Feature of the Mask Builder.
- Thickness
This Port needs to be mapped in order to use the Thickness Feature of the Mask Builder.
- Texture 1 Override / Texture 2 Override
The Texture 1 and Texture 2 Overrides can be used to feed in a custom channel or connection into the Smart Mask that replaces the standard
Texture 1 or Texture 2 Options in the Smart Mask.
For Overrides to be taken into account the appropriate Use Override Checkbox in the Smart Mask needs to be ticked on.
The Use Overrides Options within the Smart Mask
The Mask Builder is evaluated Bottom to Top meaning the bottom group (Base Color) is evaluated first, then the second group from the bottom, 3rd etc. |
Base Color |
The Base Color Group determines the bottom Fill Color of the Smart Mask
If you open the Subgraph of the Smart Mask the Base Color Group looks like this:
Thickness |
The Thickness Group only works if something is attached to the Thickness Port of the Smart Mask Node |
- Activate Thickness
Activates the evaluation of the Thickness Port
- Amount/Opacity
Determines the Opacity with which the Thickness is blended over the Base Color
- Mode
Determines the Blendmode with which the Thickness is blended over the Base Color
- Invert
Inverts the result of the Thickness Group.
This setting is evaluated last, after Balance, Contrast and Brightness have been processed
- Balance
Shifts the Balance of the Thickness Map more towards black or white.
Balance works like a level effect where the midpoint is moved towards either black or white.
- Contrast
Contrasts the Thickness Map around a Midpoint of 0.5
- Brightness
Brightens the Thickness Map by adding or subtracting the value specified here to it.
If you open the Subgraph of the Mask Preset the Thickness Group looks like this
Directional Gradient |
The Directional Gradient Group allows you to add Gradients from Top to Bottom, Back to Front and Left to Right of your Object
3 Different Gradient Directions - Top to Bottom,Back to To Front and Left to Right
- Activate Directional Gradient
Activates evaluation of the Directional Gradient Group
- Opacity
Determines the Opacity with which the Group is blended over the Groups below
- Blend Mode
Determines the Blend Mode used to composite the Result of the Directional Gradient Group over the Base Color Group
- Invert
Inverts the result of the Group.
This setting is evaluated last, after Balance, Contrast and Brightness have been processed
- Balance
Shifts the Balance of the Gradient more towards black or white.
Balance works like a level effect where the midpoint is moved towards either black or white.
- Contrast
Contrasts the Gradient around a Midpoint of 0.5
- Brightness
Brightens the Gradient by adding or subtracting the value specified here to it.
- Top to Bottom
Defines the Contribution (Opacity) of the Top to Bottom Gradient
- Top to Bottom Blend
Determines the Blend Mode used to composite the Result of the Top to Bottom Gradient over a value of 0.0
- Left to Right
Defines the Contribution (Opacity) of the Left to Right Gradient
- Left to Right Blend
Determines the Blend Mode used to composite the Result of the Left to Right Gradient over a value of 0.0
- Back to Front
Defines the Contribution (Opacity) of the Back to Front Gradient
- Back to Front Blend
Determines the Blend Mode used to composite the Result of the Back to Front Gradient over a value of 0.0
If you open the Subgraph of the Mask Preset the Directional Gradient Group looks like this:
Object Space Normal |
The Object Space Normal Group allows you to add a Mask based on a direction.
In effect it works like shining a directional light from a point in space.
Example of different directional Masks
- Activate Object Space Normal
Activates evaluation of the Object Space Normal Group
- Opacity
Determines the Opacity with which the Group is blended over the Groups below
- Blend Mode
Determines the Blend Mode used to composite the Result of the Object Space Normal Group over the Groups below.
- Invert
Inverts the result of the Group.
This setting is evaluated last, after Balance, Contrast and Brightness have been processed
- Balance
Shifts the Balance of the Object Space Normal Computation more towards black or white.
Balance works like a level effect where the midpoint is moved towards either black or white.
- Contrast
Contrasts the Gradient around a Midpoint of 0.5
- Brightness
Brightens the Gradient by adding or subtracting the value specified here to it.
- X / -X
Masks the object from the positive and/or negative X Axis
- Y / -Y
Masks the object from the positive and/or negative Y Axis
- Z / -Z
Masks the object from the positive and/or negative Z Axis
- Offset X/Y/Z
Shifts the effect along an Axis
Example of Offsetting the Result of the
Computation along an Axis
- Activate Edge Jitter
Edge Jitter uses a Noise to randomize the Normals of the Object.
If the Checkbox is ticked on the randomization is turned on.
- Edge Jitter Intensity
Determines the Intensity of the Noise used to randomize the Normals of the Object
- Jitter Scale
Determines the Scale of the Noise used to randomize the Normals of the Object
The Scale is always multiplied against the Global Texture Scale defined in the Adjustment Group |
Example of Edge Jitter Turned off (left) and on (right)
If you open the Subgraph of the Mask Preset, the Object Space Normal Group looks like this:
Height Select |
The Height Select Group only works if something is attached to the Height Port of the Smart Mask Node |
The Height Select allows you to define a Mask based on the Height.
An Example of selecting a Height Range
from an example Height Map
- Activate Height Select
Activates evaluation of the Height Select Group
- Opacity
Determines the Opacity with which the Group is blended over the Groups below
- Blend Mode
Determines the Blend Mode used to composite the Result of the Height Select Group over the Groups below (Base Color,Directional Gradien,Object Space Normal)
- Invert
Inverts the result of the Group.
This setting is evaluated last, after Balance, Contrast and Brightness have been processed
- Balance
Shifts the Balance of the Height after all computation more towards black or white.
Balance works like a level effect where the midpoint is moved towards either black or white.
- Contrast
Contrasts the Height after all computation around a Midpoint of 0.5
- Brightness
Brightens the Height after all computation by adding or subtracting the value specified here to it.
- Position
Defines the center of the greyscale value range to select
- Range
Defines the Range around the centre of the greyscale value range
- Contrast
Contrasts the result of the Position/Range computation
If you open the Subgraph of the Mask Preset the Height Select Group looks like this:
Curvature |
The Curvature Group only works if something is attached to the Curvature Ports of the Smart Mask Node |
The Curvature Group allows you to define a Mask based on the Curvature (Edges/Cavities) of the Object.
- Activate Curvature
Activates evaluation of the Curvature Group
- Opacity
Determines the Opacity with which the Group is blended over the Groups below
- Blend Mode
Determines the Blend Mode used to composite the Result of the Curvature Group over the Groups below (Base Color,Directional Gradient,Object Space Normal,Height Select)
- Invert
Inverts the result of the Group.
This setting is evaluated last, after Balance, Contrast and Brightness have been processed
- Balance
Shifts the Balance more towards black or white.
Balance works like a level effect where the midpoint is moved towards either black or white.
- Contrast
Contrasts around a Midpoint of 0.5
- Brightness
Brightens the Curvature Result after all computation by adding or subtracting the value specified here to it.
- Cavity Intensity
Determines the contribution of cavities to the result
- Edge Intensity
Determines the contribution of edges to the result
- Mode
Determines how the attached Curvature Maps are processed
- Raw
Raw gives a raw view of all your Curvature Maps layered together using a default Blendmode (Add|Sub).
The Blendmode used can be modified under the Advanced Options of the Mask from Curvature Node inside the gizmo via the Raw Mode Curvature Blending Setting.
- Edges
Edges layers your Maps according to the Blendmodes set under Curvature Blending of the Mask from Curvature Node. Processing of Maps is skewed towards isolating values over 0.5 (edges). Blending of Cavities can be controlled via the Edge Mode Cavity Blending Options in the Mask from Curvature Node
inside the Gizmo.
- Cavities
Cavities layers your Maps according to the Blendmodes under Curvature Blending of the Mask from Curvature Node .Processing of Maps is skewed towards isolating values below 0.5 (cavities).
- Dual
Dual layers your Maps according to the Blendmodes and Opacity under Curvature Blending of the Mask from Curvature Node.
Processing is done in both 'Edge' and 'Cavities' Mode, then the result is layered together according to a blendmode. The Blendmode used can be modified under the Advanced Options of the Mask from Curvature Node Dual Mode Cavity Blending.
- Sharp / Fine / Soft / Medium
Determines the percentage each differently blurred Curvature Map should contribute to the Fine-Medium Edge Detail.
- Big / Large / Huge
Determines the percentage each differently blurred Curvature Map should contribute to the Large Edge Detail.
If you open the Subgraph of the Mask Preset the Curvature Group looks like this:
Occlusion |
The Occlusion Group only works if something is attached to the AmbientOcclusion Port of the Smart Mask Node |
The Occlusion Group allows you to create a Mask based on Ambient Occlusion.
- Activate Occlusion
Activates evaluation of the Occlusion Group
- Opacity
Determines the Opacity with which the Occlusion Group is blended over the Groups below
- Blend Mode
Determines the Blend Mode used to composite the Result of the Occlusion Group over the Groups below (Base Color,Directional Gradient,Object Space Normal,Height Select,Curvature)
- Invert
Inverts the result of the Group.
This setting is evaluated last, after Balance, Contrast and Brightness have been processed
- Balance
Shifts the Balance more towards black or white.
Balance works like a level effect where the midpoint is moved towards either black or white.
- Contrast
Contrasts around a Midpoint of 0.5
- Brightness
Brightens the Occlusion after all computation by adding or subtracting the value specified here to it.
If you open the Subgraph of the Smart Mask, the Occlusion Group looks like this:
Texture 2 |
The Texture 2 Group allows you to overlay a texture over the result of the underlying groups either in Triplanar or Tiled Mode.
- Activate Texture 2
Activates evaluation of the Texture 2 Group
- Intensity
Determines the Opacity with which the result of the Texture 2 Group is composited over the Intensity 0 Value Attribute.
Blending is done with a simple linear interpolation ('Normal')
- Intensity 0 Value
Determines the Base Value with which the result of the Texture 2 Group is composited over with the the Intensity Value Attribute as Opacity
- Opacity
Determines the Opacity with which the Texture 2 Group is blended over the result of the Groups below (Base Color, Directional Gradient, Curvature, Ambient Occlusion etc.)
- Blend Mode
Determines the Blend Mode used to composite the Result of the Texture 2 Group over the Groups below (Base Color,Directional Gradient,Object Space Normal,Height Select,Curvature etc.)
- Invert
Inverts the result of the Group.
This setting is evaluated last, after Balance, Contrast and Brightness have been processed
- Balance
Shifts the Balance more towards black or white.
Balance works like a level effect where the midpoint is moved towards either black or white.
- Contrast
Contrasts around a Midpoint of 0.5
- Brightness
Brightens the Texture after all computation by adding or subtracting the value specified here to it.
- Use Texture 2 Port Override
Replaces the Texture used for the Texture 2 Group with an input fed in via the Texture 2 Override Port in the Nodegraph.
Invert,Balance, Contrast, Brightness and Warp Curvature Sliders are still evaluated, the other Attributes of the Texture 2 Group are no longer used.
- Warp Curvature
When on, the result of the Texture 2 Group is used to Warp the Curvature.
As long as the Warp Curvature Checkbox is ticked, the Curvature will always be warped even if the Texture 2 Group is disabled in the Activate Texture 2 Checkbox |
Result of Warp Curvature off (left) and on (right)
- Warp Amount
Determines the Intensity of the Curvature Warping.
- Texture
The Texture to use for the calculation of the Texture 2 Group
- Scale Ratio
The Scale Ratio Attribute is a multiplier against both the UV Repeat and Triplanar Scale Attribute.
It is useful to always maintain a consistent scale relationship between the Texture 2 Group and Texture 1 Group (e.g. Texture 2 should always be twice the size of Texture 1),
regardless if the Smart Mask is in UV or Triplanar Mode.
- UV Repeat
The Amount of Repetitions of the Texture.
The Attribute is always evaluated in both UV and Triplanar Mode
The Attribute is multiplied against the Scale Ratio and Global Texture Scale (Adjustment Group) |
- U Repeat
The Amount of horizontal repetitions of the Texture.
The Value is multiplied against the U Value of the UV Repeat.
The Attribute is always evaluated in both UV and Triplanar Mode
- V Repeat
The Amount of vertical repetitions of the Texture.
The Value is multiplied against the V Value of the UV Repeat.
The Attribute is always evaluated in both UV and Triplanar Mode
- Rotation
The Rotation of the Texture.
The Attribute is always evaluated in both UV and Triplanar Mode
- Triplanar Mode
If on, the Texture is projected from 3 sides onto the Object instead of tiled onto the uvs.
- Triplanar Scale
Determines the Bounding Box Scale of the Triplanar Projection.
The Attribute is multiplied against the Scale Ratio and Global Texture Scale (Adjustment Group) |
- Triplanar Contrast
Determines the falloff of the Triplanar projection and how the three sides of a triplanar blend together.
- Triplanar Jitter Intensity
- Triplanar Jitter Intensity
Jitter will make the edges of projections less uniform/straight by offsetting the Normals of the Object with a Noise
- Triplanar Jitter Scale
Determines the Frequency of the internal Noise used for jittering.
The Attribute is multiplied against the Scale Ratio and Global Texture Scale (Adjustment Group) |
- Triplanar Fill Color
Sets the Fill Color for the Triplanar Projection, before any Projection is done.
This is useful to completely fill a mask with Black to avoid semi-transparent pixels caused by an incorrect Triplanar Contrast.
If you open the Subgraph of the Mask Preset, the Texture 2 Group will look like this:
Texture 1 |
The Texture 1 Group allows you to overlay a texture over the result of the underlying groups either in Triplanar or Tiled Mode.
- Activate Texture 1
Activates evaluation of the Texture 1 Group
- Intensity
Determines the Opacity with which the result of the Texture 1 Group is composited over the Intensity 0 Value Attribute.
Blending is done with a simple linear interpolation ('Normal')
- Intensity 0 Value
Determines the Base Value with which the result of the Texture 1 Group is composited over with the the Intensity Value Attribute as Opacity
- Opacity
Determines the Opacity with which the Texture 1 Group is blended over the result of the Groups below (Base Color, Directional Gradient, Curvature, Ambient Occlusion etc.)
- Blend Mode
Determines the Blend Mode used to composite the Result of the Texture 1 Group over the Groups below (Base Color,Directional Gradient,Object Space Normal,Height Select,Curvature etc.)
- Invert
Inverts the result of the Group.
This setting is evaluated last, after Balance, Contrast and Brightness have been processed
- Balance
Shifts the Balance more towards black or white.
Balance works like a level effect where the midpoint is moved towards either black or white.
- Contrast
Contrasts around a Midpoint of 0.5
- Brightness
Brightens the Texture after all computation by adding or subtracting the value specified here to it.
- Use Texture 1 Port Override
Replaces the Texture used for the Texture 1 Group with an input fed in via the Texture 1 Override Port in the Nodegraph.
Invert,Balance, Contrast, Brightness and Warp Curvature Sliders are still evaluated, the other Attributes of the Texture 1 Group are no longer used.
- Warp Curvature
When on, the result of the Texture 1 Group is used to Warp the Curvature.
As long as the Warp Curvature Checkbox is ticked, the Curvature will always be warped even if the Texture 1 Group is disabled in the Activate Texture 1 Checkbox |
Result of Warp Curvature off (left) and on (right)
- Warp Amount
Determines the Intensity of the Curvature Warping.
- Texture
The Texture to use for the calculation of the Texture 1 Group
- Scale Ratio
The Scale Ratio Attribute is a multiplier against both the UV Repeat and Triplanar Scale Attribute.
It is useful to always maintain a consistent scale relationship between the Texture 1 Group and Texture 2 Group (e.g. Texture 1 should always be twice the size of Texture 2),
regardless if the Smart Mask is in UV or Triplanar Mode.
- UV Repeat
The Amount of Repetitions of the Texture.
The Attribute is always evaluated in both UV and Triplanar Mode
The Attribute is multiplied against the Scale Ratio and Global Texture Scale (Adjustment Group) |
- U Repeat
The Amount of horizontal repetitions of the Texture.
The Value is multiplied against the U Value of the UV Repeat.
The Attribute is always evaluated in both UV and Triplanar Mode
- V Repeat
The Amount of vertical repetitions of the Texture.
The Value is multiplied against the V Value of the UV Repeat.
The Attribute is always evaluated in both UV and Triplanar Mode
- Rotation
The Rotation of the Texture.
The Attribute is always evaluated in both UV and Triplanar Mode
- Triplanar Mode
If on, the Texture is projected from 3 sides onto the Object instead of tiled onto the uvs.
- Triplanar Scale
Determines the Bounding Box Scale of the Triplanar Projection.
The Attribute is multiplied against the Scale Ratio and Global Texture Scale (Adjustment Group) |
- Triplanar Contrast
Determines the falloff of the Triplanar projection and how the three sides of a triplanar blend together.
- Triplanar Jitter Intensity
- Triplanar Jitter Intensity
Jitter will make the edges of projections less uniform/straight by offsetting the Normals of the Object with a Noise
- Triplanar Jitter Scale
Determines the Frequency of the internal Noise used for jittering.
The Attribute is multiplied against the Scale Ratio and Global Texture Scale (Adjustment Group) |
- Triplanar Fill Color
Sets the Fill Color for the Triplanar Projection, before any Projection is done.
This is useful to completely fill a mask with Black to avoid semi-transparent pixels caused by an incorrect Triplanar Contrast.
If you open the Subgraph of the Mask Preset, the Texture 1 Group will look like this:
Noise |
The Noise Group allows you to overlay a Noise over the Result of the previous Groups (Base Color, Curvature, Ambient Occlusion, Textures etc.)
- Activate Noise
Activates the Noise Group for evaluation.
- Intensity
Determines the Opacity with which the result of the Noise Group is composited over the Intensity 0 Value Attribute.
Blending is done with a simple linear interpolation ('Normal')
- Intensity 0 Value
Determines the Base Value with which the result of the Noise Group is composited over with the the Intensity Value Attribute as Opacity
- Opacity
Determines the Opacity with which the Noise Group is blended over the result of the Groups below (Base Color, Directional Gradient, Curvature, Ambient Occlusion etc.)
- Blend Mode
Determines the Blend Mode used to composite the Result of the Noise Group over the Groups below (Base Color,Directional Gradient,Object Space Normal,Height Select,Curvature etc.)
- Invert
Inverts the result of the Group.
This setting is evaluated last, after Balance, Contrast and Brightness have been processed
- Balance
Shifts the Balance more towards black or white.
Balance works like a level effect where the midpoint is moved towards either black or white.
- Contrast
Contrasts around a Midpoint of 0.5
- Brightness
Brightens the Noise after all computation by adding or subtracting the value specified here to it.
Lets you choose from several different noise types
Value Noise, Perlin Noise, Simplex Noise, Brownian (FBM), Ridged Noise, Inigo Noise, Turbulence Noise
- Noise Scale
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.
This Port has no effect for Noise Types: Value,Simplex,Perlin |
- Lacunarity
Controls the size of the secondary fine details.
This Port has no effect for Noise Types: Value,Simplex,Perlin |
- Gain
The amount to multiply the noise's amplitude by for each octave
The amplitude is hardcoded for this noise to start at 1.0 for the first octave,
then gets multiplied by the Gain 1x time for each octave incrementing the value of the amplitude
This Port has no effect for Noise Types: Value,Simplex,Perlin |
- 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.
If you open the Subgraph of the Mask Preset the Noise Group looks like this:
Global Adjustment |
The Global Adjustment Group allows you to do final adjustments to your Smart Mask
- Output
Defines what is being output.
This is useful to debug individual parts of the Mask Preset
- Invert
Inverts the result of the Smart Mask.
This setting is evaluated last, after Balance, Contrast and Brightness have been processed
- Balance
Shifts the Balance of your Smart mask more towards black or white.
Balance works like a level effect where the midpoint is moved towards either black or white.
- Contrast
Contrasts around a Midpoint of 0.5
- Brightness
Brightens the Smart Mask after all computation by adding or subtracting the value specified here to it.
- Global Texture Scale
Allows you to globally modify all Scale Attributes of the Smart Mask (UV Repeat, Triplanar Scale, Noise Scales) at once.
If you open the Subgraph of the Mask Preset the Global Adjustment Group looks like this: