Join Blender Studio for just €11.50/month and get instant access to all of our training and film assets!
Download the file created in this video here:
My English proficiency is not very good, and one issue I have is that when using search, I need to switch languages to find what I want, which is not very convenient. It would be perfect if the search function could support multiple languages. I could search for English terms directly and see the results without having to frequently switch language interfaces.
@GlowGamer That sounds like an interesting idea. But this is not the right place for feature requests. You can bring up a proposal here, if one doesn't already exist: https://blender.community/c/rightclickselect
@西蒙·托姆斯 ok
Thanks
The Rotation output from Instance on Points is a purple diamond and Random does not appear in the search when I drag it out. I added a new Instance on Points and the Rotation output icon is still the same.
EDIT: I added a Random Value input and connected that to the Rotation. Seems to work now.
@Charles-Jean Boucher There are some differences in the Blender version from this course to how things are in the latest release. There is now a rotation socket type that didn't exist then. Dragging out and searching for 'Random Value' works fine for me, I'm not sure why it wouldn't work for you.
Unfortunately, the example was created in an old version of Blender. I've tried on 4.0.2 and the Input & Output in Group tab are completely different, as far as I can see...I don't know how to rename the parameter nodes to have them reflected in the right panel in Group
@Alejandro Azadte The Group In-/Outputs used drag and drop for organization now, so for panels you can just drag them inside. Renaming is still just double clicking the name.
@Simon Thommes Oh, I see. Will try that. Thanks!
Thank you .. This tutorial was very helpful and informative
thank you, the info is a big help :)
I am trying to change the materiel by changing it to object linking and it is not showing up in the viewport. is it a change in blender 4.0?
@shmuel lowenbraun Can you read through the other comments about this and confirm that this is a separate issue? If it still doesn't work it's better to make a bug report on https://projects.blender.org/
Using 4.0 here. My Mesh Boolean defaulted to the 'Difference' option, rather than 'Intersect'. If you are seeing the ico sphere overlaps cutting out your mesh then double check that your Mesh Boolean is set to Intersect.
As it seems, that Blender 4.0 doesn't take Instances in Boolean anymore, how to make this work now? Tried it with Realize Instances, but the Boolean Node (Intersect) doesn't seem to work with that data stream. Thanks :-)
@Helge Maus Yes, unfortunately there was a change in how instances are handled in the mesh boolean node that makes this impossible. A workaround would be too much for this beginner tutorial. I brought it up to the developers. For the time being you will need to use 3.6 to follow this tutorial.
@Helge Maus Hi Helge, I came across the same issue and was able to achieve the same result using a Repeat Zone. I understand why Simon would think this is too far ahead for the basic tutorial but at least it's achievable.
I am not sure whether the performance is different, but it could be since we're working with full mesh copies rather than instances.
I am also not sure if the ID approach I am using in the repeat zone for Randoms is ideal, but it does work.
See the following screenshot for the node setup: https://imgur.com/a/hyGsp12
A Good Start 👍
Why all the separate group inputs rather than just using one with all the parameters on it?
@Bryan Green It helps with a cleaner node-tree, as you don't get noodles running over the entirety of the tree and it logically groups the inputs where they are actually being used.
When trying to apply the material like you did at mins 19:37 of the video, nothing happens. Is this correct behavior for Blender 3.6.1? The set material node works fine.
@Nico Ma For me that still works the same in Blender 3.6. Note that it is crucial that you set the link type of the material slot to Object
as shown in the video.
@Simon Thommes Yes, I set the link type to object. It just wont work. The most weird thing is, when I render a test scene, the rocks have a grey color. But nowhere in my project, neither in the color ramp of the shading tab of the material, nor the viewport display color, nor anywhere I can think of, is a grey color left. I now even deleted all the colors from my project in the outliner blender files tab. In the viewport shading: material preview no color is applied at all, but when rendering the rendered image (the rocks) is colored grey? Ive been working with blender full time for 3 weeks now, and I do not understand this behaviour at all.
Edit: After some testing, in another project file with a similar setup, I was able to assign the color without FULLY using the Set Material Node in this way. In the Material Properties tab I set the link type to Object and linked my material. First, nothing happend, but after just inserting a Set Material Node right before the group output the color was applied. But the Set Material Node had no material selected! When I now select a material with a different color in the node, all Objects that share this node network get this color, except for the one object where I set the material in the properties tab via object link. So to me this looks just wrong. Because used this way, I need the setmaterial node, even tho I only want to set the material in the properties tab. Obviously something is wrong, either with my blender, or with the version itself. Most of all, it very much looks like you were able to perform this coloring via the material poperties tab just fine, since not a single set material node is to be found in your example rock_scattering file.
@Nico Ma This is just how materials work in Blender currently. If you link the material slot to the object then also only that object will use that material assignment. If you link it to the data, you run into the problem that the data is not actually part of the actual data of the object, because it is procedurally generated, only the node-tree itself can assign the material in that case.
I agree that the UX of this could be improved, but it is consistent with how it has been working so far.
Awesome! Great video.
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.
Great! Many thanks! You are so nice teacher!
Coming back for a refresher.
material
Great tutorial! Thanks a lot!
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/
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 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.
This is super awesome ! Simple and to the point explanation. Great course !!
Excellent….thanks
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.
Outstanding! Such a clear tutorial. Thanks!
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 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
@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
Nice job!
Interesting
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 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.
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.
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.
First of all, thank you for this marvelous course. It's a long time wish made real
Nice example, with the random, points and all the basics for nodes.
Thanks for this detailed explanation and for also showing how to organise the graph.
Excellent….thanks
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.
Clear and informative.
Super helpful, thanks!
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.
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
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/
thx very much
Excellent!
Join to leave a comment.