1
$\begingroup$

I've set a simple "Leaf" geonode to distort a leaf based on two parameters:

Leaf Distortion GeoNode

Then, I've set a second "Leaves" geonode, to instance multiple leaves along a curve:

Curve Instancer Geonode

Now I'm trying to apply a different value to each "leaf" created by the "leaves" node.

However, when I plug an "Index Node" to the Group Node, it generates a separate Index for each vertex of the leaf mesh, as expected inside the "Leaf" node, not on the "Leaves", where the Index Node should reflect the Curve points. What am I missing here?

Index Problem

$\endgroup$
4
  • 1
    $\begingroup$ This answer may help with a hack. If you're prepared to use Blender 3.1a, there's an 'Instance' domain to stash per-instance attributes, which can be captured, and are successfully inherited on the points of realised geometry. $\endgroup$ Dec 29, 2021 at 9:54
  • $\begingroup$ I'm a bit confused to what you're trying to accomplish. The instances don't exist yet before being instanced by the Instance on Points. You're applying the index to the geometry acting as the blueprint for them, therefore whatever you do to it will be passed on to all instances equally. There are ways to generate different leaves from GN geometry: In 3.1 you can "Pick Instance" from a randomized set of different leaves created beforehand; or you can modify them after instanced with greater control... and effort. What would you like to do? $\endgroup$
    – Rhaenys
    Dec 29, 2021 at 14:21
  • $\begingroup$ @Rhaenys This is my first time using geonodes, so I might be trying to do something nonsensical. However, my ideia is to generate gradually different leaves for each point. I get how I could do 2 or 3 models and instantiate them randomly, but what I need is to apply a procedural distortion to each leaf, based on it's position at the curve. Imagine you have a set of straight lines, which can be bent through a parameter, distributed along a curve. I need the first one to be bent 5°, the second 10°, and so on. $\endgroup$
    – Hugo Aboud
    Dec 29, 2021 at 17:06
  • $\begingroup$ can u provide blend file? $\endgroup$
    – Chris
    Dec 29, 2021 at 17:59

1 Answer 1

2
$\begingroup$

1. You can use curve to point node to rotate instances along curve. Also you should try to capture attribute from curve to make additional changes in instances along curve.

enter image description here

2. If you need to modify objects along curve, you should apply set position node after instance on points node. In this case don't forget to put realize instances node between them. In the example below objects catch the shape of float curve node, and at the same time changes along guide curve.
Objects catch the shape of float curve node

$\endgroup$
2
  • 1
    $\begingroup$ Beautiful node setup :) $\endgroup$ Jan 15 at 19:02
  • $\begingroup$ @MarkusvonBroady Thank you :) $\endgroup$
    – 3Dhedgehog
    Jan 16 at 11:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.