Fill volume with objects

Well, still nothing that is Amazing, but I did find quite a few things. And the main thing is Scale. You don’t just need to have units correct. So here is what I learned.

  1. Simulations for small objects, nobody out there seems to tell you that setting the unit scale is Absolutely necessary. If you change the units to millimeters, make a 2mm cube (default cube) it’ll work ok…because it’s a cube. Sphere’s also work ok. But Really you would also need to set the units scale to .001. Default blender unit is meters. So inches, you have to set it to .0254.
    But notice that once you set it to .001 you’re 2mm cube is now .002mm.
    The short of it is, either set that Right away, or you’ll have to go back and scale everything back up. But if you used modifiers then that can get difficult to find everything. So try and think ahead. Small objects, set to mm. Large, leave at meters, Giant…well, what the hell, are you filling the ocean with something? Anyway, you get the idea.

  2. drop it is an Awesome addon. It’s not a terrible idea to use drop it to “manually” place much of the first layer of objects.

  3. MassFX is also an awesome addon, but not free. It’s similar to drop it, but you basically “paint” with particles. You’re still at the mercy of physics simulations but you get to fill your object a little at a time. As soon as you let go, those objects switch to rigid body for the simulation. In theory, this is Exactly what I needed. But it’s still pretty tricky.

  4. not there quite yet, but looks like it might be coming, is geometry nodes. You can arrange things on a surface. They are working on filling volumes. And it sounds like they are working on a node(s) related to checking for intersection/collision. The few times I tried out some things on my own, they didn’t go super great, but it was in the early stages. Keep an eye out for geometry nodes. If they let you fill a volume using the same kind of distribution they use for a surface, and add in checks for intersection, it won’t be all that hard to create a node to fill any closed volume with objects that don’t intersect, even if it’s just kind of a brute force method where you tell it how dense to fill the volume, then you tell it to try putting one of your random objects on a point at a random rotation, if intersects, try a certain number of other random rotations, then move to the next point. If nothing else, that would start you off with the thing loosely filled with your objects, use drop it on each of those, then just fill the rest.

If simulation was slow, but just Worked, then it won’t be all that bad. But I’ve found that drop it is faster in a bunch of situations. The downside is that it only drops Down. So you have to rotate your entire object if you are trying to fill something a bit more complex.

I’ll try and remember to post back if I learn anything more, but I probably won’t be attempting that again for a while, unless a job comes up and someone wants me to fill it with objects again.