Oil Node

Access: Nodes > Procedural > Misc > Oil

The Oil Node is a procedural noise node that creates an oil slick style pattern. By changing its inputs you can produce a wide variety of results that you can use to create a range of procedural style textures inside of Mari. It is great for masking, but also emulating more organic style textures that other procedurals aren’t quite as successful as matching, such as moss, stone and soil.

Changing the Size of the Oil node.

The Oil Node is generated using 3D space, but you can manipulate this by plugging a node into its position input.

Oil Node Inputs

Position - The Oil node works in 3D space, but by adding a node to the Position input you can manipulate how the Oil noise is applied. For example, you can use the UV node to use a UV space rather than 3D space, or the Position node to get world space position data.

Oil Node Properties


text field, slider

Changes the pattern frequency of the noise.

Size of 0.200, 0.500 (default), and 0.700 are shown in these images.


text field, slider

Changes the overall flow of the noise, from smoothed and rounded groups to smaller and more fractal-like shapes.

Organicness of 0, 0.500 (default), and 1.8 shown in these images.


text field, slider

Changes how rough the noise appears, from very smooth and blurred to very rough and sharp.

Roughness of 0, 0.500 (default) and 0.9 are shown in these images.


Color A

Replaces any white (value 1, full alpha) values.

Default: Color A set to white

Color A set to red

Color B

Replaces any black (value 0) values.

Default: Color B set to black

Color B set to green

Oil Node Workflow Example

Oil Node Masking

The organic look of the Oil noise node is not often something you can easily achieve with other procedural nodes, and with only three sliders you can get varying results.

Let's look at combining two textures. Here we have two tiled textures, a dirt (Base input) and a grass texture (Over input), being plugged into a Principled BRDF Shader. We want the Tiled (Grass) to merge over the Tiled (Dirt), but without a mask there is no breakup so you only get Tiled (Grass):

The Over texture in our Merge Node (the grass) has no mask so it completely covers the base tiled texture.

Like most noise nodes, the Oil being black and white makes it perfect to use as a mask. Adding an Oil node breaks up the grass texture which is currently everywhere, allowing the dirt to show through in the black areas of the mask.

Here we have 2 Tiled textures, dirt and grass, being merged together and being used as the Base Color of this Principled BRDF Shader.

By adjusting the sliders it makes a great base for masking dirt or mud in your textures. Adjusting the Organicness property of the noise works well for these sort of things, but could be manipulated to make less obvious examples: a flaking paint mask, color for a lizard’s scales, and many others.

Adjusting the Oil node properties allows you to get the desired result that matches the scale of your scene and how crisp and rough you want the mask to be.

Oil Node Procedural Variation

Another good use of the Oil node is setting up some quick procedural ground textures, or adding details to plain textures.

Here we have just a tiled texture.

Using an Oil node you can add further variation to the plain color it currently has:

1.   Add an Oil Node.
2.   Add a Merge node and set the Mode to ContrastOverlay.
3.   Plug the Oil node into the Merge - Overlay node Over input.

A plain texture with an Oil node merged on top, set to blend mode Overlay.

By changing the Roughness to a higher value, you can get a similar look to certain stones and marbles quickly.

Changing the Color properties of the node, or merging it with pre-existing images and projections you can produce variance and breakup. You can also create a mask to only have the Oil in certain places for even more variance.

This is the final result after adjusting the values of the Oil node.

You can quickly get texture variation by combing the Oil node on top of your tiled textures.

Related Nodes