Blender Studio
  • Films
  • Projects
  • Training
  • Characters
  • Tools
  • Blog
  • Join
  • BLENDER.ORG

    • Download

      Get the latest Blender, older versions, or experimental builds.

    • What's New

      Stay up-to-date with the new features in the latest Blender releases.

    LEARNING & RESOURCES

    • Blender Studio

      Access production assets and knowledge from the open movies.

    • Manual

      Documentation on the usage and features in Blender.

    DEVELOPMENT

    • Developers Blog

      Latest development updates, by Blender developers.

    • Documentation

      Guidelines, release notes and development docs.

    • Benchmark

      A platform to collect and share results of the Blender Benchmark.

    • Blender Conference

      The yearly event that brings the community together.

    DONATE

    • Development Fund

      Support core development with a monthly contribution.

    • One-time Donations

      Perform a single donation with more payment options available.

Training Highlights
Stylized Rendering with Brushstrokes
Geometry Nodes from Scratch
Procedural Shading Fundamentals
Stylized Character Workflow

Training types
Course Documentation Production Lesson Workshop

Training categories
Animation Geometry Nodes Lighting Rendering Rigging Shading
Film Highlights
Singularity
In production
Wing It!
2023
Charge
2022
Sprite Fright
2021
Project Highlights
Project DogWalk
Interactive
Gold
Showcase
BCON24 Identity
Showcase
Fighting with Grease Pencil
Article
Course
Geometry Nodes from Scratch
Basics
  1. 01

    Theory - Basics

    Free
  2. 02

    Example - Rock Generator

Data Structure
  1. 01

    Theory - Data Structure

  2. 02

    Example - Simple Rock Scattering

Fields
  1. 01

    Theory - Fields

  2. 02

    Example - Advanced Rock Scattering

  3. 03

    Example - Tree Generator

Attribute Propagation
  1. 01

    Theory - Attribute Propagation

  2. 02

    Example - Grass Tuft Generator

Extras
  1. 01

    Hair Assets in Blender 3.5

    Free
  2. 02

    Make Procedural Fur in Blender 3.5

    Free
  3. 03

    Simulation Nodes in Blender 3.6 LTS

    Free
  4. 04

    Node Tools in Blender 4.0

    Free
  5. 05

    Matrix Socket in Blender 4.2

    Free
  6. 06

    Interactive Node Tools in Blender 4.2

    Free
  7. 07

    Gizmos, For-Each Zone and more new Geometry Nodes features - Blender 4.3

    Free
Files
  1. Low Poly Assets
  2. Low Poly Example Scene
  3. Array Tools Free
  4. Doodle Cloud Free
  5. Spaceship Generator Free
  6. Geometry Components Demo

Login to view this content

Join Blender Studio for just €11.50/month and get instant access to all of our training and film assets!

Login Join Blender Studio
Simon Thommes
Simon Thommes Author
License CC-BY
Report Problem
Fields

Theory - Fields

Join to leave a comment.

47 comments
Jerry Perkins (mx1001)
Jerry Perkins (mx1001)
Oct. 24th, 2024

these videos are grand.

Chris DeCarlo
Chris DeCarlo
Dec. 17th, 2023

How do I get the entire course?

Chris DeCarlo
Chris DeCarlo
Dec. 17th, 2023

I started your course last night and now want to continue but I can only get the Basics Lesson.  How do I get to the entire course?

Simon Thommes
Simon Thommes
Dec. 18th, 2023

@Chris DeCarlo Once you subscribed you should have access to everything. Maybe try clearing the cache in your browser (?)

If you subscribed and keep having issues it's best to reach out via the related contact channel: https://studio.blender.org/contact/

Frederick William Bramich V
Frederick William Bramich V
Dec. 9th, 2023

For me the plane is just moving positions on the grid instead of morphing the plane itself. Note sure why. Note: I am using Blender 4.0

Simon Thommes
Simon Thommes
Dec. 11th, 2023

@Frederick William Bramich V I''m not sure what you mean by 'moving positions on the grid'. By changing the position attribute of the points, so moving the points individually, you should get a deformation of the plane.

Dominik Jancik
Dominik Jancik
Oct. 16th, 2023

Thank you so much for this explanation, it really demystifies a lot around the functioning of Geometry Nodes and also feels like a great design on Blender's side with a lot of flexibility.

As a software engineer, I understand the fields as C# delegates or just function building and passing in general. As you said, it is Instructions not actual results that you create when patching a Field. It's amazing how transparently the interface deals with this.

Is this unique to Blender or do other similar systems, such as Houdini, use this approach?

Simon Thommes
Simon Thommes
Oct. 17th, 2023

@magnet.cz Very glad to hear this, especially since I've been involved in the development process.  I haven't really used much other software for these kinds of things myself. As far as I understand there is a workflow like this in houdini as well. Houdini is definitely still more powerful in general and provides more different workflows, but we're getting to a good spot with Blender nodes.

Ken Jinks
Ken Jinks
Oct. 11th, 2023

