Wie simuliert man kostengünstig Wasser auf iOS?

9

Zuerst denke ich nicht an das .

Ich habe mich gefragt, wie man eine einfache Simulation eines Wasserfalls auf einige Dünen auf dem iPhone macht.

Es stellt sich heraus, dass mehrere Leute das Problem von Wasser bewegen angegangen sind, und GameDev hat sich an die Website gewandt Idee mehrere < a href="http://www.gamedev.net/page/resources/_/reference/programming/special-effects/water/realistic-natural-effect-rendering-water-i-r2138"> Zeiten . All diese Lösungen scheinen jedoch rechenintensiv zu sein (und es ist sinnvoll, wenn Wasser eine Flüssigkeit ist und die Strömungsmechanik kompliziert ist). Ich bin an einer Verknüpfung interessiert, da es nicht wirklich wichtig ist, dass die Simulation genau ist, sondern nur, dass sie genau erscheint.

Jemand fragte nach einer Simulation mit (Navier-) Stokes auf DirectX mit 1500 Partikeln. Er sagt, sein Ergebnis ist jaggy. Natürlich wäre es auf dem iPhone eine OpenGL ES Implementierung von so etwas.

Eine andere gute Seele versuchte mit Chipmunks Physik-Engine , aber es klingt für mich wie die Verwendung eines Kampfwagens , um eine Mücke zu töten, und es bringt immer noch das Problem vieler Partikel mit sich. Ich frage mich nun, ob es vernünftig wäre, eine Technik zu verwenden, die der Druckmanagementtechnik ähnlich ist wie die Technik , um einen Makrozustand der Flüssigkeit zu verwalten und die Kanten mit Partikeln zu verwalten, um die Gesamtberechnungen zu minimieren.

Wenn Sie gute Ideen haben, schlagen Sie bitte Dinge zum Testen vor.

Bearbeiten 08/06/2015: Ich fand in den Thimbleweed Park Blog dieses großartige Beispiel einer sehr alten Technik in HTML5 von Joseph Huckaby. Es ist nur umständlich relevant, weil es um das Aussehen geht und überhaupt nicht um die Physik, aber warum nicht grob die Flüssigkeit simulieren und die "flüssigen Zonen" mit einem Paletten-Zyklus-Effekt überlagern? Natürlich, da die Technik viel mehr auf Kunstelemente angewiesen ist, bewegt sie die Schwierigkeit im Bereich der Künstler. Der Rendering-Code ist jedoch beim Mischen etwas intensiv.

    
Kheldar 28.08.2011, 10:56
quelle

2 Antworten

2

Sie könnten einige Kilometer mit einer statischen Bitmap mit Farben erzielen, die aus einem Farbverlauf ausgewählt wurden;

Dann können Sie die Palette verschieben (rotieren) und den visuellen Effekt des Fließens nutzen, anstatt Dinge zu animieren.

Natürlich wird die Kontur / Kontur des Wassers auf diese Weise statisch sein. Sie können diese Ideen mit einer begrenzten Anzahl von 'statischen' Konturanimationsrahmen kombinieren.

    
sehe 28.08.2011 11:25
quelle
1

Wenn Ihr Hauptanliegen Leistung ist und Sie auf Benutzerinteraktion verzichten können, wäre es vielleicht ein besserer Ansatz, eine der rechenintensiveren Lösungen auf dem Desktop zu entwickeln, sie in ein Video oder eine Reihe von Texturen vorzuproduzieren und zu verwenden es auf dem mobilen Gerät, ohne es tatsächlich dort zu generieren.

Ich weiß, dass die Lösung sehr restriktiv ist, ich wollte sie nur als Variante im schlimmsten Fall vorschlagen, dass niemand besser Ratschläge gibt.

    
luvieere 28.08.2011 11:20
quelle

Tags und Links