Hallo zusammen,
Zur Zeit habe ich mir in den Kopf gesetzt, ein mit Wasser gefülltes Becken zu modellieren, das auch noch einigermaßen realistisch aussieht. Dabei möchte ich für das Becken eigentlich eine der detaillierten, kachelbaren Beton-Texturen aus dem Spiel verwenden. Jetzt ist nasser Beton deutlich dunkler als trockener, und die Absorption von Wasser kann man, meines Wissens (s. u.), auch nicht im Volumen modellieren. Statt dessen bleibt nur, die Tiefe durch eine graduell sich verändernde Textur darzustellen. Das ist natürlich nicht kachelbar, braucht aber einen viel geringeren Detaillierungsgrad.
Meine Überlegung dazu war, auf das Mesh zwei verschiedene Texturen (eine davon transparent) zu legen, jede mit einer eigenen UV-Map. Das kann man in Blender 3.1 zunächst so einigermaßen einrichten (ich habe in Blender hauptsächlich Dummy-Texturen, weil ich bisher nicht gesehen habe, daß eine Textur heile durch den ModelEditor kommt), d. h. ich habe zwei UV-Maps und zwei Materialien auf einem Mesh. Beim Import in den ModelEditor stürzt er mir jedoch ab mit der unfreundlichen Meldung im Konsolenfenster:
Converting mesh: round_pool_lod0.msh 0000019B195ED3A0
has element materials: 1
normals...
uv0...
uv0 refMode: eIndexToDirect
uv1...
uv0 refMode: eIndexToDirect
..\..\..\train_fever\src\Lib\model\model_util.cpp:378: void __cdecl model_util::CreateTangentVertexAttr(struct Mesh &,struct MeshGroup &): Assertion `!indPos.empty() && !indUv.empty()' failed.
FbxImportPlugin::~FbxImportPlugin
Unhandled exception!
Alles anzeigen
Erstens kann ich mit der Meldung noch recht wenig anfangen. Zweitens: Hat das schon mal jemand von Euch Erfahrungen mit mehreren UV-Maps und Materialien gesammelt? Ich habe beim Surfen bisher nichts gefunden. Notfalls setze ich halt ein Mesh vor das Mesh, aber das scheint mir Tri-Verschwendung zu sein.
Zum Wasser generell:
Für meinen Geschmack sehen die Wasser-Assets bisher alle ziemlich bescheiden aus, selbst bei Ingo, der schon ziemlich viel Zeit da herein versenkt hat. Auch die Flüsse von UG sind irgendwie nicht so dolle. Was wahrscheinlich fehlt, sind:
- Lichtbrechung
- Absorption in der Tiefe (das hat der Wasser-Shader für die normalen Flüsse immerhin).
- Kaustik (braucht es eigentlich nur bei sehr klarem Wasser und ist eigentlich Folge von Lichtbrechung an Wasserwellen; könnte aber bei voller Simulation der Physik zu aufwendig sein)
Ich kann mir vorstellen, daß es dazu "nur" ein paar Shader braucht. Gibt es eine Chance, die ins Spiel einzuhängen, ohne anderes zu ruinieren? Was außen/innen ist, könnte einem die Normale sagen, aber nur, wenn ich weiß, daß ich in meiner eigenen Mod bin. Ansonsten geht hat Brechung gar nicht, und die Absorption nur über ein paar dürftige Tricks, die ich oben versuche.