2
$\begingroup$

I have this collections of shape that i want to array and emit

enter image description here

I want all the objects to appear randomly inside this box, this box is just s box that I used array modifier so all is identical

enter image description here

I want to put one random shapes on the holes of the boxes, randomly. here is what i meant by that, and what i want to achieve

VISUALIZATION

enter image description here

What i have tried:

  1. I put small plane in the middle of the box and set that plane as a vertex group, so i have some surface to emit to.
  2. I use emitter particle system and emit exactly the amount of boxes i have (which is 9), and selecting the shapes collections

It didnt go as planned

enter image description here

any solution would be amazing, because i have a ton of holes i need to fill

enter image description here

$\endgroup$
2
  • $\begingroup$ update: after i clicked "Use modifier stack" it works as intended, but now there's new problem some objects overlap on each other $\endgroup$ – Fernaldy Wiranata Jun 9 at 5:42
  • $\begingroup$ can you provide your blend file? $\endgroup$ – Chris Jun 9 at 7:20
4
$\begingroup$

it is a pretty basic setup, i just show a basic solution - it is not modeled with a shelf, i just took a grid because you didn't provide your blend file and I don't want to waste time.

So here we go:

  1. add a grid

enter image description here

  1. add a torus, a sphere and a cylinder (or whatever objects you wanna have)

enter image description here

  1. add a collection and move all objects from 2) in it

enter image description here

  1. add a particle system to your grid

enter image description here

  1. set these settings to your particle system:

enter image description here

enter image description here

and you will get:

enter image description here

if you need detailed explanation, let me know, then i will improve the answer.

blend file:

$\endgroup$
5
  • $\begingroup$ That's the solution I usually would have suggested as ell. But you don't need a Grid object for that, a simple Plane works, too. The only problem with this solution: in the settings of the Particle System, when you have set it to Grid, there is a Resolution value to set - by default it's 10, like in your example. This is why a simple plane works, but this is also where the problem is: a resolution of 10 will place 100 objects on this plane in a 10 x 10 grid. That's okay for a shelf with a quadratic area, but let's say you have a shelf with 4 columns in 10 rows...? You can't set 4 x 10. $\endgroup$ – Gordon Brinkmann Jun 9 at 10:19
  • $\begingroup$ I guess this might be a good task for Geometry nodes... $\endgroup$ – Gordon Brinkmann Jun 9 at 10:20
  • $\begingroup$ That’s right 😅 $\endgroup$ – Chris Jun 9 at 10:32
  • $\begingroup$ @GordonBrinkmann: yes, it works with plane too (which is at least a grid too ;) ), but why shouldn't it work? i just tried: result: [1]: i.stack.imgur.com/d4wne.png -> works $\endgroup$ – Chris Jun 9 at 17:47
  • 1
    $\begingroup$ Oh damn, I forgot to apply the scale on the plane. How stupid. Well, I just used a plane because it is less geometry - less resources needed (which in this case wouldn't be very relevant), and the grid object doesn't really contribute to the distribution of the particles, they are dependent on the resolution settings. $\endgroup$ – Gordon Brinkmann Jun 10 at 9:03
1
$\begingroup$

Its a success guys, I'll share the result here

enter image description here

I put a small plane in the middle of the box as an emitter like this

enter image description here

Here's the settings I used, its kinda similar to Chris' settings

since I'm gonna move the "wall" and animate it, the bottles/particles will be left behind. So the trick to make it still follow the emitter is by turning off the physics on the particle settings.

enter image description here

enter image description here

$\endgroup$
1
$\begingroup$

Okay, here is another solution using Geometry Nodes. You can always adjust the number of columns and rows and distances between the objects and of course add and delete objects from the instancing group:

  1. I have a shelf with, let's say 4 columns by 6 rows. I know from how I created it (or maybe because I'm recreating some real-world example) that the center of each single field is 0.4 m horizontally and vertically apart from the next.

  2. I have a bunch of objects I want to place in the shelf randomly in a collection called "objects".base objects

  3. I place a new object with a single vertex at the center of the first shelf field. Then I use two Array modifiers, one to duplicate the vertex 4 times horizontally with a constant offset of 0.4 m, the other for 10 duplicates with a vertical constant offset of 0.4 m.vertex array

  4. Now I add Geometry Nodes. I use a Point Instance node set to Collection, disable Whole Collection and choose the collection "objects".instanced objects

  5. My objects are much too large for the shelf of course, so I plug a Point Scale inbetween. You could leave the Type at Vector, but I use Float since I scale the objects evenly on all axes. If you don't like the distribution, you can change the Seed value in the Point Instance node to change it.scaled down objects

$\endgroup$
1
  • $\begingroup$ thankyou ! i'll need to learn geometry nodes $\endgroup$ – Fernaldy Wiranata Jun 10 at 7:50

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.