1
$\begingroup$

I asked a similar question some days before. With that way in answer, it works fine. However, that example requires Instances within the same geometry node.

Now I have to take instance from another object or collection. The decreasing failed.

Here is the details:

Object Lv0 takes Object Lv1 as instance, Object Lv1 takes Object Lv2 as instance. The Lv0 and Lv1 is branch, the Lv2 is Icosphere. I want the number of Lv2 decrease with the length of Lv1, which is scaled in Lv0's geometry node.

Try to: enter image description here

With the experience i learned form that example, I should do some math with the length or scale data to decrease value of Resample Curve. So i store the scale data in Lv0 and try to retrieved in Lv1 by Store Named Attribute. Unfortunately, decreasing failed.

Hope someone can correct my mistakes,. Any help will be appreciated.

Lv0 and the scale nodes enter image description here

Lv1. Resample failed enter image description here

Try to: enter image description here

$\endgroup$
4
  • 1
    $\begingroup$ Maybe I'm missing something obvious, but why are you resampling by Count rather than by Distance? $\endgroup$ Commented Jun 17 at 11:44
  • $\begingroup$ @Duarte Farrajota Ramos, you mean the length of current instance? Please tell more details. $\endgroup$
    – Velo Song
    Commented Jun 17 at 12:19
  • $\begingroup$ Resample Curve node has two modes, one is Count the other is Length. If you apply scale of the base curves instances will be spaced more evenly $\endgroup$ Commented Jun 17 at 12:23
  • $\begingroup$ @Duarte Farrajota Ramos , I tried resample by Length, still can not decrease. I guess the way of store named attribute is not correct, but i don't kown how to fix. $\endgroup$
    – Velo Song
    Commented Jun 17 at 13:19

1 Answer 1

2
$\begingroup$

By definition, every instance is the same, except instances can be in different places (translation), be oriented differently (rotation), and have a different size (scale). They also can hold custom attributes, and based on them or their position, the shader can give them a varying color.

So if you want to have a varying number of points, you have to realize your instances, then resample, and then instance spheres on the lines:

$\endgroup$
4
  • $\begingroup$ your way requires a precondition,Lv1 and Lv2 (sphere) has to be created in the Geo node of Lv0. I try your way with taking Lv1\Lv2 as instance by Object info node, it can not work. Even if i put a Realize Instance in , seems no different $\endgroup$
    – Velo Song
    Commented Jun 17 at 14:03
  • $\begingroup$ Base on @MarkusvonBroady 's way i tried more. It can not work if Lv0, Lv1, Lv2 is independent objects. Thanks a lot for your clue. However, Is it impossible to decrease amounts when instances are nested ? $\endgroup$
    – Velo Song
    Commented Jun 17 at 15:22
  • $\begingroup$ @VeloSong you can't realize the outer instance without realizing the inner instances if that's what you're asking. Only you know the desired effect, interface etc. so without communicating it clearly we can only guess. My answer just shows how to get the effect you sketched in your question. You could use a repeat zone to avoid instancing the object, and then analyze it, separate the instances, take one, instance now just a curve from the object without instances, realize, resample curves, instance on them the separated instance - but that's just more work to get the same result. $\endgroup$ Commented Jun 17 at 21:19
  • $\begingroup$ I tried, seems realize node that your suggest is the best way. Thank you so much! $\endgroup$
    – Velo Song
    Commented Jun 20 at 18:39

You must log in to answer this question.

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