Ich würde das Pulver als Partikelwolke darstellen. Oder als Volumen.
Dass das so aussieht, wie gewünscht, geht evtl. durch passende Texturen, die dur zur Generierung verwendest. Irgendein Noise um manuell gesetzte Highlights drum herum. Im Prinzip ist das ja näherungsweise eine statistische Verteilung um die haufen drumherum.
Oder aber du machst das doch mittels Simulation. Ich weiß aber nicht, ob Blender inzwischen Feinteilchen-Simulation kann. Zwar verwendet das MPM, was prinzipiell dafür geeignet ist, aber das ist unter der Kategorie Fluid-Simulation, weshalb ich nicht weiß, ob die das intern irgendwie so implementiert haben, dass das für Feinteilchen nicht klappt.
In jedem Fall hast du da aber sowieso das große Problem, das Blender zu blöd zur ordentlichen Speicherverwaltung ist, das versucht, das ganze Grid auf einmal zu instanzieren und das schief geht wenn das zu viel Platz braucht.
Rein prinzipiell sollte das aber mittels MPM machbar sein. Die Grid-Auflösung muss dafür nicht allzu hoch sein. Ich weiß aber nicht, wie die Boundaries da implementiert sind, aber rein prinzipiell sollte das ohne glitchen machbar sein (erfordert dann aber rechnerischen mehraufwand, denn MPM macht die Kollision mit den Boundaries standardmäßig auf Grid-Level). Reduzieren lassen sollte sich das Phänomen aber durch eine höhere Grid-Auflösung. Evtl. kannst du auch selbst etwas basteln, das nach der Simulation die Partikel nachjustiert (die Boundary-Bedingung prüft und z.B. teilchen außerhalb der Boundary unsichtbar macht oder verschiebt).
Ansonsten kannst du auch versuchen, das extern zu Simulieren (MPM-Simulatoren gibt es online diverse. Für exakten Boundary-Check bräuchstes du da NFLIP oder vergleichbare Verfahren (ist bei SnowMPM implementiert, aber eigentlich willst du lieber etwas neueres, denn SnowMPM konnte noch nicht einmal APIC).
Zum Import musst du schauen, wie das geht, je nachdem, wie du die Ergebnisse bekommst. Weiter verarbeiten kannst du die dann intern mittels Geometrynodes.
Für den Notfall kannst du zum Import folgendes verwenden:
https://github.com/Destranix/blender_io_points
Das ist aber recht lahm, da es die Animationen als Keypoints importiert und das im Python-API nicht schnell geht. Dafür ist es aber flexibel.
Für das Exportieren und Importieren von geometrynodes habe ich auch Scripte da, allerdings nicht aufbereitet. Das kann hilfreich sein, falls du dieselben Geometrynodes für viele verschiedene Modelle (e.g. ein Modell pro Frame) anwenden möchtest.