Just chiming in to say I completed this example! Blender noob here so even the materials section at the very end was new stuff to me.
Benjamin Bass
June 12th, 2022
Thank you! This is very clear. It's great to see a full use case. Question: How can I make the various inputs be automatically randomly generated with each instance of my object?
Simon Thommes
June 21st, 2022
@Benjamin Bass Currently it's not possible to set this up automatically unfortunately. This is a known issue and the solution needs to be properly designed still, as we want to have a better solution than how it is solved with shader nodes currently.
Tyler Bjarke
Sept. 27th, 2022
@Simon Thommes I was wondering about this too. As a workaround, could you do something like plug Object Info -> Location into your 'seed' of the random value node? Then if you were to duplicate the objects in various locations, they'd sort of have random starting values? I played with it a bit, and for a second I thought it worked, but my results were inconsistent.
Simon Thommes
Sept. 27th, 2022
@Tyler Bjarke The object info node still needs an object to explicitly be passed into it, so that would need to be set each time the node is used, which defeats the purpose. In Blender 3.4 (allpha) there is a Self Object node, which solves that issue. However proper randomization still needs to be done. The same approach that is used in shader nodes is purposefully not added to geometry nodes as it is quite flawed. The current plan is to enable reading out custom object properties in geometry nodes an then adding a feature that randomizes a property when duplicating the object. That would allow controlling that seed value explicitly and is more stable.
Stephen Mackenzie
June 13th, 2022
Excellent….thanks
Fatih Pehlevan
May 21st, 2022
Excellent!
陈雨冬
May 23rd, 2022
thx very much
Humberto Rapelli
May 26th, 2022
Super helpful, thanks!
Jouko Hahkio
June 3rd, 2022
Clear and informative.
Paulo Barrelas
June 13th, 2022
Thanks for this detailed explanation and for also showing how to organise the graph.
Mahesh Deshpande
Aug. 5th, 2022
Helpful tutorial! Is it possible to add Collections as Instances in 'Instance to Points' node?
Simon Thommes
Aug. 15th, 2022
@Mahesh Deshpande Yes, totally. You can use the Collection Info node to receive a collection as a geometry instance.
Yorsh Panda
Aug. 28th, 2022
Interesting
Yovany Alvarez
Sept. 7th, 2022
Nice job!
Judah Lynn
Sept. 24th, 2022
Outstanding! Such a clear tutorial. Thanks!
Cap Amr Karam
Oct. 18th, 2022
Excellent….thanks
Neeraj Bharati
Nov. 18th, 2022
This is super awesome ! Simple and to the point explanation. Great course !!
Jesus Gonzalez Ruiz de Almiron
Jan. 14th, 2023
Great tutorial! Thanks a lot!
Joshua Merrill
Feb. 18th, 2023
Coming back for a refresher.
Elena Bragina
April 21st, 2023
Great! Many thanks! You are so nice teacher!
Alexandros Hadjilaou
May 24th, 2022
Is it possible to instance points in volume instrad of Face/Edge/Vertex?
Simon Thommes
May 24th, 2022
@Alexandros Hadjilaou Currently that is not possible natively. In the future there will be a node for that. But right now you can make a nodegroup that scatters points on a surface the scale of the bounding box. Move the points around so that they cover the volume of the bounding box and then delete all points outside of the mesh.
Hello ! First thanks a lot for all the great work done here ! Also, Do you plan to add the "modifiers" as geonode > bevel or mirror node for exemple ? It would be awesome to have it all in geonodes, no ?
@Sorcière the plan of the core blender development team is to port the majority of modifiers to geometry nodes. That will happen over time, it's not the number 1 priority at the moment.
Sorcière
May 27th, 2022
@Simon Thommes Thanks for your quick and complete answer. I look forward to discovering the next versions. As usual it will be amazing :D
Sergio
July 21st, 2022
Nice example, with the random, points and all the basics for nodes.
schmutzer1
July 23rd, 2022
First of all, thank you for this marvelous course. It's a long time wish made real
schmutzer1
July 23rd, 2022
Unfortunately every blend file I try to download is tagged as moved or disappeared immediately after download. Is there analternative place or way to access these files? Thank you very much and congratulations!
Simon Thommes
July 24th, 2022
@schmutzer1 I'm not exactly sure what that means. For me the downloads seem to be working perfectly fine. The direct links work fine even without being logged in.
You're saying ' tagged as moved or disappeared immediately after download', if it is after the download, that sounds to me like it would be something on your end.
schmutzer1
July 24th, 2022
@Simon Thommes Hello Simon, thank you for your support. You're completely right. It was a browser specific issue with Firefox. Fortunately it worked fine with Microsoft Edge. Congratulations again for your this great course and I wish you all a nice summer at Blender Studio.
Katie Korwal
Aug. 26th, 2022
16:49 Could you elaborate a bit more on why you changed the input type from Vector to Float? This is the first time I've come across "float" and looking it up in the Blender Manual was clear as mud. :(
Katie Korwal
Aug. 26th, 2022
@Katie Korwal correction 16:42
Simon Thommes
Aug. 29th, 2022
@Katie Korwal Float is a technical term for a number with a floating point. It's the same as what is just called Value in shader nodes.
The reason I'm changing this here is that by default the input was a vector, but I only want to control it with a single value. Blender always implicitly converts between different input types when possible. So the float input that I give in is then converted to a vector by using it for every component of the vector.
Michael Gembicki
Sept. 8th, 2022
When I change the roundness factor in both the one I made from scratch in 3.3 and the example file opened in 3.1.2 the scale just changes no change in shape. Also in both the example file and my own the seed value is not a slider but a blank number field that when a number is entered nothing changes.
Simon Thommes
Sept. 9th, 2022
@Michael Gembicki For me, opening the file with Blender 3.3 everything is working just fine. The seed being an input field sounds like the input was toggled to an attribute with the button next to the field. But I just downloaded the exact file in the description and opened it with Blender 3.3 and it's all fine. Can you check that again to make sure?
@Simon Thommes I tried it on a vanilla version of 3.3 and it worked just fine. It must be one of my, way too many, addons causing it. Thanks for the response. I'm enjoying the course.
Simon Thommes
Sept. 12th, 2022
@Michael Gembicki Ah okay, yes that makes sense then. It seems strange to me how an addon would mess with this file so specifically, but that can happen.
At least it doesn't seem to mess with the file itself. The one you shared also works just fine for me on vanilla Blender
Huiquan Lu
Oct. 1st, 2022
I wonder what is difference between connecting all parameters to on group output panel instead of connecting each to a group input panel?
Simon Thommes
Oct. 1st, 2022
@Huiquan Lu I'm not sure if I understand correctly. If you are referring to the group input nodes: There can be however many group input nodes you want and there is no difference between using a single one or multiple. I like to split it up into multiple nodes to organize the nodetree in a more readable way. The group output can only be a single node, as otherwise that can lead to ambiguity.
Huiquan Lu
Oct. 2nd, 2022
@Simon Thommes Thanks Simon! Yes, that was what I wanted to know. as I watched to the end of the video, I started to figure out why you did those separated input nodes.
Mark Hannen
Dec. 10th, 2022
This is so amazing.. I am trying to figure out some of the short cuts that you are doing.. one that is confusing me isthe "Z" short cut to toggle the shading... I don't see the Overlay mode as an option... anyone know how to fix that? thanks
Simon Thommes
Dec. 11th, 2022
@Mark Hannen This is a setting that can be enabled in the preferences. Extra Shading Pie Menu Items under Keymap.
Dan Caldwell
Dec. 12th, 2022
Thanks Simon! I ran into problems assigning materials to the object. I created a material, assigned it to the object via the link drop down menu and.. nothing happened. I then assigned a material within Geometry Nodes via the Set Material node and it worked fine, but I'm not sure how to edit the material from there.
Dan Caldwell
Dec. 12th, 2022
@Dan Caldwell I am using Blender 3.4.0 by the way, has something changed between versions maybe?
Simon Thommes
Dec. 12th, 2022
@Dan Caldwell That is unfortunately just how it works. The issue is that in the material dropdown you edit the material slots of the original data. But while evaluating the geometry nodes there are additional material slots added for new geometry. Those can only be assigned with geometry nodes in turn. What I usually do is assign it both with geometry nodes and to the material slots so I have a context to select and edit the material.
I agree that this is not ideal. But the behaviour is at least consistent and the usability will get better hopefully.
Joshua Houston
Dec. 23rd, 2022
This crashes on Apple Silicon every time :(
Simon Thommes
Jan. 2nd, 2023
@Joshua Houston Is this with the latest Blender release? If so it would be useful if you could identify at what step the crash happens and report it as a bug, so the developers can take a look at it.
In Blender under Help - Report a Bug
@Joshua Houston I had this aswell, it is a Mac thing. It is fixed in Blender 3.5.0. Which, as of writing, can be downloaded from the daily builds: https://builder.blender.org/download/daily/
Elliott Stark
Jan. 29th, 2023
material
Alex Dumproff
May 19th, 2023
Is there a way to see when a random input to a node will be a different randomization for every instance as opposed to one random value that will be applied to all instances in the same way?
Or in other words: Let's say a random Int would spit out "3" as a value. How do I know that as a node input it will insert for example "2", "5", "8", "6", etc. when plugged into one node socket for different instances instead of only applying "2" as one random value to be applied to every new instance. Like in the same way I would just type in one random value into the field?
Does this happen on more than the random node? And how can I find out if the behaviour differs. A mouse hover over the input socket doesn't tell me that.
Simon Thommes
May 22nd, 2023
@Alex Dumproff > A mouse hover over the input socket doesn't tell me that.
It does actually. Whenever a socket provides the same value for each element it will actually show that value when you hover over the socket. Otherwise, when the value differs for each element the tooltip with show it as a field.
The random value node will usually give you differing values for each element. Essentially it always gives you a random value per Seed AND per ID. If nothing is connected to the ID that means that is falls back to the ID attribute which is stable when you delete points or the element's index, if the ID attribute doesn't exist. You can think of the ID input as being a second seed input. The only way to receive the same random value for all elements is to plug constant values that are the same for all elements into both the ID and the Seed input.
Join to comment publicly.
55 comments
Just chiming in to say I completed this example! Blender noob here so even the materials section at the very end was new stuff to me.
Thank you! This is very clear. It's great to see a full use case. Question: How can I make the various inputs be automatically randomly generated with each instance of my object?
@Benjamin Bass Currently it's not possible to set this up automatically unfortunately. This is a known issue and the solution needs to be properly designed still, as we want to have a better solution than how it is solved with shader nodes currently.
@Simon Thommes I was wondering about this too. As a workaround, could you do something like plug Object Info -> Location into your 'seed' of the random value node? Then if you were to duplicate the objects in various locations, they'd sort of have random starting values? I played with it a bit, and for a second I thought it worked, but my results were inconsistent.
@Tyler Bjarke The object info node still needs an object to explicitly be passed into it, so that would need to be set each time the node is used, which defeats the purpose. In Blender 3.4 (allpha) there is a
Self Object
node, which solves that issue. However proper randomization still needs to be done. The same approach that is used in shader nodes is purposefully not added to geometry nodes as it is quite flawed. The current plan is to enable reading out custom object properties in geometry nodes an then adding a feature that randomizes a property when duplicating the object. That would allow controlling that seed value explicitly and is more stable.Excellent….thanks
Excellent!
thx very much
Super helpful, thanks!
Clear and informative.
Thanks for this detailed explanation and for also showing how to organise the graph.
Helpful tutorial! Is it possible to add Collections as Instances in 'Instance to Points' node?
@Mahesh Deshpande Yes, totally. You can use the
Collection Info
node to receive a collection as a geometry instance.Interesting
Nice job!
Outstanding! Such a clear tutorial. Thanks!
Excellent….thanks
This is super awesome ! Simple and to the point explanation. Great course !!
Great tutorial! Thanks a lot!
Coming back for a refresher.
Great! Many thanks! You are so nice teacher!
Is it possible to instance points in volume instrad of Face/Edge/Vertex?
@Alexandros Hadjilaou Currently that is not possible natively. In the future there will be a node for that. But right now you can make a nodegroup that scatters points on a surface the scale of the bounding box. Move the points around so that they cover the volume of the bounding box and then delete all points outside of the mesh.
@Alexandros Hadjilaou I did that in the
Points in Volume
nodegroup of this demo file: https://studio.blender.org/training/geometry-nodes-from-scratch/ceometry-components-demo/Hello ! First thanks a lot for all the great work done here ! Also, Do you plan to add the "modifiers" as geonode > bevel or mirror node for exemple ? It would be awesome to have it all in geonodes, no ?
@Sorcière and grease pencil !!!
@Sorcière the plan of the core blender development team is to port the majority of modifiers to geometry nodes. That will happen over time, it's not the number 1 priority at the moment.
@Simon Thommes Thanks for your quick and complete answer. I look forward to discovering the next versions. As usual it will be amazing :D
Nice example, with the random, points and all the basics for nodes.
First of all, thank you for this marvelous course. It's a long time wish made real
Unfortunately every blend file I try to download is tagged as moved or disappeared immediately after download. Is there analternative place or way to access these files? Thank you very much and congratulations!
@schmutzer1 I'm not exactly sure what that means. For me the downloads seem to be working perfectly fine. The direct links work fine even without being logged in. You're saying ' tagged as moved or disappeared immediately after download', if it is after the download, that sounds to me like it would be something on your end.
@Simon Thommes Hello Simon, thank you for your support. You're completely right. It was a browser specific issue with Firefox. Fortunately it worked fine with Microsoft Edge. Congratulations again for your this great course and I wish you all a nice summer at Blender Studio.
16:49 Could you elaborate a bit more on why you changed the input type from Vector to Float? This is the first time I've come across "float" and looking it up in the Blender Manual was clear as mud. :(
@Katie Korwal correction 16:42
@Katie Korwal
Float
is a technical term for a number with a floating point. It's the same as what is just calledValue
in shader nodes. The reason I'm changing this here is that by default the input was a vector, but I only want to control it with a single value. Blender always implicitly converts between different input types when possible. So the float input that I give in is then converted to a vector by using it for every component of the vector.When I change the roundness factor in both the one I made from scratch in 3.3 and the example file opened in 3.1.2 the scale just changes no change in shape. Also in both the example file and my own the seed value is not a slider but a blank number field that when a number is entered nothing changes.
@Michael Gembicki For me, opening the file with Blender 3.3 everything is working just fine. The seed being an input field sounds like the input was toggled to an attribute with the button next to the field. But I just downloaded the exact file in the description and opened it with Blender 3.3 and it's all fine. Can you check that again to make sure?
@Simon Thommes Yeah, redownloaded example and same issues. This is my blend file saved from 3.3 https://drive.google.com/file/d/158sFbzycay3jrPzwDRaUAYPYIJ8MOP0T/view?usp=sharing
@Simon Thommes I tried it on a vanilla version of 3.3 and it worked just fine. It must be one of my, way too many, addons causing it. Thanks for the response. I'm enjoying the course.
@Michael Gembicki Ah okay, yes that makes sense then. It seems strange to me how an addon would mess with this file so specifically, but that can happen. At least it doesn't seem to mess with the file itself. The one you shared also works just fine for me on vanilla Blender
I wonder what is difference between connecting all parameters to on group output panel instead of connecting each to a group input panel?
@Huiquan Lu I'm not sure if I understand correctly. If you are referring to the group input nodes: There can be however many group input nodes you want and there is no difference between using a single one or multiple. I like to split it up into multiple nodes to organize the nodetree in a more readable way. The group output can only be a single node, as otherwise that can lead to ambiguity.
@Simon Thommes Thanks Simon! Yes, that was what I wanted to know. as I watched to the end of the video, I started to figure out why you did those separated input nodes.
This is so amazing.. I am trying to figure out some of the short cuts that you are doing.. one that is confusing me isthe "Z" short cut to toggle the shading... I don't see the Overlay mode as an option... anyone know how to fix that? thanks
@Mark Hannen This is a setting that can be enabled in the preferences.
Extra Shading Pie Menu Items
under Keymap.Thanks Simon! I ran into problems assigning materials to the object. I created a material, assigned it to the object via the link drop down menu and.. nothing happened. I then assigned a material within Geometry Nodes via the Set Material node and it worked fine, but I'm not sure how to edit the material from there.
@Dan Caldwell I am using Blender 3.4.0 by the way, has something changed between versions maybe?
@Dan Caldwell That is unfortunately just how it works. The issue is that in the material dropdown you edit the material slots of the original data. But while evaluating the geometry nodes there are additional material slots added for new geometry. Those can only be assigned with geometry nodes in turn. What I usually do is assign it both with geometry nodes and to the material slots so I have a context to select and edit the material.
I agree that this is not ideal. But the behaviour is at least consistent and the usability will get better hopefully.
This crashes on Apple Silicon every time :(
@Joshua Houston Is this with the latest Blender release? If so it would be useful if you could identify at what step the crash happens and report it as a bug, so the developers can take a look at it. In Blender under
Help - Report a Bug
@Joshua Houston I had this aswell, it is a Mac thing. It is fixed in Blender 3.5.0. Which, as of writing, can be downloaded from the daily builds: https://builder.blender.org/download/daily/
material
Is there a way to see when a random input to a node will be a different randomization for every instance as opposed to one random value that will be applied to all instances in the same way? Or in other words: Let's say a random Int would spit out "3" as a value. How do I know that as a node input it will insert for example "2", "5", "8", "6", etc. when plugged into one node socket for different instances instead of only applying "2" as one random value to be applied to every new instance. Like in the same way I would just type in one random value into the field?
Does this happen on more than the random node? And how can I find out if the behaviour differs. A mouse hover over the input socket doesn't tell me that.
@Alex Dumproff > A mouse hover over the input socket doesn't tell me that. It does actually. Whenever a socket provides the same value for each element it will actually show that value when you hover over the socket. Otherwise, when the value differs for each element the tooltip with show it as a field.
The random value node will usually give you differing values for each element. Essentially it always gives you a random value per Seed AND per ID. If nothing is connected to the ID that means that is falls back to the ID attribute which is stable when you delete points or the element's index, if the ID attribute doesn't exist. You can think of the ID input as being a second seed input. The only way to receive the same random value for all elements is to plug constant values that are the same for all elements into both the ID and the Seed input.