Autor: |
Beitrag: |
donkritzel
Status:Admin
Dabei seit: 26.10.2015 Beiträge:308
Beitrag vom:07.04.2017-13:54
|
Renderfehler mit Glas in geschichteter Textur sowie mit weichen Schatten |
|
|
Mir stand der Sinn danach eine Straßenbeleuchtung zu entwerfen.
Rotationskörper, Extrudieren eines Polygons entlang einer (Advanced-)Kurve, sowie PME und sein Tentakelwerkzeug waren dazu beste Helferlein.
Die Texturen für sandgeformtes Gußeisen und Glas entnahm ich aus der AoI eigenen Bibliothek, modifizierte sie farblich etwas und packte sie in eine geschichtete Textur mit Punkt-Flächebindung.
Ein erstes Render offenbarte gleich mehrere Schwächen, die in den kleinen Inserts der angehängten Grafik erkennbar sind.
Um sie zu umgehen waren mehrere Korrekturen an Meshaufbau, Texturierung und Rendereinstellungen nötig.
Dazu im nächsten Posting.
|
|
|
donkritzel
Status:Admin
Dabei seit: 26.10.2015 Beiträge:308
Beitrag vom:07.04.2017-14:07
|
|
|
|
Zunächst schien der Renderverlauf normal, wenn auch anhaltend reichlich grobkörnig. Naja, der angehakte Filter 'weiche Schatten' unter Antialiasing würde schon abhelfen. Ja, das tat er, aber wie! Mit der Feststellung das Rendern sei abgeschlossen, wurde alles vorher an Gestalt errechnete mehr oder minder weiß. Das zeigt das Insert links unten im oberen Anhang.
Als ich schließlich aus allen anderen Einstellungen isoliert hatte, dass genau das Häckchen bei 'weiche Schatten' dieses Geschehen verursacht, konnte ich im Weiteren erkennen, dass die geschichtete Textur offenbar mit der Transparenz des Glases zu kämpfen hat: Diese schlägt in Bereichen durch, in denen sie eigentlich nicht mehr aktiv sein dürfte, weil ihr Layer auf 0.0 gestellt ist. Das aber weit weniger, solang die Transparenz im unteren Layer liegt, anstatt im oberen. Dreht man das Punktlicht im Laterneninneren aber weiter auf, zeigt sich, dass selbst dann jede Meshfläche teils die eine teils die andere Textur abbildet.
Das Insert im oberen Bildanhang rechts oben zeigt den bereits teilkorrigierten Zustand:
Denn die Glastextur der Laternenscheiben reichte ursprünglich über mehrere Meshfelder, die sich jeweils zu ihren Rändern hin abschatteten, so dass das Mesh im Render erahnbar blieb. Vermutlich waren minimale Unebenheiten der Flächen zueinander dafür verantwortlich, denn nachdem ich die Glasflächen zu je einer durchgängigen Einheit verschmolzen hatte, blieb immer noch der schwach im Bild erkennbare 'Stern' übrig, und zwar selbst nach dem Herausnehmen der Glättung aus den Begrenzungskanten. Der dürfte sicher noch verschwinden, wenn die Kanten in sich durchgängig verschmolzen würden.
Um sowohl die Transparenz an unerwünschten Stellen, als auch wirklich glatte Glasscheiben zu erhalten, blieb mir statt dessen nichts übrig, als die ursprünglich für das Glas vorgesehenen Flächen zu löschen und einen eigenständigen Glaskörper einzupassen. Sicherheitshalber setzte ich auch innen noch einen Boden und einen Deckel ein, damit die Laterne gegen den Nachthimmel auch wirklich leuchtend eingestellt werden konnte.
Zum eigenen Ausprobieren und Nachvollziehen habe ich eine Testdatei des Laternenkörpers hier angehängt.
Edit: Da ich dieses Verhalten bei allen AoI Versionen > 3.0 (auch mit anderen Projekten feststellen konnte, würde mich interessieren, ob jemand von Euch diese Beobachtungen überhaupt reproduzieren kann oder sogar eine bessere Lösung für diese Schwierigkeiten parat hat? Danke ...
|
|
|
kbe_
Status:Admin
Dabei seit: 26.10.2015 Beiträge:236
Beitrag vom:08.04.2017-15:02
|
|
|
|
So richtig schön ist die Laterne noch nicht - vor allem die aus der angehängten .aoi.
Die Glasscheiben als eigenes Objekt zu modellieren, halte ich für normal.
Eigenartig ist, das an den Innenkanten des Lampenkörpers Lichtpunkte durch blinzeln.
Im Moment bin ich nicht ganz aktionsfähig, um daran etwas rumzuprobieren.
Kommt aber noch.
|
|
|
donkritzel
Status:Admin
Dabei seit: 26.10.2015 Beiträge:308
Beitrag vom:08.04.2017-16:37
|
|
|
|
Danke, kbe, es eilt nicht so damit. Zunächst funktioniert mein 'Workaround' ja.
Bin außerdem gespannt, ob auch auf Sourceforge eine Reaktion auf meine Bitte um Hilfe erfolgt, und wenn ja, welche. Für mich sehen nämlich die unschönen Ergebnisse beide danach aus, als ob sie durch mindestens je ein mit der Transparenz in Verbindung stehendes 'Käferchen' verursacht sind ...
|
|
|
kbe_
Status:Admin
Dabei seit: 26.10.2015 Beiträge:236
Beitrag vom:09.04.2017-06:13
|
|
|
|
Die Sache ist nicht so einfach, wie auch Pete in Sourceforge feststellt.
Seine Lösung ist natürlich genial.
Wie soll ein einfacher Denker solche Lösungen finden?
|
|
|
donkritzel
Status:Admin
Dabei seit: 26.10.2015 Beiträge:308
Beitrag vom:09.04.2017-06:32
|
|
|
|
Ja, da hast Du irgendwie Recht, kbe,
einmal mehr ist mit Petes lehrreicher, wunderbarer und wirklich dankenswerter Hilfe bewiesen, dass der fetteste 'Bug' zumeist vor dem Bildschirm sitzt
Daher gestatte ich mir, zur Orientierung Interessierter in meinem nächsten Posting nicht nur seine übersetzten Erläuterungen zu meinen oben ja schon verfügbar gemachten Stümpereien einzufügen, sondern hiermit bereits seine korrigierte Datei in Anhang zu bringen.
|
|
|
donkritzel
Status:Admin
Dabei seit: 26.10.2015 Beiträge:308
Beitrag vom:09.04.2017-07:37
|
|
|
|
Frage dk:
Gibt es eine Möglichkeit das wie erwünscht zu rendern, ohne mein 'Workaround' getrennt texturierter Meshes?
Antwort Peteihis:
Oh ja.
Dein größtes Problem war das Light 2 in der Laterne. Intensität 90 und Radius 200 (!!!). Damit hatte das Licht 400 Einheiten im Durchmesser, wobei deine Laterne eine horizontale Bemassung von weniger als 0.5 Einheiten hat! Versuche es zunächst mit Einstellungen von Minderungs- (Abfall-) Rate 0.05 und Radius 0.1. Der Radius sollte kleiner als der Radius der Lampenkugel sein.
Zur Erläuterung:
Der Radius [des Lichtdialoges] bezieht sich auf die Größe der Lichtquelle -- nicht auf die Distanz, welche beleuchtet werden soll.
Wenn Licht mit einer Intensität über 1.0 die Kamera erreicht, läßt das stets das Bild 'ausbrennen' [fachsprachlich für: zu farbinformationsarmen, weißen Bereichen werden] (ausgenommen bei HDR-Bildern, die nachträglich in gewissen Grenzen angepasst werden können).
Im Weiteren würde ich für die Texturierung empfehlen das Mapping der unteren Schicht (die Glastextur) auf 'Objekt', die obere Schicht (Gusseisen) auf 'Fläche' und den Mischmodus auf 'Mischen' einzustellen. Auf diese Weise braucht man nur die obere Schicht bei den Eisenteilen auf 1.0 und den Glasteilen auf 0.0 zu stellen. -
Aus irgendwelchen Gründen neigt das Light 2 dazu durchzuscheinen, wenn man die Intensität sehr hoch einstellt. Warum das geschieht, weiß ich nicht sicher.
Hier sind ein paar Bilder und Deine Szene, mit ein paar Änderungen bei Lichtern, Texturen und Szeneneinrichtung. -- Nur als ein Beispiel. Das Arbeiten mit Lichtern und Texturen ist nicht leicht, wenn man eine Nachtszenerie bauen und dennoch sehen möchte, was geschieht.
Nochmals danke, Pete! Und hier noch eines Deiner Bilder
|
|
|