Films Training Blog
Pipeline and Tools Characters
Pipeline and Tools Characters
search Login Join
favorite

Development Fund

Support Blender Core Development with a monthly contribution.

theaters

Blender Studio

The creators who share. Access production content and knowledge from the Open Movies.

code

Blender Developer Blog

Latest news and updates on Blender development.

people

Get Involved

Join the community and help with design, development, docs and more.

bar_chart

Open Data

A platform to collect and display the Blender Benchmark results.

menu_book

Blender Docs

Documentation on Blender's features, tools and API.

Blender Conference

The yearly event that brings together the Blender community in one place.

download

Get Blender

Download the latest Blender version, or try the beta!

Films
Training
Blog
Pipeline and Tools
Characters
Search
Login
Join

Course

Procedural Shading: Fundamentals and Beyond
feed Course Overview
Introduction keyboard_arrow_down
  1. 01

    Introduction

    Free
  2. 02

    Definition

  3. 03

    Content Overview

  4. 04

    The Shader Editor

1: Fundamentals keyboard_arrow_down
  1. 01

    Colors, Values & Vectors

  2. 02

    Vectors and Pixels

  3. 03

    Coordinate Types

  4. 04

    Value Control

2: Procedural Textures keyboard_arrow_down
  1. 01

    Noise Textures

  2. 02

    Shape Control

  3. 03

    Repetition

  4. 04

    Texture Composition

  5. 05

    Space Manipulation

3: Shading Principles keyboard_arrow_down
  1. 01

    PBR

  2. 02

    Geometric Dependency - Context Sensitivity

  3. 03

    Generating PBR Maps

4: Shader Composition keyboard_arrow_down
  1. 01

    Blending & Masking

  2. 02

    Randomization

  3. 03

    Semi-Procedural Workflow

  4. 04

    Volumetric Shaders

5: Modular Setup keyboard_arrow_down
  1. 01

    Parametrization

  2. 02

    Nodegroups

6: Automation keyboard_arrow_down
  1. 01

    Drivers

  2. 02

    Animation

Workflow Examples keyboard_arrow_down
  1. 01

    Walls (Chapter 2+)

  2. 02

    Wood (Chapter 3+)

  3. 03

    Dynamic Walls (Chapter 4+)

  4. 04

    Wooden Boards (Chapter 5+)

  5. 05

    Fire (Chapter 6+)

  6. 06

    Rainy Window (Chapter 6+)

Files & Tools keyboard_arrow_down
  1. insert_drive_file

    Example Scene

    visibility_off
  2. insert_drive_file

    Example Scene - Simplified

    visibility_off
  3. insert_drive_file

    Visualization (Chapter 1-4): Value Graph

    visibility_off
  4. insert_drive_file

    Visualization (Chapter 2-5): Space Origami

    visibility_off
  5. insert_drive_file

    Example Shader (Chapter 3-1): Rock

    visibility_off
  6. insert_drive_file

    Example Shader (Chapter 4-1): Dilapidated Cube Scene

    visibility_off
  7. insert_drive_file

    Example Shader (Chapter 4-3): Image Texture De-Tiling

    visibility_off
  8. insert_drive_file

    Example Shader (Chapter 4-3): Semi-Procedural Fishbones Boards

    visibility_off
  9. insert_drive_file

    Example Shader (Chapter 4-4): Procedural Volumetric Clouds

    visibility_off

Course

Procedural Shading: Fundamentals and Beyond
Introduction keyboard_arrow_down
  1. 01

    Introduction

    Free
  2. 02

    Definition

  3. 03

    Content Overview

  4. 04

    The Shader Editor

1: Fundamentals keyboard_arrow_down
  1. 01

    Colors, Values & Vectors

  2. 02

    Vectors and Pixels

  3. 03

    Coordinate Types

  4. 04

    Value Control

2: Procedural Textures keyboard_arrow_down
  1. 01

    Noise Textures

  2. 02

    Shape Control

  3. 03

    Repetition

  4. 04

    Texture Composition

  5. 05

    Space Manipulation

3: Shading Principles keyboard_arrow_down
  1. 01

    PBR

  2. 02

    Geometric Dependency - Context Sensitivity

  3. 03

    Generating PBR Maps

