Jump to content

Ambient Occlusion zur Qualitätssteigerung


Recommended Posts

Hallo zusammen

nachdem kurz die Funktion "Ambient Occlusion" angeschnitten wurde möchte ich kurz den Unterschied zeigen an einem einfachen beispiel und der (noch nicht fertigen) V65:

Links ohne, rechts mit AO

for.thumb.jpg.0604e34c72566cdb20b0dee74aa60dd1.jpg

Links mit, rechts ohne AO
for1.thumb.jpg.531455b6a9b0aab971243fd3367c961d.jpg

Wenn gewollt kann ich mal ein kleines "Tutorial" für Blender machen. (Bin mir aber selbst nicht sicher ob der Weg den ich hier gehe auch der Richtige oder Effizienteste ist)

lg max

Link to post
Share on other sites
vor 49 Minuten schrieb maxwei:

Wenn gewollt kann ich mal ein kleines "Tutorial" für Blender machen

Hallo max,

bitte gerne.

vor 50 Minuten schrieb maxwei:

(Bin mir aber selbst nicht sicher ob der Weg den ich hier gehe auch der Richtige oder Effizienteste ist)

das ist egal, Hauptsache, ich bekomme einen Denkanstoß.

Schöne Grüße
SputniKK

Link to post
Share on other sites

Hallo Brummi

vor 19 Minuten schrieb Roter Brummer:

Aber wie bekomme ich das jetzt ins MBS?

Direkt über Blender bringe ich es auch nicht hin wenngleich der Exporter es kann, ab das MBS eben nicht, von daher bin ich den Umweg über die Textur gegangen und zwar so:

1. erstelle eine AO Map, keine Ahnung wie das in Sketchup geht, wenn diese erstellt wurde kannst du in jedem Grafikprogramm (kann das hier nicht erklären, jeder verwendet da was anderes, ich zB. arbeite mit COREL), über deine vorhandene Textur das AO drüberlegen mit einer "multiply" Verbindung, damit wird deiner Textur die Farbänderungen des AO übergeben, Reload der Textur und dann passt das.

lg max

Link to post
Share on other sites

Hallo @Roter Brummer,

vor 22 Minuten schrieb Roter Brummer:

Aber wie bekomme ich das jetzt ins MBS?

Das mit dem AO wird bei SketchUp nicht anders sein, als in Blender:

wie ich hier geantwortet habe

Um das AO im MBS sichtbar zu machen, musst du es auf die Texturdatei übertragen. In Blender gibt es dafür eine extra "Backen"-Funktion, um eine Bilddatei aus allen Texturbestandteilen zu machen. Aber um das optisch verwerten zu können, müsste diese "neue" Texturdatei sehr groß werden.

Da ist eher die Frage, ob @Neo im 3D-MBS eine AO-Funktion einbauen kann, ähnlich wie die Schattenfunktion.

Gruß
Reinhard

Link to post
Share on other sites

Hallo Reinhard

vor 2 Minuten schrieb Reinhard:

Aber um das optisch verwerten zu können, müsste diese "neue" Texturdatei sehr groß werden.

Das ist nicht mal unbedingt notwendig, dass man gar nicht das ganze Modell dafür verwenden muss, ich habs jetzt so versucht bei meiner  Lok indem ich nur der Karosserie das AO spendiert habe da diese Seiten aufgrund der Variationen in der Textur maßstäblich 1:1 abgebildet werden und da bietet sich dann das AO eben an ohne Vergrößerung der Textur, aber wie ich schrieb ich bin mir selbst nicht ganz sicher ob das der richtige Weg ist, aber es funktioniert..

lg max

Link to post
Share on other sites

Hallo,

ich habe die aktuellen Beiträge zum Thema Ambient Occlusion (AO) in einem Thema zusammengefasst, da ich es für sehr sinnvoll erachte, diesem Thema mehr Aufmerksamkeit zu widmen.

Grundsätzliches: Es gibt die Möglickeit der Echtzeitberechnung von AO im Studio. Ich habe damit schon in der Vergangenheit ein wenig experimentiert, aber wie das mit Echtzeit-Features so ist, werden hier einige Kompromisse gemacht, damit es einigermaßen schnell berechnet werden kann. Von den Ergebnissen war ich nicht sehr überzeugt, speziell nicht wenn man sie direkt mit einem Renderprogramm wie Blender vergleicht. Zudem geht die Echtzeitberechnung auch wieder auf Kosten der Performance, und die vorgebackene AO bekommt man praktisch for free.

