Filling a cup with fuit


I made this a few months ago using nParticles and a instancer, then used a script to convert the instanced shapes to individual objects.

it was a mission to do and I did try doing it with MASH before, but I found that doing it using a straight nParticle emitter worked out better (it actually simmed and faster).
The berries are very high res which did pose a problem, but for some reason nParticles handled them just fine.

Now I have a problem. the one set of berries need to be larger, IF I try scale them, ofcourse the meshes will intersect. and if I scale the object up and try and re sim it, it also wont work as the particles that collide are one size (cant have different particle sizes) in nParticles

So… apparently I need to do it using a MASH system.
I need help with either someone having a better machine than mine helping me out… or… a better solution to simulating this.

I have proxy objects that I can try use, but im not sure how to have the proxy objects be the collision objects and then later replace them with the high res mesh objects.

all that needs to happen is the cup just needs to fill up with 4 different type of berries, and then i need to convert those particle berries to mesh once i am happy with where they are.
It does not need to animate or be dynamic at the end result.

Any and all help appreciated


In Mash you can change from proxy geo to high res.



Okay, so after trying a few things out, this is what i have concluded:

I have 2 sets of mesh, with 4 berries in each (so the full res mesh and the proxy meshes of those)

I tried using the proxy mesh, but that is only for visual. IF i use the proxy mesh as the original mesh (so the collision mesh) and then the high res mesh as the “proxy” so that I can swap it out… it does seem to work, BUT then i run into a different issue.

I need the meshes to be instanced so that I can in the end convert them into individual objects.

so, if I simulate using MASH as mesh (in the options) i get to use the proxies. but then when I convert it to instances, it loses the proxies and goes to the base mesh (which would be the low res proxies)

If I create the MASH node with the option set to instancer, I can only set it to use the high res mesh and then it simulates HORRIBLY slow.

anyone have any ideas on something else I can try?


Think i may have found a solution…

Sim using the proxies, convert to instanced mesh (or even start MASH as instancer)
then bake instancer to to objects (using MASH -> utilities -> Bake instancer to objects) using “this frame only”
do a little bit of organizing (putting the objects of the same name in their own groups for easy selection)

then selecting the objects in each group and then the Hi-res mesh
then going modify -> Replace objects


Just FYI, the reason why particle instancing was going faster than you expected is because it wasn’t actually calculating collisions based on the mesh you were instancing, only the particles themselves. You could have controlled the size of the berries by having the particle radius control the instancer size in the instance tab of the particle shape node.