4: Shader Composition keyboard_arrow_down
  1. 01

    Blending & Masking

  2. 02

    Randomization

  3. 03

    Semi-Procedural Workflow

  4. 04

    Volumetric Shaders

5: Modular Setup keyboard_arrow_down
  1. 01

    Parametrization

  2. 02

    Nodegroups

6: Automation keyboard_arrow_down
  1. 01

    Drivers

  2. 02

    Animation

Workflow Examples keyboard_arrow_down
  1. 01

    Walls (Chapter 2+)

  2. 02

    Wood (Chapter 3+)

  3. 03

    Dynamic Walls (Chapter 4+)

  4. 04

    Wooden Boards (Chapter 5+)

  5. 05

    Fire (Chapter 6+)

  6. 06

    Rainy Window (Chapter 6+)

Files & Tools keyboard_arrow_down
  1. insert_drive_file

    Example Scene

  2. insert_drive_file

    Example Scene - Simplified

    Free
  3. insert_drive_file

    Visualization (Chapter 1-4): Value Graph

  4. insert_drive_file

    Visualization (Chapter 2-5): Space Origami

  5. insert_drive_file

    Example Shader (Chapter 3-1): Rock

  6. insert_drive_file

    Example Shader (Chapter 4-1): Dilapidated Cube Scene

  7. insert_drive_file

    Example Shader (Chapter 4-3): Image Texture De-Tiling

  8. insert_drive_file

    Example Shader (Chapter 4-3): Semi-Procedural Fishbones Boards

  9. insert_drive_file

    Example Shader (Chapter 4-4): Procedural Volumetric Clouds

You need to login to view this content

You can join Blender Studio for €11.50/month and get access to all of our training & film content instantly!

Login Join Blender Studio

Workflow Examples

Walls (Chapter 2+)

9th July 2020

info License: CC-BY
flag Report Problem

Published by

Simon Thommes

This is the simplest workflow example and it is aimed at a level after finishing chapter 2 of the course.

30 Comments

Join to comment publicly.

iamauleon

11th August 2020 - 11:54

This workflow example is very helpful

Feby Kristianto

5th August 2020 - 03:26

Very interesting, i have create a wall with only same method but using gradient texture to masking the dirt. But i don't know if this is a correct way to do it.

Simon Thommes

5th August 2020 - 11:24

*@Feby Kristianto* You can totally do that! There is not really a single correct way to do it. I personally, instead of using a gradient texture, would have just used the Y-component of the Generated coordinates. But if you are more comfortable with that, that's fine too.

cjdelaguardia

20th July 2020 - 20:51

these are very helpful thank you! icant wait for the droplets on the windows!

David Beers

22nd July 2020 - 04:21

Thank you! This example helped cement a lot of the stuff you touched on in the first two chapters. Very much looking forward to the rest of the course.

Jonathan Walsh

30th September 2020 - 15:45

I am loving this mate.

Leslie Solorzano

7th November 2020 - 12:29

This is a silly question but at the beginning when viewing the texture coordinates, I don't understand why it has some bluish pinkish colors and then when it is shifted 0.5 it become black red and green? I imagine it is because of XYZ being treated as RGB but I can't see it, can't grasp it.

Simon Thommes

12th November 2020 - 12:45

@Leslie Solorzano Good point, I should have mentioned this. Yes, it is due to the RGB representation of XYZ. The blue component comes from Z and the Generated coordintaes behave a little bit funky when the object is a plane with no height because they stretch between the limits. For a plane both limits in Z are the same so the Z component is unclear, but it is defined as 0.5 .

So subtracting 0.5 from the z component brings it to 0 and thus removes the blue tint. But eventually the Z component does not matter at all because it is getting multiplied with 0 in the following node.

Blender Daily

10th December 2020 - 06:47

Hey, thank you so much for this course! Is there a specific reason you used the distance value of the bump node and not the strength? what is the difference between those two values?

Simon Thommes

4th January 2021 - 11:26

@Blender Daily There is actually a mathematical difference between the two that results in a visual difference as well. The distance actually changes how the normals are calculated in respect to how strong the bump is interpreted, while strength simply blends the result with the input normals.

So my suggestion is to always set the correct distance first and then tone it down with the strength if necessary.

Huân Lê-Vương

17th August 2020 - 04:42

thanks! at first i thought subtract would "1-0.5" now i understand it's a "(0-0.5;1-0.5)". i'm not good at math :v