Aus diesem Grund sehe ich aktuell den Fokus auch eher bei den AO-Maps, also dem Vorberechnen der AO und dem Speichern in einer Textur. Dass das Studio die in der glTF-Datei gespeicherten Maps nicht unterstützt ist nur eine Frage von Tagen, diese Funktion würde ich mit sehr hoher Prioität noch in V7 einbauen, da sie einen großen Einfluss auf zukünftige Modelle hat, wenn ihr Modellbauer entsprechend Interesse daran habt. Ich selber würde es sehr begrüße, wenn bei allen zukünftigen Modellen, bei denen es Sinn macht, mit AO gearbeitet wird und wir hier ein Tutorial für Blender und gern auch für Sketchup aufstellen.

Es gibt zwei Möglichkeiten, AO ins Studio zu bringen:

  1. Die AO-Werte werden mit der Farb-Multitextur vermischt, so wie es @maxwei oben demonstriert hat. Das hat den Vorteil, dass es sofort ohne eine Studioänderung funktioniert, allerdings den Nachteil, dass es lichttechnisch nicht 100% korrekt ist und auch nur dann funktioniert, wenn Bereiche der Multitextur nicht mehrfach für verschiedene Modellbereiche genutzt werden.
  2. Die AO-Werte werden in einer eigenen Graustufen-Textur gespeichert und nutzen ein zweites Set von Texturkoordinaten, um die Farb-Multitextur nicht zu beeinflussen. Das entspricht dem Workflow in Blender und glTF. Da es sich um eine 8-Bit-Graustufen-Textur handelt, kann diese (intern vom Studio) zusammen mit der Metallic/Roughness-Textur kombiniert werden, wodurch im Endeffekt keine zusätzliche Textur auf der Grafikkarte nötig ist. Das AO-Feature hat somit keinen nennenswerten Einfluss auf die Performance.

Blender unterstützt aktuell leider nicht direkt den Export einer vorgebackenen AO-Textur nach glTF. Es muss dort mit speziellen Setting-Nodes gearbeitet werden. Das können wir uns vermutlich sparen, denn das Studio kann hier wie bei den Metallic/Roughness-Texturen auch wieder mit einer Dateinamenserweiterung arbeiten, um AO-Texturen einzulesen. Das hätte den Vorteil, dass die AO-Maps auch mit den alten X-Dateien (und somit mit Sketchup) verwendet werden können.

Viele Grüße,

Neo

Link to post
Share on other sites
vor 11 Minuten schrieb Neo:

Das können wir uns vermutlich sparen, denn das Studio kann hier wie bei den Metallic/Roughness-Texturen auch wieder mit einer Dateinamenserweiterung arbeiten, um AO-Texturen einzulesen. Das hätte den Vorteil, dass die AO-Maps auch mit den alten X-Dateien (und somit mit Sketchup) verwendet werden können.

Das wäre natürlich super.

Link to post
Share on other sites

Hallo zusammen,
ich versuche zu erklären wie man so eine Map bastelt und verwendet

--------------------------
Das AO ist ...ZITAT WIKIPEDIA:

Umgebungsverdeckung (englisch Ambient Occlusion, AO) ist eine Shading-Methode, die in der 3D-Computergrafik verwendet wird, um mit relativ kurzer Renderzeit eine realistische Verschattung von Szenen zu erreichen. Das Ergebnis ist zwar nicht physikalisch korrekt, reicht jedoch in seinem Realismus oft aus, um auf rechenintensive globale Beleuchtung verzichten zu können.
---------------------------


Um das zu erreichen brauchen wir als erstes die sogenannte AO Map, eine bestimmte gleich strukturierte Textur wie eben auch Metallic, Roughness, Emissive,....
Diese muss auch erst erstellt werden und wie das gemacht wird zeige ich an Hand von Blender:

Um eine sinnvolle Map zu machen sollte die dementsprechende Struktur eines Objektes maßstäblich bereits einer Textur zugewiesen sein (1 Pixel Textur, nur Farbe oder Kleinsttexturen funktionieren nicht). Wie bei meinen Loks sind die grossen Flächen wie Seiten-Front-Top-Wände maßstäblich relativ groß als UV Map abgebildet und zwar aus dem Grund um viele Variationen mit unterschiedlicher Farb/Grafik-Zuweisung überhaupt zu ermöglichen.
Von daher würde ich auch dabei bleiben und nur bestimmte Bereiche eine AO Map zukommen zu lassen, da bei vielen Klein-Objekten es keinen Sinn ergibt, man das gar nicht sieht , aber enorm viel Platz auf der Textur benötigen würde.

