simpleGas - ein Gas-/Rauch-/Blubb Solver für FabricEngine
Seit einiger Zeit experimentiere ich gerne mit FabricEngine. Mit Fabric lassen sich Tools für DCCs entwickeln (3d-Editoren bzw. VFX-Systeme). Fabric kann z.B. in Maya, Unreal Engine und anderen Systemen eingesetzt werden, sodass ein Tool nur einmal geschrieben werden muss und dann unter verschiedenen Umgebungen zur Verfügung steht.
Da man in Fabric (im sogenannten "Stand Alone Canvas") die Ergebnisse der Experimente (z.B. des Codes, den man verzapft) direkt im Viewport sehen kann, eignet sich Fabric hervorragend fürs Erlernen und Begreifen sogenannter "höchst unverständlicher Mathematik". Ich habe in der Schule halbwegs erfolgreich mein völliges Unverständnis für semi-komplexe Mathematik hinter einem Mathe-Leistungskurs versteckt ... mit Fabric taste ich mich langsam zumindest an geometrische Zusammenhänge heran.
Eines meiner Lernprojekte ist ein "Flüssigkeits-Solver" (fluid solver), der sich an Code-Fragmenten und Ideen von Jos Stam orientiert. Jos Stams Philosophie bei seinen Solvern ist, dass man die physische "Korrektheit" im Zusammenhang mit VFX (visuellen Effekten) auch mal ignorieren kann, solange es wenigstens geil aussieht. Dem möchte ich nichts hinzufügen.
Der "Gas-Solver" (für glaubwürdige Flüssigkeiten fehlt noch ein bisschen), den ich geschrieben habe, ist tatsächlich mathematisch nahezu trivial. Es sind die Simulationsebenen, die das ganze gut aussehen lassen und den Code unbegreiflich machen :-) .
simpleGas enthält ein paar Hilfs-Nodes, die das Erzeugen von Dichte-Zellen ("Densities") erleichtern, z.B. einen Xfo-Node, der aus einem Voxelize-Schritt beliebige Geometrie in ein Dichtefeld übersetzt - oder einen Node, der aus Graustufenbildern Dichtefelder erzeugt. Für Ausgaben stehen Vec3 (z.B. für Punktwolken), Xfo (für polygonMesh-Clones) und CSV-Ausgaben (für Partikel-Renderer) zur Verfügung.
Download Das ab und zu aktualisierte Archiv kann hier heruntergeladen werden: Speichern als ZIP. Das Archiv enthält einen normalen FabricEngine-Extensions Ordner, der einfach in das (eigene) Extensions-Verzeichnis kopiert werden muss.
Nutzungskonditionen aka Lizenz
Sie können simpleGas in privaten und kommerziellen Projekten verwenden. Wenn Sie Geld mit der Verwendung meiner Arbeit verdienen, erwägen Sie bitte ein Bakschisch, um mich zur weiteren Entwicklung zu ermutigen. Wenn Sie eine Rechnung wünschen, kann ich Ihnen eine solche selbstverständlich zukommen lassen, ich benötige dafür aber Ihre Rechnungsadresse. Ansonsten freue ich mich aber über jede Art von Rückmeldung - auch "mit ohne" Bakschisch.
Allerdings bitte ich Sie darum, den Code und das Archiv nicht selbst weiter zu verteilen. Der Grund hierfür ist nicht, dass ich nicht berühmt werden möchte, sondern ganz einfach, dass ich die Entwicklung, Bug-Fixes und Verbesserungen zentral hier an dieser Stelle verwalten können möchte.
Wenn Sie Teile oder das gesamte System gerne weiter verteilen möchten, kontaktieren Sie mich doch bitte einfach.
Hier sind die ersten Einführungsvideos, mehr kommen wahrscheinlich später nach (derzeit nur auf Englisch verfügbar):
Wenn Sie mir eine finanzielle Ermunterung zukommen lassen möchten, können Sie hierfür Paypal verwenden. Ich stelle Ihnen auch, auf Wunsch, gerne eine Rechnung aus (s.o.). Ich werde die Gesamtmenge an "Trinkgeldern" veröffentlichen, daher können Sie angeben, ob Sie gezielt die Fabric- (also sozusagen die Kern-)Entwicklung, die modo-Entwicklung (z.B. für ein komplettes KIT) oder einfach nur mich unterstützen möchten.
(Klicken Sie auf den Bezahl-Knopf, nachdem Sie die Art der Unterstützung gewählt haben - auf der Paypal-Seite können Sie dann den eigentlichen Betrag für die Zuwendung eingeben!)