Ok, in programming, well C++, you can pass references. Does this mean the left leaf on the graph of a field is what is being referenced from the right most node that has a geometry socket, a reference from it's geometry? @6:07 the Set Position node is referencing the position, (from the Position node), of it's incoming geometry socket. Then that value is passed to each of the nodes in between before giving a value to Set Position. Anywhere in the repo you can suggest I look at so I might get a better understanding? Please and thank you. I am appreciating your videos a lot.

Simon Thommes
Simon Thommes
Oct. 12th, 2023

@Ken Jinks What you're saying is right, the actual data flow only happens within the geometry operations through the solid lines and round sockets. The field only passes around references, which depend on the context that the field is evaluated in. The evaluation is the crucial step to understand to see where the data actually comes from.   You can force the evaluation of a field by writing it to a geometry with the Capture Attribute or Store Named Attribute node.

Ken Jinks
Ken Jinks
Oct. 14th, 2023

@Simon Thommes thanks!

Steven L Fleshman
Steven L Fleshman
Aug. 12th, 2023

Great video

Jakub Dano
Jakub Dano
July 8th, 2023

Really enjoying the course so far, very well structured. On a completely separate note, what software do you use for your hand drawn visuals and video editing? If I ever end up making an explainer video of any sort, I'd like to use your approach!

Simon Thommes
Simon Thommes
July 10th, 2023

@Jakub Dano I'm glad you're enjoying it! I use Krita for drawing the graphics and the Blender VSE for editing the video. But you can really replace that with any other software for drawing and video editing, to be honest.

Najette Chouchane
Najette Chouchane
July 2nd, 2023

I don't understand T_T But I will carry on learning and hopefully rewatch this later after I've become more knowledgeable.

Stefan Karlsson
Stefan Karlsson
April 26th, 2023

This is brilliant. Up until this point I have followed alot of tutorials and hands-on examples, with frustration. Everything falls to place after watching this. Wish this was the first thing anyone ever told me about geometry nodes. Perhaps this is because I have software background instead of art/content creation. Suddenly, I have made several geometry nodes graphs now, within days of watching this. Thanks.

Simon Thommes
Simon Thommes
May 1st, 2023

@Stefan Karlsson I'm glad to hear that!

Martynas Narkus
Martynas Narkus
March 6th, 2023

Thank you for creating this informative video. As a beginner in Blender, I found the theoretical explanations to be useful, but I believe that incorporating more practical examples would be even more helpful. There are still many subjects that I find unknown and complicated to understand by only looking at the spreadsheet. Therefore, I suggest including more real-life tasks in your future tutorials. Thank you again for your effort in providing valuable content.

Simon Thommes
Simon Thommes
March 6th, 2023

@Martynas Narkus The idea was to split this up into condensed informative videos and practical examples. Have you checked those out as well? There are two example videos in this chapter. Of course, for practical example it's the more the better, and here I only have a limited amount, but that should give you a good foundation to also experiment yourself and have a better understanding when watching other practical examples on here or for example on youtube.

Martynas Narkus
Martynas Narkus
March 7th, 2023

@Simon Thommes  Hi, thank you for your quick response.  I did watch all, just what I looking for is to fully understand how to apply all theories into practice and actual examples of nodes roadmap. Follow the tutorial and do what you want it is 2 different skill sets. In my case, I definitely need to see many technically correct different node structures then I definitely will get the pattern and could apply it to my own needs.

Martynas Narkus
Martynas Narkus
March 7th, 2023

@Simon Thommes Hi, thank you for your quick response.

Johann Leo Linduson Birgirsson
Johann Leo Linduson Birgirsson
Nov. 6th, 2022

Great video, thank you.  I love that you dig into the how and why of geometry nodes.

Judah Lynn
Judah Lynn
Sept. 25th, 2022

Wow. My brain feels bigger. :)

John Doe
John Doe
Aug. 1st, 2022

What even is a field? A bunch of vector coordinates? Does the noise texture come with vector coordinates or something? Confusing video. I'm just trying to understand how the noise texture is manipulating the geometry at the start of the video. The set position node goes from moving around the entire mesh and then concentrating on each individual vertice, the noise texture somehow giving a list of coordinates for each vertice to move only using the color output.

Simon Thommes
Simon Thommes
Aug. 1st, 2022

@John Doe Well that question is exactly what I'm trying to answer with this video. Have you watched the previous videos leading up to this? If not I suggest you do. Understanding the concept of attributes helps a lot with understanding fields. Fields itself don't contain any actual per-element data on the geometry, they exist without the context of a geometry as references to certain attributes, like e.g. the point position. The values resulting from the field only actually are calculated whenever the field is used/evaluated in the context of a geometry, where the references of attributes are replaced with the actual attributes themselves to result in the vectors that move the points in the example of the set position node.

But a field does not have to even contain a reference to an attribute at all and it can be more than that and even reference further opterations. All of this is only evaluated whenever the field is used. Any it is evaluated for each element of the mesh that the operation which needs to evaluated is affecting.

All of this is also explained in the video in different words, I hope it helps to have it explained slightly differently. It's an abstract concept. I tried to present it in a way that is not confusing.

John Doe
John Doe
Aug. 1st, 2022