for.thumb.jpg.a53c067a4b62e7979f06d8d65b1b8b55.jpg

AO kommt nur auf das Plane, aber nicht auf die kleinen Würfel, da nicht notwendig, siehe UV Map. Jetzt machen wir mal als erstes diese AO-Textur, vorausgesetzt das UV Mapping wurde auf der Haupttextur für diese bestimmten Objekte bereits erstellt. Wir kreieren in Blender ein neues Image mit derselben Auflösung wie die Haupttextur.

for1.jpg.67fba0d23a28be49be3d1479a9727e69.jpgfor2.jpg.355af0e5f8d58d14e33cdf84a224e88e.jpg

Das sieht dann so aus:

for2_1.thumb.jpg.5afcdef443388085c4d99613223fcfe6.jpg

Bei selektierter Plane sollte das jetzt so ausschauen. Jetzt bauen wir die AO Map indem wir rechts erst auf die Render-Properties klicken und ganz wichtig: auf den "Cycles Renderer" umschalten.

for3.thumb.jpg.c738c9287dcfa07ec3ed05fa6edd6a69.jpgfor4.jpg.1c04bf4d30d7852a84b6b23e3684d6ee.jpg

Jetzt baken wir die AO Map (als ambient occlusion), das dauert ein paar Sekunden und sieht dann so aus

for5.jpg.5d6a6b1b6ba9b94b7afe9c2a77201f07.jpg

Das Image wird abgespeichert und in einem Grafik/Paintprogramm mit der Haupttextur zusammengeführt per "multiply".

for6.jpg.f8b0288db403faf1cb293a01489d696e.jpg

for7.thumb.jpg.80780170253ad458a96249a99dd2e3f1.jpgfor8.jpg.318694f9ceb5d9beca9abcc4530c4fa2.jpg

Ergebnis:for9.jpg.5d8ea8a5b2cf81bc12c2e5a3535d92d2.jpg

 

Abspeichern, Textur in Blender neu einlesen und ins MBS exportieren: fertig.
for10.jpg.ad310145a9a9a628aa28a851edf5a884.jpg

lg max

Link to post
Share on other sites

Guten Abend,

der Grund, warum ich so dafür wäre, dass AO ein Bestandteil vom 3D-MBS werden würde (wie inzwischen der Schatten, was wir uns früher auch nicht träumen lassen würden) ist der, dass ich "meine" Art der Texturierung von Modellen komplett umstellen (umbauen) müsste. @maxwei ist hier im Vorteil, weil er schon lange bei der Textur auf eine 1:1-Umsetzung baut. Da ließe sich AO wahrscheinlich "einfacher" einbauen. Ich setze (leider) immer noch auf die möglichst klein gehaltene Texturdatei, deshalb gibt es bei mir (außer bei speziellen Textfeldern) kaum eine 1:1 Textur, sondern eher Farbfelder, denen ich die UV-Maps zuordne. Damit könnte ich natürlich keine AO-Textur "zusammenschrauben".

Aber auch das würde ich in Angriff nehmen, wenn ich nicht davon überzeugt wäre, dass AO weniger ein Textur-Problem ist, sondern eher ein Programm-Thema. Wie einst der Schatten.

In freudiger Erwartung...

Gruß
einhard

Link to post
Share on other sites

Nochmal als Ergänzung:

für die "einfache" Dampflok der Holzeisenbahn - mit AO - wäre eine Datei von 2048x2048 nötig gewesen

HEB_V02_DL_AO_Tx.thumb.jpg.389a7d5f94b18ef02f68b8582f7b258d.jpg

um ein optisch brauchbares Ergebnis zu erzielen. Für die "kleine" Holzeisenbahn-Dampflok eine viel zu große Datei.

Ohne AO war diese Dampflok dann mit einer 512x512 zufrieden.

Was ich damit sagen will: Das AO auf die Texturdatei zu übertragen, verlangt für ein halbwegs optisch brauchbares Ergebnis eine Texturdatei, welche in ihrer Größe dem Ergebnis nicht entspricht. Die Texturdatei müsste viel zu groß sein.

Deshalb würde ich mich freuen, wenn es eines Tages eine AO-Option im 3D-MBS gibt, eine Option wie der Schatten, unabhängig von jeder Texturdatei.

Gruß
Reinhard

Link to post
Share on other sites

Hallo Reinhard,

