2

I'm trying to create a procedural palm frond style plant with geometry nodes that has instanced leaves staggered along a stem (curve object). And these staggered leaves are roughly 180 degrees opposite each other as they climb the stem.

I'm trying to do a lot more, but the staggered leaves and positioning is the part I'm currently stuck on.

Example of staggered leaves on Unsplash enter image description here

Would love a simple explanation on how to do this.

The reason I am asking this single question is because I'd ultimately love to work out how to create a whole palm frond style plant with varying degrees of customization. This is where I am heading (as it may impact the answer):

example of a whole plant with palm fronds another variation of leaves here

  • create the actual palm leaves from a geometry node shape object (for now, I can create a mesh object to instance)
  • creates variations of that leaf to then sample along the stem from a collection
  • bend those leaves to simulate gravity
  • apply slight randomness (rotation, scale) to leaves
  • have the leaves adjust their rotation and scale in a realistic manner as they grow up the stem (see reference photo)
  • apply a procedural material to the procedurally created leaves
  • then instance one stalk/stem to create a whole plant
quellenform
  • 35,177
  • 10
  • 50
  • 133
Zero Dean
  • 159
  • 9
  • 1
    Hi Zero, pls focus on one question - yours are actually 7. These are the rules here and they make sense because so people can find the answers easier by the title. But you cannot summarize 7 problems in one title. You can open as many questions as you like. Thank you. If you don't focus, your question might be closed due to the rules here...this might be a frustrating experience. – Chris Sep 02 '22 at 16:10
  • @Chris ...you're right, but I personally still love this question! – quellenform Sep 02 '22 at 16:18
  • 1
    That doesn’t mean that I don’t love it – Chris Sep 02 '22 at 16:26
  • I absolutely understand what you mean, and I hope my answer helps you a bit. But @Chris is right: there are actually several individual topics that you address here, and one could certainly break the question into several parts. But on the other hand, you are also right with your question: it is about a procedural plant, and about structuring the design correctly from start to finish. But anyway: the more extensive your question, the more extensive the answer, unfortunately (in the case of Geometry Nodes). – quellenform Sep 02 '22 at 18:46
  • 1
    @quellenform I totally get it. No worries. I'm new to this. This was my first experience on this platform. I appreciate the help. – Zero Dean Sep 05 '22 at 18:43
  • @ZeroDean No problem, I'm just trying to enrich this platform and answer questions. Thank you for your understanding. But it would be really good if you try to keep the tasks lean to avoid such extensive answers like mine ;-) – quellenform Sep 05 '22 at 18:49
  • 1
    @quellenform 100% agreed about the leanness as well as focus of questions. Lessons learned. Your extensive answer is extremely valuable, it's simply above my own level of understanding to be able to tweak it to my specific needs at this time (or at least based on the amount of time I currently have to focus on it). I've watched some videos to try to understand what certain nodes are actually doing in relation to other nodes, etc, for example -but this then leads me down other rabbit holes. It's an excellent study aid -- and a brilliant realization of what I originally envisioned. So thank you. – Zero Dean Sep 05 '22 at 19:02
  • I'm sure you'll figure out what's going on. Basically, it's more complicated than it looks, it's just very extensive. Unfortunately, a (convincing looking) plant with Geometry Nodes is actually not an easy task, but rather for professionals. I'm also very sorry that a whole plant can't be implemented (much) easier. However, based on my experience, I advise against instantiating objects here, because these instances are usually the most inflexible and the result is usually sufficiently procedural. – quellenform Sep 05 '22 at 19:08

1 Answers1

4

I'm not sure you'll be happy with this, but I think it's a good starting point.

enter image description here enter image description here

Since you want a procedural result throughout, and simply instantiating individual elements won't get you there, you need to build the entire structure before instantiating or creating any leaves.

And so the order would have to be like this:

  • First create the trunk.
  • Then create the branches rotate them around the trunk and bend the ends down.
  • On these branches you create the curves for the individual leaves, which are also rotated and bent.
  • In this way you get the whole framework of the plant, and in the end you only have to create the leaves and create a mesh along the created curves.

But step by step, here in pictures:

enter image description here
Basic framework with branches.

enter image description here
Basic framework with branches and leaf branches.

enter image description here
Turned into a mesh.

enter image description here
Detail view of the leaves.

...Of course, you would then have to build your shader accordingly, because it is kept very simple here.

The good thing about this approach, however, is that with a little post-processing and fine-tuning, it can be used to create a wide variety of plants.

Have fun with it!


(Blender 3.2+)

quellenform
  • 35,177
  • 10
  • 50
  • 133
  • This is exactly what I was looking for, thank you. Thanks for providing the blend file, I will analyze the bits and hopefully be able to determine how they work. Thanks again. Very helpful! – Zero Dean Sep 02 '22 at 18:46
  • 1
    @ZeroDean You're welcome! If you get a bit further with it and craft something out of it, I would be happy if you could attach the result here ...I'm always interested in what happens to the things I provide here and what others make out of my answers ;-) – quellenform Sep 02 '22 at 18:49
  • 1
    I'll definitely get back to you with any initial output I make with it. (Hopefully in the next day or so). – Zero Dean Sep 02 '22 at 18:51
  • @ZeroDean No hurry, take your time, the node tree is quite extensive (and to be honest I have relatively little documentation here, so it might not be easy to keep track here). But I am looking forward to it! – quellenform Sep 02 '22 at 18:54
  • Ah, yes, it's far more extensive than I initially realized. You built the whole system. Wow. Lots to learn from this. I'll be studying this for a while.

    So, I've been playing with the leaf rotation options and the "float curves" in an attempt to find the combination that allows me to bend the tips of the individual leaves downward. Is this possible and I'm missing it? I can create a "U" shaped leaf, but not an upside-down "U" where leaves droop downward (vs upward).

    – Zero Dean Sep 02 '22 at 19:26
  • @ZeroDean The shaping (length, width, etc.) is done here primarily via the nodes Float Curve and the bending of the curves is done here directly via the shape of the curves and moving the points with Set Position. – quellenform Sep 02 '22 at 22:23
  • After further attempts at deciphering & gaining artistic control over the nodes in the blend file you provided, I'm at a loss in being able to fully manipulate it to meet my needs. It's my fault for still being new to geometry nodes, sorry.

    It's still an excellent setup to study & learn from. I also realized that it fails to answer my main question about staggering leaves along a spline/branch in a way that I can comprehend.

    Hopefully I can elicit a more stripped-down "answer" to my original question -- instancing leaves from a collection and staggering them along a spline.

    – Zero Dean Sep 05 '22 at 18:09
  • @ZeroDean Well, but then I would advise to create a more simplified question again, because it would be a pity for this post here. Wouldn't it be possible to split your request into individual questions and post them? – quellenform Sep 05 '22 at 18:12