This is the way things should be taught for real. Instead of just giving out recipes like most tutorials do, you're telling us why. So we can become actual chefs that create our own menus, instead of old grams in the kitchen (nothing against grams ;P) with a rolodex of recipes.
As a former programmer and current 3D artist I appreciate how you tie nodes to if statements, boolean statements, etc. Working with nodes seems, as you say, a visual extension of scripting.
You should check out... I think it's called serpens? In any case, there is a nodes extension to translate python to nodes and back to make your own extension. And when "everything nodes" is complete it will likely include this, as well as a better scripting of particle nodes and a back and forth between bones/armature and a node representation
I love the way you explain things. It just clicks for me. Do you plan an doing more geometry nodes tutorials? Cause I would love to watch more of these :) I also like how you're exploring different rabbit holes!
This guy is an awesome teacher. I tried watching other Geometry Nodes tutorials here on RU-vid but the concept was just not clicking, until I discovered this one. Thanks man.
THIS is THE WAY to EXPLAIN! Thank you! 99% of tutorials on YT just tell you what to click without explaining how that works - that is not teaching. Please make more of these, with the logic behind each node/tool! :)
As a fellow rabbit, I stumbled across this because I'm an artist interested in Blender. I haven't even downloaded the program yet, lol, but your title drew me in. I'm a total noob with animation, 3D & digital art programs, but recently started to learn Python (super noob there). So glad to learn Blender is Python-based. I've noticed nodes like this in other open-source and AI image apps and programs, but they seemed so intimidating. Watched and listened to the entire lesson on my small phone with captions turned on! Read all the Comments and Subscribed as I plan to learn more from you and those Commenting, and plan to reference this often. I agree with those who enjoyed your pleasant voice and clear explanations of the whys and thought processes involved. I'm encouraged and you helped demystify these nodes a bit. Next step is to rewatch while following & doing in Blender. I definitely couldn't see any of the details on my small screen, but it was good enough to help me follow along, even without glancing at the screen and just listening to your well-explained descriptions of what you were doing and why. Zoom-ins as others already pointed out would be awesome for future vids. Excellent style of teaching! Keep it up and look forward to learning from you! ❤
38:00 If you take a value node and type #frame it will automatically change the value input depending on which frame you are... BTW I am not an expert in blender... I somehow know this...🙂🙂
There's a better way I figured out to do the same thing with drivers in a single node. (40:33). Instead of duplicating the node for "total frames" to access "fps", add another input variable for it in the same node as the total frames node. If you name the 2 inputs appropriately, like "frame_end" and "frame_rate" you can set the expression to "frame_end / frame_rate" which would evaluate to "10.417". That way you don't need the additional Math nodes.
Great video bro,.... I'm a total noob in Blender in general, but couldn't you just make one driver with 2 variables and do the whole math there? (Talking about a 40th minute in video) So var_1 is frame_end and var_2 is render.fps .... leading to Expression var_1/var_2 , and now you have your seconds. Just plug it in the Subtract value node. But great video, I learned a lot.
By far the best geometry node explainer video, with the philosophy, the under the hood explanation, the rabbit hole, all just worked out good and finally learned some geometry nodes. Expecting more similar videos please. Thank you.
Incredibly well explained! I'm glad I found this as my introduction to geometry nodes. I'm still a total beginner with Blender, but I'm amazed at what it can do.
"Set Material Index" can be used to select a assigned material. then just give the user an integer input to change between the different assigned materials.
I must admit that I find the idea of 0.5m long stiches to be slightly disturbing. Surely things integrate a lot better with other peoples stuff if you use more or less 'natural' numbers. Real world stiches will not often exceed 0.005m in length, so why not just go there immediately?
There’s wannabes and half ass tutorial list on RU-vid and then there’s you, a professional in my humble opinion. I can’t thank you enough for teaching me this in such a fluid way you literally explain in such a way that it just clicks please don’t change you’re style keep this sort of quality over quantity.👍🏽
Man you had such a huge tangent for the countdown timer rabbithole and completely missed the opportunity to make the stitches follow the countdown timer's curve path.
Im learning blender like hardcore and it would have been great to see this like one month ago, THANKS for that kind of content, for me and all blender learners
Awesome tutorial! You can really tell you come from a programming background because at one point (47:31) instead of just saying pi you said math.pi and I thought that was great lol
Geometry nodes are an incredibly powerful set of tools that allow detailed manipulation, and creation of almost everything in Blender. Geometry nodes are an incredibly frustrating thing that is a huge reason why Blender isn't leading the graphics world in everything. Blender is like buying a flight sim just for having some fun and finding out all the controls are 100% realistic and you need to be a qualified pilot to fly it. There is only one setting for the interface, expert. If MS Paint had the same interface you would need to set up nodes for colour, opacity, line thickness, line type, all before drawing a line. I have been using computers forever, everything from vanilla unix, vax workstations, right through to today. The nodes are really almost like background stuff the user shouldn't have to deal with unless they are truly at expert+ level. You see this with some of the add ons. You place them and they generate the 80 nodes that make themselves work. Background.
This is an excellent tutorial. Approaching it from "this is how you should be thinking of it" instead of just "watch me and then you do the same" is great. It would be amazing if one could create a geometry nodes layout by editing the mesh. So you could go up into the viewport, type "rx45", and it would add a transform node with the right place in the geometry nodes.
I should point out that your specific example is regarded as bad practice - Maya works the way you said and so does Houdini (all operations are recorded as nodes) and practically all the Maya or Houdini basics tutorials start by saying “you technically can do things this way, but you shouldn’t”. That’s because you’re having to manually specify a vertex index to operate on, and that can easily get messed up for example if you change the original input geometry. It’s much better to get your head around creating rule based systems. Also if you indiscriminately create node after node for individual operations it will bog the system down rapidly. That said, I definitely agree it would be useful to have viewport handles (for example for the transform node), or being able to click an item within geometry nodes tree and select it (Houdini can do this). Also better visual or interactive ways of identifying selections e.g working out what vertex index needs to be operated on.
Every other video I've seen already know what node to use for what they are doing. Where did they learn that? Hopefully this video will explain that to me and every other beginners to nodes.
This is a really good video but there is a minor problem which is easily fixed. He talks a little bit too fast which makes it a bit difficult to understand him. Set the playback speed to 0.75 of normal and he sounds okay.
funny thing: We had a course in python where we scripted inside blender, learning how to instance and stuff. As soon as we finished the course blender added Geometry nodes..
if not anything else, then you are just so relaxing to listen... i can definitely say you can make for some wonderful podcasts! but one thing i have to say, your tutorial was very beginner friendly; i mean the way you explicitly (you can guess by now i come from a programming background too) explain all the detailed intricacies is something that we beginners truly appreciate! and all the joys about the software that you talk, they totally involve the audience, or well, at least me in this case. i mean it feels like you are sitting next to your audience and talking to them with utter hospitality! this is the first 1hour+ video that i ended up watching completely ever(although i have to admit i watched it in 1.5x playback speed). no other video ever succeeded in keeping me with the video for so long you are doing a great work out there man! keep it up! appreciate it, really! hope you have a great day
I just want to come by and say that you are probably the SINGLE BEST TEACHER on RU-vid for me. I think you are the best for my specific learning style (which is also detail-oriented/rabbit hole/curiosity driven). Thank you for taking the time to produce those amazing videos, you sure have a fan club of yours!
You're totally right about the Blender logo 😆 - I totally missed that connection! If I understand what you mean correctly, unfortunately I don't think drivers would help in this situation - at least not the ability to show/hide the input from a UI perspective. I would love to be wrong though!
*Thank you, thank you, thank you!* I can't put into words how annoying 99,99% of the "how-to" vids on YT are that ALWAYS fail to highlight the WHY (regardless of the subject).
Great tutorial, made a lot of sense. You mentioned about Materials and getting it so that you could change them from the Goenode tool bar. 1:21:20 Materials. I connected the Pink Material input dot on the Set Material to the Geometry Input. This gave me an option to select any materials I had already set up in this blend. It didn't allow me to manipulate the material just select any I have set up in the Shading window
the rabbit holes were super fun for someone who is getting into coding. I wanted to know if there were better ways of creating if statements through geometry nodes and they were explained quite well.
I'm still watching the video (which is very interesting, so thanks for that ^_^) and I just wanna say, regarding drivers: the easiest way to use them is simply with "Copy as a New Driver" and "Paste Driver" (instead of "copy data path" and then "edit driver" since then you still need to edit the driver which is an extra step). As for the frame rate, turns out that if you select "custom" in the dropdown (instead of the default "24 fps"), that exposes automatically an "FPS" integer panel that CAN be used as a driver :)
in 56:00 the devs didn’t completely predict this. i remember after a certain point i was able to do that, and it just crashes blender, so i reported that bug and they fixed it 😅. (i think it could of been when they were redesigning stuff, they forgot to but the filtering back in or something)
ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-VlSs430PAeU.html - I do believe that the set material by index refers to the material 'slots' on the parent object itself. On meshes these would be the default method of assigning materials. Not necessarily a 'drivable' method but at least the variable is exposed. just assign the index with an input value, and set the material in the object.
If you need the Material to be applied on the Object inspite of it being a Curve.. In the Material Data block set the Link to Object instead of Data ( Which is the Default ) . You will still need a Set Material Node in the Node Tree, just wont have to pick a Material.
Thank you for the insight! I did not know about the Link to Object option - that can definitely come in handy. For geometry nodes specifically though, I'm still having trouble getting the material to show up using the Set Material Node on the Curve. If I leave the Material blank on that node (after setting the material to Link to Object on the Curve), unfortunately the material does not appear. I must be missing something...
That was hard to find! It's the very tiny dropdown icon next to the material's name in the material properties (under the slots section). When in default it has the icon of three linked cubes. It does work by the way, with the Set Material node in the geometry nodes, leaving the material empty!
I prefer step by step. Here you jump back and forth from talking about geometry nodes, to python code, back to geometry nodes, back to python, etc. Going off on tangents without staying on course. Very off putting. If I want theory, I'll read a book. This rambling, jumping around from code to nodes is putting me to sleep.
You made me fall in love with geometry nodes with this video. This means a lot to me moving forward in terms of what I want to focus on in 3D art. I really appreciate you making this tutorial.
Great work on this video. I've never found a tutorial that got me in the right place to understand geometry nodes. Your method of explaining the process as your were figuring it out (specifically the countdown timer segment / rabbit hole) was extremely helpful. I could follow along without feeling completely out of my comfort zone. Thank you, and please keep doing this style of tutorial for Blender users. I think your Dev background gives the walk-through a much needed depth and simplicity that other tutorial content producers fail to provide. This is Grant Abbot level of teaching but for geometry nodes.
dude you are brilliant. the complexity is so satisfying and it feels really good to be so lost in something one wants to learn. i love it. thanks so very much.
"Think of Geometry Nodes as pre-recorded actions" - among the best high-level bits of advice I've ever heard on Geometry nodes! As someone who very rarely watches 1 hour + videos (Ian Hubert's Lazy Tutorials are more my idea of a good time!), this has been one of the highest value/minute videos ever!! "Why?" , you ask... (since it obviously doesn't take one hour to say "Think of Geometry Nodes as pre-recorded actions"): 1) because I actually learned a heap about other aspects of Blender (e.g. fake users and how underlying mesh data is being referenced); 2) because the "rabbit holes" are actually awesome examples since they are very different use cases (but still showing "I just want to pre-record this action"); 3) because the "You're an addon-developer" part is very clear on how to expose useful variables to an end user (I feel like a power user now!) and; 4) (perhaps most importantly) the video is real about having to "go look stuff up", which is fantastically honest, humble and inspiring. Thanks for taking the time to make this!
This is the probably nicest, most thoughtful comment I've ever gotten. Thank you so much for taking the time to watch the video and give feedback 😃 Best of luck with geo nodes!
I hoped this would be easier than other videos - yet at some point you just get too damn fast :D I wish there was a tutorial that goes slow so noob like me would not get into troubles :) Thanks for the vid anyway
I'm a blender user for many years It was difficult for me to learn geometry nodes as I didn't get the logic behind it but you helped me a lot into understanding thank you great tutorial
38:50 - The edge angle is calculated from the difference in the normal of the adjacent faces. Why it wouldn't work was because you took the normal, with it's 3 components, and treated it as a single float. I'm uncertain what operation it uses to flatten it, but I presume it uses the distance. Seeing as all normals are unit vectors it would be 1, with the only real variation coming from floating point errors. Or it calculated the dot product with one of the cardinal directions, like (1,0,0) which at least is a bit more useful, but still incorrect for this application. It's important to pay attention the colors of the handles and lines, if the color changes on the line then you're getting some form of automatic conversion going on, in this case you went from the purple vector 3 to the gray float value. You don't always have to care about that, but you should always check for that if something is misbehaving, and put in conversion nodes to make sure it's doing the right thing. Not that using the normal on it's own would help much in this case. At best you could look at face normals and smooth the ones not facing up, but that's functionally different from what you were trying to do, and would fail if you rotated it to be vertical instead.
Thank you! The plugin is by Chocofur. I go into a bit more detail in my video on Image Textures - feel free to check that out if you like: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-x_guNosYPVw.html
I love it that you take the time to explain how and WHY something is done. You know the saying “Give a man a fish, and you feed him for a day; teach a man to fish and you feed him for a lifetime.” applies here well. Also, visual scripting is very good way for someone who starts coding or is just not so good at it, to understand the logic behind it.
I love this approach. How to think about and conceptually understand the aggregate tools so you can problem solve anything. Thank you for teaching me how to fish instead of just giving me another species of fish that's not quite what I was looking for.
I've done some Python programming. So, what's better? Depends on what you want to do. One advantage that I see with the nodes is that as you tweak the nodes, you can see things change in the 3d Viewport in real time. If you're going to be making 1000 changes, it's not necessary to run your script 1000 times. Plug in some noodles or slide a number back and forth and observe the results.
@@RabbitHoleSyndrome These are just tools. Nodes are a tool, and Blender Python is just another tool. I think that a lot of artists (and people in general) are intimidated by programming. And Blender Python can be somewhat intimidating. As programmers, we're often doing the same things that others do with menus and dialogs only we are using written words. I think that Blender Python really requires two prerequisites: Blender and what is often called Core Python. One should really understand the core language before attempting Blender Python. I know there are tutorials out there that try to teach Blender Python from scratch. Those are usually not that good. They miss too much. Python is actually a very good first language. Much easier than many others. Your first script will most likely be *_print('Hello World!)_* and that's it. That is actually a complete script. You do need to go a little beyond that to learn Blender Python. To give you an idea of what advanced Python is, check out the book *"Fluent Python".* Most of us haven't gone that far. I know I haven't. One of the ways that I've used Blender Python is to do things outside of Blender on my computer system in the middle of a script. There is no way to do such things with nodes as the list of things to be done is probably infinite. If you made it through this comment, thanks for putting up with me.
This and other video you had are best for people who completed few blender tutorial, has some very basic idea of blender and is now really getting into it You should do a collab with other blender tutorial, like taking existing tutorial and explain why they do what they do No body explains the fundamental idea of each action as well as you are
I have been trying to get my head around geometry nodes and this tutorial really clarifies how to think about them. I hope you produce more tutorials along the same lines.
57:31 - I don't know for sure if this is the official reason, but by leaving orphan nodes until you reload the file you can delete a material/node group first, then use it on another object. If they immediately removed it then you'd have to add it to a new object first, before removing it from the old one. Imagine adding a material to Suzanne for instance, then you delete that placeholder geometry, add in a human model from your library and… The material and the work you put into it is now gone, you have to undo to get it back. And if you're new to Blender you might think Blender destroyed your work instead of it being a consequence of you removing an object. Alternatively, Blender could alert you every time you delete something: "Warning, this action will destroy Material_1, Geometry_Node_13, etc, etc." Which would just annoy people that know what they're doing.
That's a good use case, but how it's currently implemented is not exactly intuitive. Good UX means that you can save the file, shutdown your computer, open the file the next day and still reuse the material, because nothing is warning you that the material is getting deleted or asking you for permission. So it feels like a feature that started out as a bug and has been left in for it's usefulness. It's not thought out.
Weird my comment got censored... that hasn't happened in a long time. Either way, I have downloaded and will study your video. Thank you for your hard work.
Use case for strings I'm constantly using, is showing a bunch of information related to the object. I'm working with blended projectors and LCD/LED video walls, and some of the information I show are: Aspect ratio, overlap (pixels, projectors only), individual image resolution (per cabinet), total resolution (per video wall), calculated pixel density/size (to determine readability), lens shift and throw calculations (within physical limitations?), and what projector screen is being utilized (may vary with size due to production limitations). Snapshots of this is then used internally to discuss around the solution, and maybe sent to gfx to prepare pixel perfect content to be used in the final renderings (although I use UV vector snap to force anything pixel perfect anyway). Sometimes things are used for communication purposes rather than rendering. One problem is since having to use nodes for separators, concatenations, and special characters, it can get really messy really fast, so all this is dropped into a separate node group. I wish there was a more elegant way of doing this using a multiline expression interpreter.
Geometry nodes are cool. I learn to use it with try and false method. :D I learn how to right meshes with good shading. Make robot hand, make bycicle, or house. Only with nodes and little modeling. It is cool tool.