1
$\begingroup$

I use a Collection Info node as instance input to the Instance on Points node. I want to control the percentage amount a certain object from the collection will appear as instance. Is this possible?

Geo Setup

$\endgroup$
2
  • $\begingroup$ Do you want to control the percentage of instantiation of a particular object of the collection, or of every object of this collection? $\endgroup$
    – quellenform
    Aug 24, 2022 at 10:32
  • $\begingroup$ If your question has been solved, please be so kind and mark the answer that contributed to the solution as "Accepted answer" so that this question will not continue to be displayed as unsolved. Thank you! Here you can find more information: What should I do if someone answers my question?. If you still haven't gotten a solution to your question, please be kind enough to address it. $\endgroup$
    – quellenform
    Oct 24, 2022 at 9:32

1 Answer 1

4
$\begingroup$

I assume that you want to define the probability of instantiation of one object in the collection, and all other objects should be instantiated at random with the remainder.

If I am correct, you can solve this as follows:

  1. First name the object whose appearance you want to control so that it appears first in the list of objects within the collection (the order here depends on the name of the object, because this is alphabetical).
  2. Then get the collection with Collection Info into your Geometry Nodes and get the number of objects with Domain Size (but subtract $1$ from this value, because an index always starts at $0$).
  3. Then use the node Random Value with the option Boolean. With this node you define the percentage of appearance of the first object in the collection. (In this example, the probability that a point will be selected for instantiation is $50\%$).
  4. Then you create another Random Value node, but this one starts at the number $1$ and gets as maximum value the number of objects ($-1$). This selects all other objects in the collection. Note, however, that the value for Seed is different from the other node!
  5. You feed this number value into the node Switch, which then either uses the value $0$ according to the previously determined probability, or else the randomly generated value.

This gives you a set of numbers which have a random index for instantiation. However, the value $0$ (for the first object in the list) occurs with the probability you assigned, and all others are randomly distributed.

enter image description here


(Blender 3.1+)

$\endgroup$
3
  • $\begingroup$ Hi @quellenform I just came across this solution which works great for a project I'm currently building. Just wanted to ask how you would recommend putting a percentage on multiple objects. E.g. (going off your solution here) the main object has a boolean probability of 50%, a secondary object has a probability of 30% (calculated from the remaining 50% of the first calculation), and so on. $\endgroup$ Oct 10, 2023 at 20:54
  • $\begingroup$ @GlenCandle Maybe the following answer will help you: blender.stackexchange.com/a/265873/145249 $\endgroup$
    – quellenform
    Oct 11, 2023 at 12:39
  • $\begingroup$ Thank you for getting back to me, I appreciate it and it appears that there is much to ponder in that link ;) $\endgroup$ Oct 11, 2023 at 18:09

You must log in to answer this question.

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