du wirst für AO deine Multitextur nicht anpassen müssen, da das Studio ein zweites UV-Set unterstützen wird. Beide Texturen können auch unterschiedliche Größen haben.

Viele Grüße, 

Neo

Link to post
Share on other sites

Hallo Reinhard,

ich pflichte dir bei. Ich kann mir nicht vorstellen, dass eine um das 16fache vergrößerte Texturdatei keinen Einfluss auf die Performance hat. Vielleicht liege ich aber auch hier falsch. Ich finde auch, dass der Zusammenhang zwischen Modellgröße und Texturabmessungen für uns Modellbauer noch nicht ausreichend dokumentiert ist. Da wünsche ich mir noch mehr Aufklärung, damit wir optimale Ergebnisse bereitstellen können.

vor 13 Minuten schrieb Reinhard:

Deshalb würde ich mich freuen, wenn es eines Tages eine AO-Option im 3D-MBS gibt, eine Option wie der Schatten, unabhängig von jeder Texturdatei.

Auch hier volle Zustimmung. Ein optisch insgesamt dem Auge des Betrachters wohltuendes Ergebnis wäre meiner geringen Meinung nach nur zu erreichen, wenn auch "Altmodelle", die aus unterschiedlichen Gründen nicht mehr nachgepflegt werden können, sich nicht unangenehm von solchen Modellen unterscheiden, bei denen diese Option angewendet werden kann.

Es wird ja immer wieder ein spezielles "Konkurrenzprodukt" genannt, bei dem diese Unterschiede offensichtlich nicht extrem auffallen. Ich bin natürlich meilenweit davon entfernt, zu sagen, warum das so ist, behaupte aber, dass das Modellbahnstudio in vielen Dingen diesem sogenannten "Konkurrenzprodukt" um etliche Längen voraus ist und hier noch weiter punkten könnte.

Beste und in die Zukunft schauende Grüße
Brummi

Link to post
Share on other sites

Hallo zusammen,

als Sketchup-Modellbauer stehe ich bei diesem Thema immer noch ziemlich auf dem Schlauch und verstehe momentan nur "Bahnhof".

Meine Texturen stellen eine Mischform der von Max und Reinhard beschriebenen Textur-Verwendungen dar, indem ich sowohl großflächige 1:1-Texturbereiche als auch Paletten benutze. Ob meine Texturen nun tatsächlich "AO"-tauglich sind, kann ich bei meinem aktuellen Verständnis-Grad nicht beurteilen.

Ich wäre jetzt nach meinen ersten Überlegungen nach Brummi's Methode bei seinen Hintergrundkulissen vorgegangen. Aber hinter "Ambient Occlusion" scheint doch etwas mehr zu stecken.

Da ich als Sketchup-Anwender mit Max' Beschreibung für Blender überhaupt nichts anfangen kann, hoffe ich für den Fall, dass eine vollautomatische Unterstützung durch das Modellbahn-Studio, ohne dass der Modellbauer sein Modell entsprechend präparieren muss, nicht angeboten erden kann, ich mit der angedachten Zusatztextur entsprechend der Metallic- oder Roughness-Textur besser zurande kommen werde.

Viele Grüße
BahnLand

Edited by BahnLand
Link to post
Share on other sites

Hallo,

ok es scheint hier geteilte Meinungen zu geben. Lasst uns folgendermaßen vorgehen, ich werde meine alten Experimente mit Echtzeit-AO im Studio reaktivieren und einen Test ermöglichen. Dann können wir schauen, ob die Qualität genügt und die Performance nicht zu stark in den Keller geht. Ich sehe natürlich auch die Vorteile, wenn AO zentral für alle Modelle zur Verfügung steht und zugleich dynamische Szenen berücksichtigen kann.

Viele Grüße,

Neo

Link to post
Share on other sites

Hallo

Um nochmal auf AO zurückzukommen bin ich jetzt auf einen Nachteil gestoßen wenn die Vorgehensweise so bleibt und nicht dynamisch im MBS berechnet wird, und zwar:

Beim "baken" einer AO Map haben wir eine Momentaufnahme eines Modells welche einen äußerst negative Auswirkung hat ausgehend von bewegten Teilen wie zB. Speichenräder. Von daher ist die derzeitige Vorgehensweise meinerseits, alle Teile die keinen Einfluss haben sollen zu löschen (nicht ausblenden, das funktioniert nicht) und damit nur bestimmte Teile mit einer AO Map zu überziehen was man sich eventuell sparen könnte bei einer Anpassung des MBS.

lg max

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...