How to manipulate the particle system's object picking choice from a collection?

Hi,

I need to be able to make the particle system to pick certain objects at certain vertices and disregards others when it is picking objects from a given collection (instance_collection) randomly. Is it possible to manipulate this part of the particle system? I know I can modify the individual particle’s 3d data but I was not able to find info on how to modify object picking.

I am also guessing that Animation Nodes will give me more freedoms in this regard, it is just that I would like to exhaust all options around this issue with the particle system before chanign our system here.

thanks

You can check the “use count” option if you set “render as” to collection. However, it is quite a nuisance to set up if you have lots of particles.

Hi

I want to control this per particle not as another global control. The particle system is not giving me good random distribution basically. It does not look like use_count is going to change that, although it seems nice for increasing frequency of an item.

It is extremely clunky and might be impossible for more complex scenes because of that. Even using Python for setting the system up can be pretty bad with more complex scenes.
If you have the time it is probably better to wait until all necessary features for this pop up in the new particle system. Perhaps they are allready there, I am not sure.

However it is possible to control which object of a collection is rendered per individual particle.

Here is an image of a collection (red) consisting of an icosphere, a monkey and a cone.
Below is a mesh that consists of only vertices. Their index numbers go from 0 to 8.

This mesh has a particle system using the red collection as as render source and is set to “use count”.
The list circled in red indicats the order in which the objects are distributed on the mesh and the number next to the name indicates how many objects of this type are put on to a vertex until the next object is used.
Icosphere: 1, Suzanne: 1, Cone:1 means that one Icosphere is placed on the first vertex, then one Monkey is put on the next vertex and then 1 Cone is placed on the next vertex. Then it starts all over and one Icosphere is placed on the next vertex and so on as seen in the following image:

In the next image I turned up the count of the Icosphere from 1 to 2 and now the order is no longer
icosphere
Monkey
Cone

but

Icosphere
Icoshpere
Monkey
Cone

Now in the next image I gave every single particle its own entry in the list. The Order is now:
Icosphere
Monkey
Icosphere
Monkey
Icosphere
Monkey
Cone
Monkey
Cone

This is how you can control every single particle.
I once wrote a script to automate the distribution but it was for 2.79 and does not work anymore. However, even if you know python there it is very troublesome to set up because you can not simply feed it a list but you have to let python highlight the list item you want to duplicate then duplicate it and then move it with to the correct place with the arrow operators. It is absurd but doable. It is also slow for larger particle systems.

If you find a good way to automate this with Python I would be very interested to know how to do this.

1 Like