@Simon Thommes Yes, I understand attributes are just bits of data to characterize an element under a domain for a component, like vertices and their positions in the 3D viewer. From what I can understand, the Set Position node is moving each vertice uniformly using the vector coordinate swatches. I understand that using a noise texture will assign random vector coordinates to each position attribute of the elements, overriding the uniformity. However, when plugging in the noise texture using the color output, I'm just confused on how it's moving the vertices in anything but the z direction since those colors are pure black and white (grayscale). I sort of understand what is meant by a field, the noise texture being calculated according to the geometry being used by the current node that it has been plugged into, which is perfectly demonstrated when moving the geometry around in the 3D view while the noise texture updates itself in real time like a tri-planar projection.

Simon Thommes
Simon Thommes
Aug. 2nd, 2022

@John Doe I see what the issue is now. The color output of the noise texture is not in fact grayscale, it's a different grayscale noise for each RGB component. And, whenever possible, Blender does implicit conversion between data types. So the RGB vector is directlky used as the offset vector. If you were to use the grayscale Fac output of the noise texture. The implicit conversion would use the same texture for all vector components. This has nothing to do with fields but with how Blender does implicit conversion for data types in the node editors.

Gerald Crome
Gerald Crome
July 27th, 2022

What a fantastic explanation!. Thank you so much!

Nathan Carter
Nathan Carter
July 4th, 2022

At one point you say that the index of the vertex is a derived field, computed from the actual vertex data.  That seems quite odd to me...wouldn't the index of a vertex be inherent to the spreadsheet data (i.e., what row we're in) and not need to be computed by any algorithm (like normal vectors or face angles would)?

Simon Thommes
Simon Thommes
July 4th, 2022

@Nathan Carter I think you misunderstood what I was trying to say, maybe I didn't make it clear. It is not calculated by an algorithm. My point was just that this data is derived, so not directly stored as an attribute. It is not actual data, stored as an integer, it is just implicit in the data.

Benjamin Bass
Benjamin Bass
June 13th, 2022

I am taking the GeoNodes and Procedural Texturing classes simultaneously.  I always knew you were an expert node master, but I am so surprised and delighted at what a great teacher you are!  Your theory is clear and the practical examples are spot on.  It's unusual to find someone who understands such difficult concepts yet is able to clearly explain it step by step.  Thank you!  Thank you!

Simon Thommes
Simon Thommes
June 21st, 2022

@Benjamin Bass Thanks a lot! :)

Jamison
Jamison
June 10th, 2022

hey Simon Thomas I have been working on fluid and I hit a problem do you now any body I can talk to for trouble shooting?

Simon Thommes
Simon Thommes
June 21st, 2022

@Jamison You could head to blender.chat . In the #everything-nodes, or the #support channel there are usually people around to help out with questions. However there is also a lot you can do to make your questions easily understood, so others can help out.

Yevtushenko Oleksandr
Yevtushenko Oleksandr
May 26th, 2022

On 5:00, when there's another Grid geometry - does noise texture base on actual (plane) geometry and then noise offset is calcullated based on it, while in SetPosition node we apply that offset (calculated on Plane geometry) to Grid geometry ?

Yevtushenko Oleksandr
Yevtushenko Oleksandr
May 26th, 2022

I'm a dummy, sorry, it's clearly explained later in the video

Simon Thommes
Simon Thommes
May 26th, 2022

@Yevtushenko Oleksandr No worries, I’m glad it’s clear now!

Jamison
Jamison
May 26th, 2022

can I make water with geometry nodes

Simon Thommes
Simon Thommes
May 26th, 2022

@Jamison Simulation is not yet part of what geometry nodes can do. But you can certainly create water-like effects with geometry nodes and some animated noise textures

Jamison
Jamison
May 31st, 2022

@Simon Thommes do have a video or link that I could go to to find out how

Simon Thommes
Simon Thommes
June 1st, 2022

@Jamison It really depends on the effect you are going for, but I don't have any links, sorry

Jamison
Jamison
June 1st, 2022

@Simon Thommes ok (:

Jamison
Jamison
May 31st, 2022

@Simon Thommes  ok thank you

Satish Goda
Satish Goda
May 22nd, 2022

BUFT - Blender Unified Field Theory :)

Satish Goda
Satish Goda
May 22nd, 2022

Great explanation!!

Andre Kling David
Andre Kling David
May 21st, 2022

Very nice, I will probably need to watch this a few times to have my head wrap it around... So let me see if I understood it a bit, fields are kinda like functions in a program, and the geometry is kinda like the object, the functions can only be performed on data's that the object holds?

Simon Thommes
Simon Thommes
May 21st, 2022

@Andre Kling David yes, that's pretty much it :)

Films Projects Training Blog Blender Studio for Teams
Pipeline and Tools
  • CloudRig
  • Blender Kitsu
  • Brushstroke Tools Add-on
  • Blender Studio Extensions
Characters
  • Mikassa
  • Whale
  • Ballan Wrasse
  • Snow
Studio
  • Terms & Conditions
  • Privacy Policy
  • Contact
  • Remixing Music
Blender Studio

The creators who share.

Artistic freedom starts with Blender The Free and Open Source 3D Creation Suite