Huân Lê-Vương

17th August 2020 - 04:45

by the way, how to select every value in a node at once like you did with the first vector math node?

Simon Thommes

17th August 2020 - 10:53

*@Huân Lê-Vương* Everywhere in blender when there are multiple values to define something like a vector, you can click and drag along the fields from top to bottom to change all at the same time

Huân Lê-Vương

17th August 2020 - 14:58

*@Simon Thommes* thanks! another question, why the min value of the map range is higher than the max value (before the roughness)?

Simon Thommes

17th August 2020 - 15:02

*@Huân Lê-Vương* The 'To Min' and 'To Max' inputs simply determine where the 'From ...' values are mapped to, so flipping these around is an easy way to invert the map, while you are defining the levels. 'Max' does not have to necessarily be higher than 'Min', that is just a name to easily differentiate between them.

Huân Lê-Vương

17th August 2020 - 15:03

*@Simon Thommes* thanks!

victor p

16th September 2020 - 06:49

Hi Simon, is there any blendfile for starting this workflow examples?

Simon Thommes

16th September 2020 - 11:58

*@victor p* You can simply use the file of the result and delete the material or start just using a simple plane, as I am doing in the video.

In all the workflow examples I am using quite simple base setups.

Michael Schwarz

10th October 2020 - 10:39

The question I asked in this post earlier is obsolete. I just forgot that the coordinates with Generated run from 0 to 1

Alex

14th October 2020 - 17:14

Hello! I'm not sure why, but I've got no "smooth maximum" (4:09 on the video). Quite the opposite my window with options is rather slim. I thought it has to do with rendering set up but seems like not.

Simon Thommes

14th October 2020 - 17:34

*@Alex* You are probably using an outdated version of Blender, there have been a lot of new options coming to the math node in recent Blender versions. You can download the latest version of Blender here: https://www.blender.org/download/

Alex

14th October 2020 - 22:40

*@Simon Thommes* Oh how could I not think of that myself. Thank you!

<deleted>

28th November 2020 - 18:00

Simon, when I am connecting geometry position to the noise texture, it's making it circular. Basically, it is loosing it's randomness. Without geometry global position things are working as expected. Any pointers?

delete Delete

<deleted>

29th November 2020 - 07:34

Ignore - I just couldn't reproduce the problem in the subsequent try. Very helpful tutorial Simon. Thank you!

delete Delete

Tighe Racicot

8th February 2021 - 11:53

Hi Simon, I'm curious why you chose to use Generated and subtract 0.5/multiply by 2 to center the mid point instead of using the Texture Coordinate's Object socket? The results appear to be virtually the same.

Simon Thommes

8th February 2021 - 12:16

@Tighe Racicot That is the case only as long as the mesh of the object itself does not change. When you go into edit mode and scale the plane, you can see that Generated coordinates adapt to the bounding box of the mesh.

Tighe Racicot

11th February 2021 - 05:46

@Simon Thommes Sorry, I'm not sure what you mean by adapt. I've set up a test, one with Generated with the midpoint and min,max shifted, and another with Object as is. Both are wired up to a Noise node. When I preview either and scale in edit mode, they both seem behave the same. The plane is scaled larger, with the additional generated noise filling the canvas—no stretching from the Object node which is what I thought you meant. Maybe it's a mute point, I'm just trying to understand these nodes since up until now they've totally mystified me.

Simon Thommes

12th February 2021 - 12:03

@Tighe Racicot I assume you're using Eevee for the preview. There you need to exit edit mode to see the change take effect. In Cycles the update is immediate.

fu233

21st May 2022 - 15:10

What is the difference between Vector math and math setting?

Simon Thommes

21st May 2022 - 15:17

@fu233 the regular math node does not handle vectors, so it will convert them into regular values instead

Blender Studio

The Creators Who Share.

Facebook Logo Twitter Logo YouTube Logo
  • Films
  • Blog
  • Training
Pipeline and Tools
  • Cloud Rig
  • Blender Kitsu
  • Contact Sheet Add-on
  • Blender Purge
  • Blender Cloud Services
Characters
  • Einar
  • Security Bot
  • Huginn
  • Pack Bot
Studio
  • Terms & Conditions
  • Privacy Policy
  • Contact
  • Remixing Music
  • Blender.org
Loading...