Filling a Volume with Roots using the Shortest Edge Path Node

Поділитися
Вставка
  • Опубліковано 11 січ 2025
  • In this video, we will take a look at a way to make volumetric roots (veins, nerves, whatever) inside of a solid mesh. We will create something I call an edge lattice and a technique I used in another recent video.
    Distribute Points in Mesh: • Blender 3.3 LTS: Makin...
    This one gets a little in the weeds, but I hope I didn't make it too confusing.
    *Ways to Support this Channel*
    Channel Source Files at Patreon: / johnnymatthews
    Free Assets at Gumroad: johnnygizmo.gu...
    ---------------------------------------------------------
    Affiliate Links for Channel Sponsor XP-PEN
    Artist 13.3 Pro - Tablet Display - amzn.to/3EvI6hT
    Artist 15.6 Pro - Tablet Display - amzn.to/3Ox9v7U
    XP-PEN Meow Meow Drawing Glove - amzn.to/3U3XiZk (THIS IS SUPER CUTE!)

КОМЕНТАРІ • 71

  • @beinaidoPichaido
    @beinaidoPichaido 9 місяців тому +3

    TRANSFER ATTRIBUTE
    Thanks for the nice tutorial!
    For those stuck at 12:35. An alternative method that worked for me is to:
    1. Create the following nodes: Raycast, Dot Product, Equal, Delete Geometry, Position.
    2. Connect "Geometry" from the "Group Input" node to the "Target Geometry" of the "Raycast" node.
    3. Connect the "Position" to the "Ray Direction" of the "Raycast" node and the lower "Vector" input of the "Dot Product" node.
    4. Connect the "Hit Normal" of the "Raycast" to the upper "Vector" input of the "Dot Product".
    5. Connect "Value" of "Dot Product" to input "A" of "Equal" node.
    6. Set "Equal" node to: Float, Equal, input B=0, Epsilon=0 and connect the "Result" to the "Selection" of the "Delete Geometry" node.
    7. Connect the output "Geometry" of the "Align Edge Lattice" to the input "Geometry" of the "Delete Geometry". Make sure the "Delete Geometry" is set to "Point" and "All".
    8. Enjoy.

    • @Thiagz
      @Thiagz 5 місяців тому

      I just replace "Transfer attribute" node by "Sample Nearest Surface" node and it's work just fine!

  • @noobandfriends2420
    @noobandfriends2420 2 роки тому +2

    2:56 Defaults are Vertices Z, Default 3, min 1, max 1000. Size Z, Default 1000mm, Min, 0.0, Max inf. He goofed and did Vertices Z as the size, then fixed it, and then adjusted Vertices X and Y to the Z default.

  • @Kram1032
    @Kram1032 2 роки тому +3

    This is an extremely cool effect.
    I think the randomness should be relative to the lattice dimensions, so it's in terms of the size of a single voxel. That way you can set it to half the voxel size and get pretty convincing randomness that's not yet too much as a default.
    Also, trickier to do, but if you can get this to work on different lattices (for instance the lattice formed by the Rhombic dodecahredron, the stellated rhombic dodecahedron, or trickier still, the Weaire-Phelan lattice) you can likely get even better results.
    All three of those lattices can be gotten by modifying the regular cube lattice in specific ways

  • @anaisbarbier9569
    @anaisbarbier9569 Рік тому +1

    12:37 On version 3.6.5, there is no longer the transfer attribute node. Is there another known method to do the same thing ?

  • @spinav
    @spinav 2 роки тому +2

    Very cool and easy to follow. Thanks for sharing it!

  • @burnaboyb8821
    @burnaboyb8821 2 роки тому +1

    amazing like always. thank you Johnny!

  • @omidpakbin
    @omidpakbin 2 роки тому

    Wow! Underrated channel. Amazing tutorial. Thank you!

  • @yulyalim5178
    @yulyalim5178 2 роки тому +1

    Simply gorgeous, thank you very much for this tutorial 👏

  • @emmamarx9284
    @emmamarx9284 6 місяців тому

    Wow! This is so cool! I don’t honestly understand a lot of it but it’s a very cool result!! I wonder how hard it would be to make something made with this node tree manifold for resin 3D printing 🤔 I’m looking to make a bunch of different things with roots and this would def speed up the workflow immensely. Thanks for sharing btw!

  • @artemsh6302
    @artemsh6302 2 роки тому +1

    very cool concept

  • @yellowcrescent
    @yellowcrescent 2 роки тому

    Nice demo! When seeing the new Shortest Edge Path Node, I knew it would have some cool applications. Also, the "Edge Lattice" and a similar "Point Cloud" (same thing but without the edges) would be super useful as a built-in Geo Nodes primitives

  • @abv250
    @abv250 Рік тому +3

    circa 12:35: Since Transfer Attribute is not available in Blender 3.4, I tried using two Sample Nearest nodes (Face selected), one with Normal node input, the other with Position node input. The Lattice remained intact - no geometry removed.
    Anyone have a suggestion?

    • @LeonCzolgolz
      @LeonCzolgolz Рік тому +1

      I used "Sample Nearest Surface", set to vector mode, with the Normal as the "Value" (and a second for Position). It worked for me.

    • @alefnull
      @alefnull Рік тому

      @@LeonCzolgolz this is mostly working for me, but when trying it with a Suzanne head, i'm also getting some points outside of her bounding box :(

    • @andersonbrandaosudario3425
      @andersonbrandaosudario3425 Рік тому

      For me, Sample_index together with Sample_Nearest (to get the index to be used in Sample_index) set of nodes in Blender 3.6. :: Similar settings for the other channels - I am sampling from points - instead of faces

    • @JohannesJochum
      @JohannesJochum Рік тому

      hey man, is there a chance that you can share a photo of your solution? I just don't get it. Thanks a lot in advance!@@andersonbrandaosudario3425

  • @llamamama75
    @llamamama75 Рік тому

    That's really cool. I am just getting started w/ Blender and going through lots of videos. I am interested, seeing this, to know how one might go about adding faces to a set of vertices which have been created this way.

  • @blendercomp
    @blendercomp 2 роки тому

    What a lovely explanation! :)

  • @genesis2303
    @genesis2303 2 роки тому +5

    This naming collapsed node tip, how on earth I didn't think about it while making sth over 100 node groups 👀
    Edit: btw shortest path also works if you just put a lot off tetrahedrons, randomly instanced in volume and go with merge by distance.

  • @bananaslama282
    @bananaslama282 10 місяців тому

    Hello. Can these nodes be modified to use hair particles instead of tubes. Like making a taper curve with a bevel object that its volume is hair and that follow the curve of the taper curve from the beginning point till the end. been trying to do it but found your method more useful. thank you

  • @juliakuklina4110
    @juliakuklina4110 Рік тому

    Hello! Good tutorial, but I'm stuck at 9:52. How did you create the node group? I know it's possible to create them by pressing CTRL+G, but if I do that, the group of nodes stays connected to the "group input" and I can't work any further :/ Can someone help me?

  • @cleverpoly
    @cleverpoly 2 роки тому

    Great tips!

  • @RenderEngine
    @RenderEngine 2 роки тому

    Wow dude, I may have to watch this a few times. So much packed in there... how on earth did you figure this out?
    So having a go at it!

    • @JohnnyMatthews
      @JohnnyMatthews  2 роки тому +2

      This one was a little nutty, but it worked 🤣

    • @RenderEngine
      @RenderEngine 2 роки тому

      @@JohnnyMatthews well you kept it engaging, I watched it from start to finish. It's an important method I think, am surprised blender having got something like this built into a new node.. was looking for something like this on 3.4 but struggled.
      I know the feeling, when I'm making video I usually set off thinking "oh this will be 10mins" then end up making 30mins worth 😆

  • @ibotpl
    @ibotpl 2 роки тому

    Awesome! Thank you!

  • @jjj02
    @jjj02 2 роки тому

    great video, thank you very much! 👏👏

  • @AhmedNassef
    @AhmedNassef 2 роки тому

    This is so dope!!!!!

  • @simonw.1223
    @simonw.1223 Рік тому

    I do it like this.
    Grid extrude than instances kn points using a simple mesh line that merge by distance.

  • @laodeharjudin9580
    @laodeharjudin9580 2 роки тому

    Super Tutorial!, Thankss

  • @samuelkleiner6143
    @samuelkleiner6143 2 роки тому

    The outside check doesn't seem to be accounting for concave objects?

  • @omnivorist
    @omnivorist Рік тому

    This is brilliant. However, as geometry node structures start to get this complex we're going to need the kind of modularity you get in C++ code, for example, I have created a number of geometry node structures (mainly to do with organic growth). When I come back to them however, I find them difficult to decipher. Ideally I'd like to be making modular building blocks that I could plug together. I'm sure this is possible. I just need to stop chasing butterflies for a while and invest some time on the methodology.

  • @DuskJockeysApps
    @DuskJockeysApps 2 роки тому +1

    Couldn't the first 10 minutes of edge lattice creation be replaced by simply adding a cube primitive followed by a Delete Geometry on Faces?

  • @chicao.do.blender
    @chicao.do.blender 2 роки тому +2

    sure, go ahead, blow my mind, i wasn't planning to use it for anything else anyway

  • @PiononoMatic
    @PiononoMatic 2 роки тому

    hello i have a issue, in the new update of blender the Transfer Attribute was replaced by Sample NEarest Surface , i follow the step of the tutorial but i can't get the Z Edges of my spherical primitive, can you help me?

    • @PiononoMatic
      @PiononoMatic Рік тому

      pleaseeee heeeeeeeeeeeeeelp

    • @abv250
      @abv250 Рік тому +1

      @@PiononoMatic I have the same problem. Can't get sample nearest to result in deleting the correct geometry. Searched high and low, can't find examples or documentation that helps.
      If you found a solution, please post it here. Thanks

  • @ChrisSchlager
    @ChrisSchlager Рік тому

    Amazing. I know some geometry nodes stuff, but this is on another level. Can't help to wonder how the roots would look growing. How would I go about animating that? I tried manipulating the Spline Parameters, but it only manipulates the thickness of the roots. (Also, I heard lattuce at first 😅)

    • @ChrisSchlager
      @ChrisSchlager Рік тому

      Found it! There is a trim curve node you add before the Set Curve Radius. Awesome.

  • @zaferec2354
    @zaferec2354 2 роки тому

    Hi Johnny. It may be off topic, but I have a question. How is subtraction done in vectors? I created a mesh and it has 1.3k vertex. But the sphere has 482 vertex. In this case, how does the subtract process take place? So every point cannot be subtracted from each other. Is not it? If the vertex numbers are not equal, then how does this process work? So of course I know the math between two vectors. But what if the vector numbers are not equal?

    • @JohnnyMatthews
      @JohnnyMatthews  2 роки тому +4

      Ah, the transfer attribute uses several modes. In this case we use closest face interpolated. So it is not using the points of the sphere directly.

    • @zaferec2354
      @zaferec2354 2 роки тому

      @@JohnnyMatthews Yes, that explains everything. Thank you :)

  • @neilmarshall5087
    @neilmarshall5087 2 роки тому

    While being amazed I am reminded again - the default values dont work for node groups. Everything just zeros out.
    Is there a reason you know of for that, or is it another part of the UI that needs the reset to Default code inserted ???

    • @JohnnyMatthews
      @JohnnyMatthews  2 роки тому

      In the N panel in your node groups, go to the group tab. Then click on an input. You can set a min, max or default there.

    • @neilmarshall5087
      @neilmarshall5087 2 роки тому

      @@JohnnyMatthews I know that - my irritation is that pressing backspace over the node group or its individuals values is not using those defaults we can set. As I already said, everything just resets to zero. Not to default. Its an obvious bug.
      Thanks for the answer...

  • @eternalguy6023
    @eternalguy6023 2 роки тому +1

    ❤❤❤

  • @dantab2407
    @dantab2407 2 роки тому

    Wow ! Amazing ! I m searching for this kind of nodegroup for a while ! Can you share this in a downloadable file please ? Because I am more a 3d artist than a programmer you know...and doing this is kind of a different logic. Thanks for sharing 👍 love it !

    • @JohnnyMatthews
      @JohnnyMatthews  2 роки тому +1

      www.dropbox.com/s/9oy347ghypb5lp1/tree.blend?dl=0

    • @dantab2407
      @dantab2407 2 роки тому +1

      Thanks a lot man that's so kind. I'm having a lot of fun with it. 💪i had to limit the grid resolution to make it usable but that's fine. It remembers an addon named MST minimum spanning trees. But now with performances enhanced thats great!!

  • @plasid2
    @plasid2 2 роки тому

    why epic UE5 just not make similar system(geonodes) but make hundred unintuitive system

  • @badjano
    @badjano 2 роки тому

    Couldn't you just extrude individual faces then remove only faces? I think it would've been a lot easier

    • @JohnnyMatthews
      @JohnnyMatthews  2 роки тому +1

      Probably! There are probably half a dozen ways to accomplish this! It’s just where my brain went 🙂

  • @sjoerdhogervorst5857
    @sjoerdhogervorst5857 2 роки тому

    ...

  • @Alloniya
    @Alloniya Рік тому

    mesh primitives wat? i dont have that