Blender Tutorial: Connect The Dots with Geometry Nodes, The "Plexus" Effect
Vložit
- čas přidán 5. 07. 2024
- Support us on Patreon: / entagma
This time we'll create the "plexus" effect with Geometry Nodes inside of Blender. Manuel shows you how to abuse geometry to fake a loop, that tests all connections between the points of an incoming point cloud and compares their lengths. Then, only the ones are drawn, that are shorter than a certain threshold, creating an intricate geometric pattern.
Download Scene File: www.entagma.com/downloads/GN_...
00:00 Intro
00:42 Create the point cloud
02:43 Some theory
06:52 Create stand-in points for the loop
08:83 Create the index arrays
11:49 Sample the original points positions
12:40 Create the tests
15:50 Store the original positions to attributes
17:35 Create lines
20:38 Mesh the curves and the points
21:50 Put Colors on the points
24:46 Put Colors on the connections
28:45 Move the points inside of the point cloud
We badly needed this 2 years ago. Thanks for the awesome tutorial. Subscribed!
Me too 😄 I ended up doing it with Animation nodes 😅
I know this is absolutely irrelevant, but his voice is ASMR for me. His plosive sounds are like walking on paper bubble wrap, and I can't get enough of it
i still would prefer a bit of a pop filter, but its still great content!
Ha! He actually reminds me of ZeFrank in places. Great video, thank you!
😂😂😂 I agree
This is Manuel Casasola Merkle, One of the two founders of Aixsponza. I also love his voice :).
Make me fall asleep in less than 5 mins, EVREY TIME.
Index manipulation is one of the harder thresholds you need to cross when moving onto intermediate and advanced parts of node construction. It hurts your brain a bit at first but it's also very satisfying when you manage to solve little puzzles like this one. This is a great demonstration of it, thanks! Always look forward to more Geometry Nodes tutorials from you.
🤯 while watching this tutorial my neurons got the plexus effect... just a few connections remain, and most of them got deleted.
Thanks fot the Tutorial!
Amazing. i've managed to undestand all and nothing at the same time. I will copy everything with no mercy! Thanks
🤣🤣
A nice addition to this set-up is to have the connections fade out before they disappear.
Add another Store Named Atrribute after the other four (before Delete Geometry) and name it 'fade'.
Plug the Distance to the Value input of a Map Range (Smoother Step looks best) using these settings:
From Min:0
From Max: plug in your distance greater than value
To Min:0
To max:1
Then place a Mix Shader in Cd material between your BSDF and Material Output and add a Transparent BSDF to the bottom socket and add another Attribute and pluc the Fac to the Mix Shader Fac. Don't forget to use the same name 'fade'.
In Eevee set the material to 'Alpha Blend'.
Nice idea, thank you!
@@Entagma Great, glad you like it. Thanks again for this amazing set up. Looking forward to watching your Patreon courses :)
You can also use Scale Elements on edges for a similar effect; if you set the scale center to one of the verts, it looks like the vert is "reaching out" to the other one
Late to the party here, but this is exactly what I'm trying to achieve, I will be forever in your debt if you could let me know the answer to this. Can you clarify how to set the scale center to one of the verts? Which node is plugged into "center" please? And is the scale elements node placed after delete geometry? @@borington4317
Thank you Manuel! Everytime I learn a great deal from your tutorials. I can't wait to see you dealing with the upcoming simulation/loop module of geometry nodes!
Another excellent showcase Manuel, Entagma is definitely my go to channel for Houdini and Blender!
Honestly one of the best explained tutorials to a geometry nodes topic out there. I appreciate that you explain every logical decision and also which kind of results from the calculations you expect and why. Great!
Mind blowing! Absolutely! I need to try that!
And I know something you don't know :) It hurts me to see you copy the nodes and plug everything back in, let me tell you, Ctrl+Shift+D duplicates selected nodes with the input noodles! Also works in shader nodes... you're welcome, keep on making such great tutorials and keep pushing the limits!
Wow. This is a lot of information but incredibly valuable. I love how thorough and deliberate you are about the way you go about this.
Simply amazing the power of this free software...thank you Manuel for having such an affable manner making something as complicated as this seem so easy...I could listen to you all day...
wow, this was such a clever approach. I love this channel. this is killer work!
Absolutely genius! One of the best geometry nodes tutorials out there! I do wish there would be something like a VEX node like in Houdini.... Then again, the progress they've shown with geo nodes is truly impressive.
You are next level homie. Amazing walk-through of this effect.
Your Intro animation is mesmerizing.. watched it a few times before going in for the actual video..
One of the best Blender tutorial! Thanks a lot for your work!
Extremely well explained and easy understandable! A lot of knowledge learned with this tutorial, thank you!
I recently discover your channel, and is pure gold!! Awesome videos
I just needed that to learn more about nodes , so helpful already one of my fav Channel you deserve more ,keep it up .
Love your GN Video, is always inspiring.
A legend complimenting a legend 🙂
Long term subscriber and love your tutorials. Been looking for this for a long time, inspires me to explore Blender more and more. Thank you!
Thank you for your long term support and for diving into Blender more!
lol... just 2 hours ago i checked to see if you've uploaded anything new for blender...but no; you hadn't... now two hours later 🤩 YESSS !
Just when I thought I had somewhat of a handle on Geometry Nodes, I work through a tutorial like this and just watch all the concepts fly way over my head. I honestly don't think I'll ever master this stuff.😕
I really appreciate the forward momentum and explanation in these tutorials.
I absolutely hate it when someone takes you down one path only to say "this is the WRONG way to do this bit and now I'm going to show you the correct way."
Amazing mathematics lesson too. Thank you so much for the clear and understandable tutorial.
Really cool project. I'm confident I could have figured out the math myself and most of the rest, but the sample index nodes and store named attributes nodes is where I would've run into trouble. All the index stuff with fields is so useful but it's always a struggle for me to work out on my own. I really need to start using those nodes more and get more comfortable with them so this sort of thing becomes more intuitive to me. I appreciate the fairly complex but still understandable example. I'll be studying this quite a bit. Thank you.
Awesome to see workflow in blender 🤗
This was amazing. I am glad you guys can use the Houdini mindset to build things out of Blender. I wouldn’t be able to solve this effect just by reading the docs. 😅
very nice tutorial. this seems so complex but very well explained
Wow. Impressive. Congrats and thank you for the tutorial.
Absolutely incredible tutorial, thank you for putting this together. This is a truly brilliant workaround the lack of loop nodes at the moment :)
Some alternative approach at two places:
- The module set-up around 10:40 could be replaced by a "Wrap" function (from the same math node) using `Point Count` as a `Max` input.
- For color/attribute retrieval, this can be done with less node at the end using `Index Sampling` by sampling the position; ultimately allowing to sample and transfer more attributes from the original cloud more easily than duplicating the mapping setup. It's technically an approximation but in this setup it's 100% reliable. Ultimately more maintainable and performant! :D
Holy guacamoly! Hats off for this intricate tutorial
Simply amazing! I learnt A LOT! Thank you!
You can also invert distance through color ramp and connect it into "set curve radius" before "curve to mesh" to make short lines thicker and long lines thinner! Great tutorial, thank you. I love that you include theory in the beginning so that I actually understand what is going on!
Also you can store that distance as named attribute and use it in shader tab to give lines different hue/saturation/brightness or even transperancy depending on how long each line is
Love your tutorials - thanks!
Thanks, much better method than what I found lately and posted on Twitter, it seemed weird with field plugged to switch boolean, your method have more sense.
Awesome as always! Thanks for this. 😁👌
Thank you very, very much for making this!
Thanks for the amazing tutorial. Subscribed! 🙂👍
Very great tuto!! Thanks a lot for sharing!
great tutorial, great explanation!!
Simply awesome... Thanks a lot!!!
Excellent tutorial! Subbed :)
This is sick! There are new neural connections happened in my head
Wow, that's so cool. Thank you!
It's amaizing! Subscribed
And its done! :) have learned a lot! Now i have headache ))) after all this nodes connections... Will share this with you later on in Instagramm...
Amazing! Thank you so much!
Excellent.
wow! best tut no cap!
Coming from Maya, I'm on a Houdini and Blender learning spree and I absolutely love tutorials like this. Thank you for all the time and effort you put into this!
Manuel mentions he did a similar tut for Houdini about four years ago. Does anyone have the link? (can't seem to find it).
finally found someone else doing the looping in GN.
it's not so well known, and I hear people complaining that they need loops when they already have a semblance of them.
I plan in making a series on this
Lovely tutorial! Thanks for your hard work. Are you planning to make more tutorials now that Blender 3.6 includes simulation nodes?
it is amazing! thx!
I love how you keep fighting through restrictions in geometry nodes. Loops will come sure, but, we can brute force through it XD
Thank you Sir😊
With the latest 4.0.2 (which is 1year after you made this video. A number of things have changed in GNs! there spot where you add Instances to Points, doesn't have the Points Node to plug into. That is as far as I could get with this tut not knowing more about GN and how they translate to the newer versions of Blender. Really cool though, I just wasn't able to do it in 4.0+
If you are lazy like me and don't want to get the latest blender version to get the new nodes, you can still make a very similar setup:
replace Distribute points in volume by duplicating Suzanne a few times and scaling them down and feeding in the joint geo into a Distribute points on faces node
replace Sample index with a Transfer attribute
I had to handle the color attributes a bit differently at the end but the result is similar
Thanks for the awesome tutorial, some of it is way above my head but i got it done. Could you point me in the direction of how the glowing/sparkling effects were done,.. was it in geo nodes, or composting???
Awesome tutorial!A question is:can we control the number of connected points just like 'max search point' in Houdini connectajacentpoint node?
Thank you very much : )
Thanks a lot
Iteresting approach on nested loops ..!
Brilliant!!!!!!
thank you so much
Fascinating, but wow...a LOT to learn. It's a completely new way of thinking. And bad for folks who didn't do advanced math in school....ahem.
Thanks!
At time stamp 19:35 you say to add a math node and set it to modulo. However you choose multiply from the dropdown list. the correct location was shown earlier in the vid at timestamp 10:30 just incase like me others get a little confused.
Good God!! You damn near need to be a mathematician to figure out how to do this!! I thought I was listening to Albert Einstein!! Very nice voice!
Wow very nice tutorial and you explained all the details :) Thank you so much.
I don't get one thing. How do you create such a nice effect (glare/sparkling/bloom etc.) like in the intro of this tutorial?? I don't even come close to this
I suppose it is done incompositing, I haven't tried the compositing part of Blender yet, but this kind of effect is straightforward either in After Effect or Nuke using some kind of exponential glow. I suppose also that the DOF is rendered through camera.
please more geometry nodes tutorial! also im curious if your geo nodes course on patreon is outdated? or if it's been updated with documentation of some sort
All this for free?? smh what a god creator , subscribed
Heyyy, you guys are amazing!!! Going to sub to your Patreon. I was wondering you could make a tutorial on the Geometry Proximity node and how to use it to scale a field to resemble growth, much like your Plant Growth with Fields tutorial but instead of scaling an empty using the proximity of an object. Crossmind studios made one which is absolutely fantastic would love to see your approach with your math knowledge. Thanks
meu deus do céu, amazing tutorial
What version of blender are you using?
and thanks for the material very well composed lesson
3.4. Beta
Very nice tutorial, Thank you !
PS: The link in the description for the download is broken
Thank you for explaining so well that even I could follow, is there an addon for extending math nodes to get >= node?
Hi Scistar, not that I know of.
Is there any way to let the animation loop from the last frame to first frame? Thanks a lot for the amazing tutorial!
Very nice tutorial. There is one thing i have trouble understanding : How come the ''index'' node that comes before the ''sample index'' nodes samples the index of the 441 points, and not the index of the 21 original points? I'm wondering because the geometry that is plugged into the sample index is the original 21 points.
This is some serious low-level GN. I am in admiration of how your mind works! I suppose the comparing of indices is only possible because they each have unique IDs going on in the background?
no, not really. I am using the indices of the newly created points to map to the indices of the original points
@@Entagma Thanks for replying! Oh OK, I am slightly confused between Index vs ID. I thought ID might be what you are referring to at 16:18
So i guess i found a bug. When in the end u recall the named attributes " mypos " and the "trg_pos" when i put those in, i had only 2 lines in viewport not connected. I had to change the named attribute my pos to something else, and than choose again "my pose" and "trg_pos" and only after that the lines appeared correctly in the viewport.
I have been struggling with a similar problem, joining points with lines and wrangling the indexes. My math failed me but this helped a lot!
Wow this tutorial is so great! Thanks to explain so well your intention , workflow and why you do things . I have a problem, I could not calculate the distance between 2 points, the vector math operation turn to orange when I select distance, than switch automaticly to divide when I play the anim. thanks
was a bug, I reinstall blender, fix it.
I’m trying to create face like plexus. And i can’t find a way. It’s possible to create a face between 4dots?
@@Thiagz I hope someone answers this for you, I want to know too
How would this tutorial change with the new repeat zones in blender 4.0?
That was very useful and I enjoyed it to some extent. I understood some of it but not all of it. Thanks
Great tutorial, made it through to the end. All works fine except the colours, for some reason. I can't wrap my head around it. All is set up like in your scene but the spheres remain black.
Ended up working my way around it by plugging the random output of an object info node into the colour ramp directly in the shader. Doesn't give me fine control like the texture, but oh well.
Wow I was listening to this tutorial and I saw like the math and the complexity is just cool but there is a much simpler way to connect the points or vertices and I am gonna try my best to explain cause it's something I tried alot and seems to get the job done
On the points instance a bunch of ico sphere with a resolution of 3 to 4 (don't worry much about resolution cause I the end most vertices are terminated) then realize them and they are back to meshes
Extrude the into vertices by a scale of zero, at this point let's call the output that comes of here mesh 1
Now set the position of the top vertices using the set position node in the following way ,connect mesh 1 to a ray cast node whose hit position is connected to the position in the set position but also its "is hit" is included in the selection of the set position by selecting "top vetices"from the extrude mesh and (boolean math node included) "is hit" included
Going back to the ray cast node in the ray cast direction the normal is used before the current mesh was even extruded (capture attribute of normal vector involved) and still this won't work due to the source position so to be done is that you take the position connect to vectormath set to add then connect the vectormath to the source position afterwards then in the vectormath set to add connect the scale normal vector to the unconnected socket that is scale to a very small amount even 0.000001 is enough cause blender will know what you mean and finally you'll get a bunch of ico spheres all linked together and now the ray cast length determines the maximum distance between edges connecting such vertices
Now go a head and add another set position node and this time from mesh1 set a separate connection to a sample nearest surfers node set for vector attributes and its value output connect to the position socket in the newly added set position node
Back to sample nearest node the qn is what vector attribute are we actually sampling or transferring? and a simple way to answer this is the mean position in mesh islands and how do we get that ?so here is how add in an accumulate field node Then set it to vector and in the group index connect and the mesh island index from the mesh Island node afterwards connect the "total" from the accumulate field node to a vectormath set to divide and the real qn is what are we dividing it with ? The answer by the number of points involved in the summation as in that's the basic definition of mean and this is how we get it
Add in accumulate field node set to vector or float or integer it doesn't really matter just make sure the values in the "value " accumulate field is 1
In the group index you connect mesh island index from mesh island node and the total obtained is the number of points in the mesh island so just connect it to the vectormath and before you know it will like as if all vertices have been merged together to a single mesh island but in the actual sense they haven't in order to correct that just add a merge by distance node and abracadabra less math and more fun you got all vertices merged and number of vertices have been seriously shrieked down
How you have a good day tutorial was great
czcams.com/users/shortsXH7d9iaR6Js?feature=share
How would you deal with setting up tangent spaces for geometry and aniso shading purposes in Blender Cycles, including handling of singularities?
What was done in New In Houdini 19.5 Pt.1 & Pt.2 just blew my mind, but I wouldn't know even where to start. If it's even within reach in Blender at all.
Calculating tangents manually may be preferred over using derived from UV space, as tangents are - unlike normals - not smoothed across the seam.
This will lead to horrific shading errors along the seam and I avoid UV seams now like the plague if I can. "Not an error" according to developers 😞
Hi gottagowork, I fear I don't know the answer. But it is an interesting topic. Will see if I find the time to look into this.
Loved your tutorial. Thank you.
Suggestion request: any way to interact with the particles using LeapMotion?
Hey guys! Was wondering if you guys could do some geometry nodes racing track but on the stile of wipeout using modular pieces in geometry nodes. There is virtually no info on this anywhere
Sir you have a clear, instructive beautiful accent; the Bob Ross of our age! May I ask you how you got it? :)
Is this a german-british accent? Whatever it is... it's my favorite
And once again, another tutorial of a feature I have been wanting that is using a beta version of a future Blender release that I cannot use with the latest current release version. It also explains why I had failed to do the same myself a couple of months back when 3.3 was released. Additional specialise nodes are required.
It also enforces a sadness I have had for years that Blender has no real C++ or C plugin system where I am sure this kind of feature would have been added years ago (and many others) by coders so much more easily and efficiently with a few lines of code rather than so much complexity and so many nodes.
Even so, It is quite impressive how one person has found a way to create this. Well done. I will just have to wait to see if the new nodes featured here that are not in 3.3 do make it to the released version of 3.4, if not added to 3.3 beforehand.
anyway helpful tip to make it loop in an animation?
❤
Is there a way to do this in Blender 3.3😅🙈🥺
And another problem is when points start to move, it may hit the Length Threshold so that lines begin to appear and disappear, which is kind of weird.
Not asking for handouts here, but how the hell you go from your projectfile to shown demo of the plexus?
I am a new subscriber and I watched the video of the Reveal effect and I could not understand it because I use 3.3 and the video is on version 2.9
please help