5
$\begingroup$
  1. Input object: Generated with GN. Some value makes it higher.
  2. Generated geometry of instanced Input objects: Each of them should receive some value to create an individual shape. For example, each point number (ID) should cause a different shape. enter image description here
$\endgroup$

2 Answers 2

3
$\begingroup$

The concept of instancing is that you set a same object (object data) to different places. Sure, you can have different position rotation and scale, but the object will be the same. It is just how instances work. Imagine that you have several linked object created by Alt+D. They are edited at once, you cannot set a different mesh/curve/etc. data to them.

So in order to get different objects, you need to convert them into separate objects. This is exactly that Realize Instances node do.

After that, you can actually manipulate with data inside these objects. It may be a bit complicated.

To move spine position, you can use Set Position node, but you should enter different offset depending on spine ID and point ID. Spine ID you can easily get using ID node. But how to get point ID? To get it, I used Capture Attribute - which can grab a point ID before instancing, so that you will have 0 for the first vertex and 1 for the second. Using these 2 IDs, you can change the position of the second vertex in each spline:

enter image description here

$\endgroup$
2
  • 1
    $\begingroup$ Thank you. It works, but I don't understand why. Two nodes ID look the same and have different data input, it is annoying. Where can I find a good explanation (written, not Youtube) of data flow in GN 3.0? $\endgroup$
    – fomaamof
    Dec 12, 2021 at 15:33
  • 1
    $\begingroup$ @fomaamof I think this video has a pretty good explanation, even it is YouTube: youtube.com/watch?v=2qWnRRkV9Zk $\endgroup$
    – Crantisz
    Dec 12, 2021 at 19:23
3
$\begingroup$

Edit: The important thing is to realize your instances.

here is my previous answer-

"Generating variations in the instances with Capture Attribute

In order to pass a value through the node tree, you need to use a CaptureAttribute node. It can capture a value based on your curve's position or other attributes.

Then, you can begin to change values in other nodes based on the values of captured attributes."

Revised Pictures after comments:

![enter image description here enter image description here

$\endgroup$
5
  • $\begingroup$ You don't use Capture Attribute at all in your node tree $\endgroup$
    – Crantisz
    Dec 11, 2021 at 0:07
  • 1
    $\begingroup$ It is in the node tree connected to a position node. $\endgroup$ Dec 11, 2021 at 3:09
  • $\begingroup$ @Crantisz, I have upvoted your answer, and edited mine a little. It was the right idea but my example is better now. $\endgroup$ Dec 12, 2021 at 7:31
  • $\begingroup$ I see, but you just input rotation and scale, the object itself remains the same $\endgroup$
    – Crantisz
    Dec 12, 2021 at 9:49
  • $\begingroup$ Yes, in order to make a more decent variation, I would have to affect a second object with the captured attribute. $\endgroup$ Dec 12, 2021 at 15:02

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .