Ultimate Shader Pack
The Ultimate Shader Pack Documentation
Watch the video here: YouTube - Ultimate Shader Pack Tutorial
Importing the shaders/node setups.
Method 1: Appending
- Click on “File” and then on “Append”
- Navigate to the folder with the UltimateShaderPack.blend and view its content
- Go to the folder “Materials”
- Choose one or more shaders to append to your scene
- Apply the materials to your objects
Method 2: Copying
- Open your projects .blend and the UltimateShaderPack.blend
- In the UltimateShaderPack.blend select the materials you want to copy to your scene
- Press CTRL+C
- Go to your projects .blend
- Press CTRL+V to paste the objects
- Apply the materials to your objects
Method 3: Startup
- Open the UltimateShaderpack.blend
- Press CTRL+U
- Now the UltimateShaderPack.blend is your startup.blend. Now you automatically have them in all your scenes
Shaders
Most of these shaders use a physically based rendering workflow (PBR-workflow). They come in different forms with different functionality. Remember to use the shader with the simplest node setup that suits your needs, because more complex shaders take more time to render.
The Ultimate Shader Pack includes a .blend file with examples, you can explore the shaders there. For more details read the information in the UltimateShaderPack_Examples.blend.
PBR Basic
This shader has four inputs for standard PBR textures: color, roughness, metallic and height. It can be used with other programs that allow you to create PBR textures such as Substance Painter and similar tools.
Color: This is the color of the object.
Roughness: A value between 0 and 1 defines the roughness of the object. A texture can also be used.
Tip: Plug your color texture into a color ramp node and use the output to control the roughness of your object. This quickly adds variations in roughness to your material.
Metallic: A value between 0 and 1 defines whether the material is dielectric (0) or metallic (1).
Examples of dielectric materials are: concrete, rocks, plastic, bark and more.
Metallic materials are: steel, aluminium, copper and more.
Usually a material is either dielectric or metallic, but not a mix between the two. Use an image texture to define the areas of your object as dielectric or metallic if an object has both.
Displacement: Plug in a displacement/height map here.
Displacement Strength: Control the strength of the displacement map.
Example Material:
PBR Dielectric Minimal
This is a simplistic form of the PBR Basic shader. It has fewer features but is faster. Use it for purely dielectric materials.
Color: This is the color of the object.
Roughness: A value between 0 and 1 defines the roughness of the object. A texture can also be used.
Tip: Plug your color texture into a color ramp node and use the output to control the roughness of your object. This quickly adds variations in roughness to your material.
Example Material:
PBR Metallic Minimal
This is a simplistic form of the PBR Basic shader. It has fewer features but is faster. Use it for purely metallic materials.
Color: This is the color of the object.
Roughness: A value between 0 and 1 defines the roughness of the object. A texture can also be used.
Tip: Plug your color texture into a color ramp node and use the output to control the roughness of your object. This quickly adds variations in roughness to your material.
PBR Metallic Complex
This is shader allows to create advanced metallic materials with anisotropy.
Color: This is the color of the object.
Roughness: A value between 0 and 1 defines the roughness of the object. A texture can also be used.
Tip: Plug your color texture into a color ramp node and use the output to control the roughness of your object. This quickly adds variations in roughness to your material.
Anisotropy: Choose how much the reflections of an object are stretched. (Note: This only works when Roughness is greater than 0 and when the object has UV coordinates. The UV map is automatically picked inside the shader, you only need to unwrap the object.)
Rotation: This rotates the direction in which reflections are stretched.
Rim Color: Define the color of the rim.
Rim Strength: Controls the strength of the rim.
Displacement: Plug in a displacement map here.
Displacement Strength: Control the strength of the displacement map.
PBR Transmission
This shader adds translucency to the PBR Basic shader. It can be used for materials such as grass, leaves, and other plants.
Color: This is the color of the object.
Transparency: Control how transparent the object is. If you have a texture, for example of a leaf, that has transparency information plug in the texture here as well. (Note: it may be necessary to use an invert node to make the object transparent in the desired areas.)
Roughness: A value between 0 and 1 defines the roughness of the object. A texture can also be used. This shader’s controls separate the roughness of the dielectric part and the metallic part.
Tip: Plug your color texture into a color ramp node and use the output to control the roughness of your object. This quickly adds variations in roughness to your material.
Transmission Color: This defines the color of light that passes through the object.
Transmission Strength: This controls how much light passes through the object.
Displacement: Plug in a displacement map here.
Displacement Strength: Control the strength of the displacement map.
Example Material:
PBR SSS
This shader adds subsurface scattering (SSS) to the PBR Basic shader. It can be used for materials such as grass and other plants, plastic or ceramic.
Color: This is the color of the object.
Roughness: A value between 0 and 1 defines the roughness of the object. A texture can also be used. This shader’s controls separate the roughness of the dielectric part and the metallic part.
Tip: Plug your color texture into a color ramp node and use the output to control the roughness of your object. This quickly adds variations in roughness to your material.
SSS Color: This defines the color of light that passes through the object.
SSS Strength: This controls how much light passes through the object.
SSS Scale: Controls how deep light rays pass into the object before they get scattered.
Displacement: Plug in a displacement map here.
Displacement Strength: Control the strength of the displacement map.
PBR Complex
This is shader has most options for PBR material creation, it adds the functionality of the PBR Metallic Complex shader, the PBR Transmission and the PBR SSS to the PBR Basic shader.
Color: This is the color of the object.
Transparency: Control how transparent the object is. If you have a texture, for example of a leaf, that has transparency information plug in the texture here as well. (Note: it may be necessary to use an invert node to make the object transparent in the desired areas.)
Roughness (Dielectric/Metallic): A value between 0 and 1 defines the roughness of the object. A texture can also be used. This shader’s controls separate the roughness of the dielectric part and the metallic part.
Metallic: A value between 0 and 1 defines whether the material is dielectric (0) or metallic (1).
Examples of dielectric materials are: concrete, rocks, plastic, bark and more.
Metallic materials are: steel, aluminium, copper and more.
Usually a material is either dielectric or metallic, but not a mix between the two. Use an image texture to define the areas of your object as dielectric or metallic if an object has both.
Anisotropy: Choose how much the reflections of an object are stretched. (Note: This only works when Roughness is greater than 0 and the object is UV unwrapped. The UV map is automatically picked inside the shader.)
Rotation: This rotates the direction in which reflections are stretched.
Rim Color: Define the color of the rim.
Rim Strength: Controls the strength of the rim.
Transmission Color: This defines the color of light that passes through the object.
Transmission Strength: This controls how much light passes through the object.
Translucency / SSS: Choose between translucency (0) and SSS (1).
Displacement: Plug in a displacement map here.
Displacement Strength: Control the strength of the displacement map.
Lamp
This lamp shader simplifies the control of emissive meshes. It can be used for studio lighting as well es other emissive light sources such as candles and light bulbs.
Lightcolor: Choose the color of the light here. You can alternatively set it to black to use the temperature control below to define the color of the lamp.
Temperature: Choose the temperature in thousand kelvin to define the color of your light source. (This only works if the Lightcolor is set to black).
Examples for temperatures of different light sources:
1.85 K Candlelight
2.4 K Incandescent Lamp
5.5 K Daylight
15 K Clear Blue Sky
(Source: Wikipedia)
Strength: Controls how bright the light source is.
Smoothness: Controls the light’s falloff.
Visibility: Controls the visibility of the lightsource.
Light Panel
This shader is for screens and similar materials. It separates how much the brightness of the lamp affects the environment and how bright it appears as a pixel on the final image.
Lightcolor: Choose the color of the light here. You can alternatively set it to black to use the Temperature control to define the color of the lamp.
Strength: Controls how the brightness of the lamp in the scene.
Visible Strength: Controls how bright the pixels of the lamp appear on screen.
Smoothness: Controls the light’s falloff.
Glass and Water
This shader allows to create different kinds of refractive materials such as glass or water.
Glass Color: This is the color of the material.
IOR: This is the index of refraction of the material. Use 1.333 for water or 1.55 for glass. You can find more IOR values online.
Dispersion: The speed of light changes with the material it passes through, this is called refraction. Also the change in speed depends on the wavelength (color) of the light, this is called dispersion. This results in colored artifacts at the edges of your object. (If dispersion is turned off a different node setup is used internally which speeds up your renders. Only use dispersion if necessary.)
Roughness: This is the roughness of the material.
Absorption Color: When light gets absorbed inside the object this color remains.
Absorption Density: Controls how much light gets absorbed inside the object.
Caustics: When light is refracted it can focus on a smaller area, these brighter areas are called caustics. Cycles natively supports caustics but they are very noisy which is why this shader has an option for fake caustics which are faster to render. You can turn off Cycles native caustics to prevent fireflies.
Caustics & Shadow Color: Choose the color of the caustics and the shadow of your object. This is not bound to Glass Color but it’s recommended to set the same color for both inputs to get realistics results.
Architectural Glass: If you have windows in your scene then using a normal glass shader results in extremely noisy scenes since the light needs to pass through the window first, bounce in your scene and the enter the camera. Set the slider to 1 to use a different way of calculating the glass so that the glass shader doesn’t add noise to your scene (with this turned on Blender ignores the glass for indirect bounces.)
Displacement: Plug in a displacement map here.
Displacement Strength: Control the strength of the displacement map.
Example Materials:
Volumetric
This shader allows to create homogenous volumetric materials such as mist.
Scatter: Choose the color of the scattered light.
Absorption: Choose the color of the light that’s being absorbed.
Scatter / Absorption: Switch between a volumetric material that only scatters light (0) or a material that only absorbs light (1) or mix the two.
Density: Control how dense the material is, e.g. how much light is absorbed/scattered.
Anisotropy: Choose the direction in which light is scattered. Negative values make the light scatter away from the camera, positive values make the light scatter towards the camera.
Fire and Smoke
This material allows to create fire and or smoke, it can be used for campfires, explosions or cigarettes. This shader, similar to the the Light Panel shader, separates how much the emissive part affects the environment and how bright it’s perceived.
Color Shift: This shifts the color of the fire. Normally the colors of “normal” fire are used which means the color changes from white in the hottest areas over orange to a dark red in the cooler areas.
Saturation: The saturation of the fire’s color.
Flames Intensity: Change how much the emissive parts affect the scene’s brightness.
Flames Brightness: Change how bright the pixels appear on screen.
Smoke: Controls how dense the smoke is.
Smoke Brightness: Controls how bright the smoke is.
Anisotropy: Choose the direction in which light is scattered. Negative values make the light scatter away from the camera, positive values make the light scatter towards the camera.
Example Material:
Node Groups
Randomize Color
In reality objects never have the same color, every blade of grass looks a little bit different from the other ones. This node setup adds random color variations to objects to make materials more realistic by adding additional detail.
Color: Choose a uniform color or plug in a texture that you want to randomize.
Hue: Controls the hue.
Saturation: Controls the saturation.
Value: Controls the value.
Randomize: Controls the strength of the random color transformations defined by the settings below this slider.
Object Hue Shift: Randomly changes the hue between objects by +/-50% of the chosen value.
Object Saturation Shift: Randomly changes the saturation between objects by +/-50% of the chosen value.
Object Value Shift: Randomly changes the value between objects by +/-50% of the chosen value.
Texture Hue Shift: Randomly changes the hue on objects by +/-50% of the chosen value based on a noise texture.
Texture Saturation Shift: Randomly changes the saturation on objects by +/-50% of the chosen value based on a noise texture.
Texture Value Shift: Randomly changes the value between on by +/-50% of the chosen value based on a noise texture.
Noise Scale: Control the scale of the noise used to transform the color.
Example Material:
Dust and Dirt
Objects are rarely perfectly clean and with this node setup you can quickly add dust and dirt to your objects to make them more realistic.
Base Color: Choose a uniform color or plug in an image texture to which you want to add dust and dirt.
Base Roughness: Choose how rough your object is or plug in a roughness map. The roughness of the dirt and the scratches are fixed.
Dust Color: The color of the dust.
Dust Strength: How much dust to add to the object.
Dirty Vertex Colors: Define the dirty areas using vertex colors.
(You need dirty vertex colors for this to work. To create these you need to enter the Vertex Paint mode and under “Paint” you find the operator for the dirty vertex colors. You can now exit the Vertex Paint mode. Use the Dust_and_Dirt material or manually add an “Attribute” node, then type in “Col” for the name. Plug the color output in the “Dirty Vertex Colors” input of the Dust and Dirt nodegroup.)
Dirt Strength: Control how much dirt is added to the object.
Plug the outputs into a shader of choice.
Example image:
Scratches
This node setup adds small (or big) scratches to your object to make them more realistic.
Amount: How many scratches are added.
Size: How big the scratches are.
Roughness: The roughness of your object.
Roughness Scratches: The roughness of the scratches.
Displacement: Plug in a displacement map here.
Displacement Scratches: How strong and in which direction the scratches affect the displacement map.
Roughness Irregularities
Easily add procedural surface imperfections to your objects.
Roughness: The roughness of your object
Scale: How big the irregularities are.
Irregularities Strength: How much the irregularities affect the roughness and displacement of the object.
Tips
- Plug the texture into the a colorramp node and the output of this in the roughness/displacement input to quickly add additional detail.
- Use the Randomize node group to add random variations to the roughness of your objects or randomly change the displacement strength. Now only the value sliders affect the outcome.
- Use the Randomize node group multiple times and change the scale of the noise texture to add more variations to your materials.