Originally Posted By: Rondidon
@Thomas: Veröffentliche das Wasser doch als Contribution. Wenns wirklich so gut aussieht, hätten viele dafür ne Verwendung (ich zum Beispiel tongue )
Nein, DU hättest dafür keine Verwendung. Weil das Wasser, an dem ich gerade arbeite, ist im Durchschnitt ca. 10 bis 30 cm tief. Da würden Deine Schiffe auf Grund laufen. grin
Aber ich werde Dir, wenn es fertig ist, eine Demo schicken, damit Du Dir nach der selben Methode Dein eigenes Wasser machen kannst.

So funktioniert es:
Das Wasser besteht aus verschiedenen Schichten, also aus verschiedenen Polygon-Ebenen, mit jeweils einer halbtransparenten TGA-Textur.
Die unterste Schicht ist jedoch nicht transparent, sondern auf ihr liegt der Spiegel-Shader.

Darüber liegt eine Schicht mit der Boden-Textur vom Grund des Gewässers. Diese Schicht ist teilweise transparent, damit man den Spiegel-Boden hindurchscheinen sieht. Je tiefer das Wasser an einer bestimmten Stelle ist, desto transparenter ist auch die Boden-Textur. Bei sehr tiefen Stellen sieht man den Boden dann gar nicht mehr. Am Ufer ist er jedoch sehr gut sichtbar. Jede Schicht ist übrigens auch 3-dimensional ausmodelliert. Also große Steine am Boden des Gewässers sind auch 3-dimensional hervorgehoben.

Und dann gibt es noch die obsterste Schicht, sozusagen die Wasseroberfläche. In dieser Textur gibt es auch z.B. Steine, die aus dem Wasser herausragen, oder Wasserpflanzen an der Wasseroberfläche. Diese herausragenden Teile der Textur sind gar nicht transparent (sodass man weder Boden noch Spiegelung hindurch sieht). Überall da, wo Wasseroberfläche ist, ist die Textur jedoch teilweise transparent, sodass man sowohl den Boden als auch die Spiegelung hindurch sieht.

Als letzte Schicht wird es dann noch eine animierte Wasserströmungs-Schicht geben - genaugenommen sehr viele kleine endlos animierte Strömungs-"Sprites", die sehr stark transparent sind, sodass man nur ein paar Wellen von der Strömung sieht. Eventuell kommen dann später noch animierte Treibgut-Models hinzu (kleine Äste, oder Algen, oder ähnliches), die den gesamten Bach/Fluss entlang treiben, sodass man nicht das Gefühl hat, dass die Strömung nur eine kurze Endlos-Animation ist, sondern dass da wirklich etwas über mehrere Minuten lang langsam den Fluss hinunter treibt.

Wichtig für diese Wasserschichten-Models ist übrigens, dass der Mittelpunkt des Models sehr tief liegt. Ich erreiche das, indem ich ein einziges Polyon sehr tief nach unten setze. Dadurch kommt es dann zu keinen Clipping-/Sortier-Fehlern zwischen der großen Wasseroberfläche und z.B. halbtransparenten Pflanzen am Ufer. Dadurch dass der Mittelpunkt des Wasser-Models sehr tief liegt, ist er immer weiter entfernt als der von den anderen Models. Das Wasser wird dadurch dann immer im Hintergrund gerendert, und kann niemals z.B. einen Baum am Ufer überlagern.

Originally Posted By: Rondidon
Achja da fällt mir gerade was ein: Wie machst du das eigentlich mit dem Himmel? Ist der bei dir dynamisch? Weil ich mir gerade überlege, sowas in mein Projekt einzubauen.
Momentan ist er bei mir noch nicht dynamisch. Ich verwende einfach eine Himmels-Kuppel (ein Model einer Kuppel, mit nach innen gerichteten Normalen). Die Textur vom Himmel ist dabei horizontal gekachelt, um Texturspeicher zu sparen. Diese Kuppel dreht sich ganz langsam, sodass man bei den Wolken im Hintergrund den Eindruck bekommt, dass sie sich bewegen. Zusätzlich verwende ich noch Wolken-"Sprites" (wenn ich von "Sprites" spreche, dann meine ich eigentlich flache Models aus 2 Polygonen). Diese ziehen dann unter der Himmelskuppel langsam über den Himmel, und werden am Horizont immer transparenter, bis sie verschwinden, und an einer anderen Stelle wieder auftauchen und erneut über den Himmel ziehen. Wenn sich so eine Wolke vor die Sonne schiebt, reduziere ich die Helligkeit von allen Models im Level (ausgenommen Himmel - der bleibt immer gleich hell). Sieht ziemlich cool aus, wenn es plötzlich einen Schatten gibt, weil die Sonne verdeckt ist. Also eigentlich ist mein Himmel momentan halb-dynamisch. Er bewegt sich zwar, aber es gibt momentan noch keinen Übergang von Schönwetter zu Schlechtwetter, oder Sonnenuntergang oder ähnliches.