Seite 1 von 5

Zusi bei Nacht

Verfasst: 22.05.2017 08:38:52
von Christian Gründler
Bei meiner Präsentation auf dem Zusi-Treffren war die Nachtdarstellung meiner Objekte leider nicht wirklich zu erkennen. Problem war, dass es nachts natürlich nicht so hell ist wie "bei Tage" und ich möglichst realistische Beleuchtungsverhältnisse zeigen wollte; das hat dann bei der Präsentation der Beamer nicht gepackt. Ich hofffe natürlich, dass die wesentlichen Ideen trotzdem rübergekommen sind, und liefere hier wie versprochen die Screenshots nach:

Ein Stellwerk mit nachts leicht erleuchteten Fenstern:
Bild

Das gleiche Objekt, nachts angestrahlt:
Bild

Äußerlich angestrahlt und innerlich erleuchtet:
Bild

Und schließlich das Beispiel eines nachts beleuchteten Bahnsteigs:
Bild

M.f.G. Christian

Re: Zusi bei Nacht

Verfasst: 22.05.2017 09:47:05
von Alwin Meschede
Hier gibt es die Demonstrations-Dateien zu Christians obigen Beispielen: http://www.echoray.de/devel/zusi3/Nacht ... endler.zip" target="_blank

Re: Zusi bei Nacht

Verfasst: 22.05.2017 10:12:15
von Christian Gründler
Alwin Meschede hat geschrieben:Hier gibt es die Demonstrations-Dateien zu Christians obigen Beispielen: http://www.echoray.de/devel/zusi3/Nacht ... endler.zip" target="_blank
Danke, Alwin :tup !

Noch ein kleiner Hinweis: Die .png-Dateien zeigen meine teilweise transparenten Texturen. Sie werden in Zusi nicht gebraucht und ich hatte sie nur für den Fall vorbereitet, dass man sich die Beispiele auf einem Rechner mit Zusi, aber ohne Gimp (oder einem anderem .dds-fähigen Programm) anschaut. Leider habe ich erfahren, dass der Windows-Standard-Viewer transparentes PNG nicht wirklich korrekt anzeigen kann und daraus irgend eine Farbe macht :§$% .

M.f.G. Christian

Re: Zusi bei Nacht

Verfasst: 30.05.2017 10:31:41
von Carsten Hölscher
Beim Zusitreffen ging es ja noch um die Frage, wie man einen Lichtkebel auf eine Textur bekommt ohne mit mehreren überlagerten Meshsubsets kämpfen zu müssen.
Das Prinzip ist hier erklärt (ca. Seitenmitte):
https://www.gamedev.net/resources/_/tec ... ming-r1028

Wer etwas Muße hat, könnte mal die wirklich passenden Parameter unter Erweitert/Multitexturing für unseren Fall erforschen, dann würde ich ihn als weitere Vorlage einbauen.

Carsten

Re: Zusi bei Nacht

Verfasst: 31.05.2017 00:11:48
von Max Senft
Hi.

Der Beitrag ist ja gerade einmal schlappe 17 Jahre alt. Dort ist die Rede davon, dass die (damals) neueren Grafikkarten 2 oder vielleicht 3 Texturen pro Vertex berücksichtigen können. Wie sieht das heute aus? Oder ist DirectX 9 an der Stelle irgendwie limitiert?

Grüße
Max

Re: Zusi bei Nacht

Verfasst: 31.05.2017 00:41:59
von Carsten Hölscher
Ich meine 8 wäre Standard, Zusi unterstützt derzeit aber 2.

Carsten

Re: Zusi bei Nacht

Verfasst: 31.05.2017 03:07:24
von Max Senft
Hi.

Ja, weiß ich. Das war auch mehr eine generelle Frage, die beim Anschauen des Beitrags aufgekommen ist.

Inwiefern verwaltet Zusi die Texturen denn zusätzlich? Wäre es da, falls Bedarf bestünde, ein großer Aufwand das noch aufzubohren?

Gruß
Max

Re: Zusi bei Nacht

Verfasst: 31.05.2017 08:40:11
von Carsten Hölscher
Wäre halt ne Menge Fleißarbeit.

Carsten

Re: Zusi bei Nacht

Verfasst: 01.06.2017 08:54:37
von Christian Gründler
Ehe ich versuche, die Innereien von DirectX zu begreifen, zunächst eine Frage zum Verständnis: Sehe ich es recht, dass statt der von mir eingebauten Zusatzflächen unter den Laternen das Mesh "Verbundpflaster" mit einer zweiten Textur belegt werden soll?

Diese Textur darf dann in Bahnsteigquerrichtung nicht gekachelt werden, und in Bahnsteiglängsrichtung wiederholt sie sich im Abstand der Laternen. Sie muss also sicherlich eine größere Fläche abdecken als die Tagtextur, die sich im Meter-Raster wiederholt. Ohne programm-generierte UVs dürfte der Einbau nicht zu machen sein.

M.f.G. Christian

Re: Zusi bei Nacht

Verfasst: 01.06.2017 12:42:19
von Carsten Hölscher
Also man baut einen normalen Zusi-Bahnsteig, dann schneidet man an der Stelle des Lichtkegels ein Quadrat aus, packt es in ein eigenes Subset und belegt dieses mit einer 2. Textur, die genau 1x den Lichtkegel darstellt. Dazu dann die passenden Parameter einstellen.

Carsten

Re: Zusi bei Nacht

Verfasst: 01.06.2017 14:06:01
von Christian Gründler
Carsten Hölscher hat geschrieben:Also man baut einen normalen Zusi-Bahnsteig, dann schneidet man an der Stelle des Lichtkegels ein Quadrat aus, packt es in ein eigenes Subset und belegt dieses mit einer 2. Textur, die genau 1x den Lichtkegel darstellt. Dazu dann die passenden Parameter einstellen.
Das bedeutet also, dass man in jedem Fall unter den Laternen ein besonderes Mesh-Subset braucht; einen wesentlichen Vorteil gegenüber meiner Technik sehe ich da zunächst nicht. Allerdings scheitere ich schon daran, aus dem "normalen Zusi-Bahnsteig" ein Quadrat auszuschneiden :( . Wenn mir da jemand auf die Sprünge helfen kann, will ich den geschilderten Weg gerne weiterverfolgen.

M.f.G. Christian

Re: Zusi bei Nacht

Verfasst: 01.06.2017 14:16:24
von Johannes
Christian Gründler hat geschrieben:Das bedeutet also, dass man in jedem Fall unter den Laternen ein besonderes Mesh-Subset braucht; einen wesentlichen Vorteil gegenüber meiner Technik sehe ich da zunächst nicht.
Der Verzicht auf Alphablending koennte einen kleinen Performancevorteile bieten. Man koennte das Ganze auch ohne separates Meshsubset bewerkstelligen, indem man die zweite Textur ueberall verwendet, bei den unbeleuchteten Teilen aber auf einen transparenten Pixel setzt.

Ich hatte so was Aehnliches mal mit den Hektometertafeln ausprobiert. Da ergab die Kombination aus Einsparung eines Meshsubsets und Verzicht auf Alphablending eine Performancesteigerung um den Faktor 3.
Christian Gründler hat geschrieben:Allerdings scheitere ich schon daran, aus dem "normalen Zusi-Bahnsteig" ein Quadrat auszuschneiden :( . Wenn mir da jemand auf die Sprünge helfen kann, will ich den geschilderten Weg gerne weiterverfolgen.
In Blender koenntest du dir mal das Werkzeug "Knife Project" anschauen, eventuell hilft das weiter.

Re: Zusi bei Nacht

Verfasst: 01.06.2017 14:24:19
von Carsten Hölscher
Klar, das geht auch mit einer Doppelbelegung des ganzen Bahnsteigs, dann muss man aber bei den uv-Koordinaten zaubern.
Ausschneiden geht über das Werkzeug mit der Punkteinfügung. Ich würde abe erstmal testen, ob man die passenden Parameter überhaupt zusammenbekommt.

Carsten

Re: Zusi bei Nacht

Verfasst: 02.06.2017 09:37:22
von Christian Gründler
Carsten Hölscher hat geschrieben:Ich würde abe erstmal testen, ob man die passenden Parameter überhaupt zusammenbekommt.
Das beste Ergebnis bekomme ich mit folgenden Einstellungen:

Bild

Bild

Und so sieht es aus:

Bild

Dazu einige Bemerkungen:

1) Tag-/Nachtfarben wie für den Bahnsteig außerhalb der Lichtkegel,

2) D3DTSS_COLOROP = D3DTOP_ADD

Beides muss so sein, damit sich am Rand des Rechtecks die gleiche Helligkeit wie für den Bahnsteig außerhalb ergibt. Insbesondere kann man kann nicht ..._MODULATE verwenden, weil damit das Ergebnis aus dem ersten Schritt abgedunkelt wird, und ich sehe keine Möglichkeit, das dann an den Rest des Bahnsteigs in der Helligkeit anzupassen.

3) Suboptimal ist natürlich, dass die Helligkeit der erleuchteten Fläche nicht absolut einstellbar ist, sondern immer zur normalen Helligkeit des Bahnsteigs addiert wird. Wenn man die zweite Textur "tagsüber ausschaltend" macht, fällt der Schmu nicht so auf.

Re: Zusi bei Nacht

Verfasst: 02.06.2017 09:39:57
von Carsten Hölscher
ok, wichtig ist dann der Test mit einer Standardtextur daneben und einmal hell-dunkel durchfahren, ob es alles plasuibel aussieht.

Carsten

Re: Zusi bei Nacht

Verfasst: 02.06.2017 10:34:34
von Christian Gründler
Carsten Hölscher hat geschrieben:ok, wichtig ist dann der Test mit einer Standardtextur daneben und einmal hell-dunkel durchfahren, ob es alles plasuibel aussieht.
Das funktioniert (natürlich). Als kritisch sehe ich aber den o.g. Punkt 3: in Wirklichkeit ist so ein Lichtschein unabhängig von der übrigen Beleuchtung, hier addiert er sich zum Tageslicht, ist also tagsüber am hellsten. Wie gesagt: wenn man ihn erst recht spät einschaltet, fällt das evtl. nicht so auf, falsch ist es trotzdem.

Falsch ist übrigens auch der Kontrast im beleuchteten Bereich, da im ersten Schritt die Helligkeit und damit der Kontrast reduziert wird; im zweiten Schritt wird der beleuchtete Teil absolut heller gemacht, aber das zieht den Kontrast nicht wieder auseinander :( .

M.f.G. Christian

Re: Zusi bei Nacht

Verfasst: 02.06.2017 11:04:49
von Carsten Hölscher
ist die Frage, ob D3DTOP_ADD der Weisheit letzter Schluss ist. Und mehr als 255 kann ja pro Kanal nicht rauskommen, also vielleicht kann man über diese Deckelung was erreichen.

Kannst mir die Testdatei mal schicken?

Carsten

Re: Zusi bei Nacht

Verfasst: 02.06.2017 11:39:13
von Christian Gründler
Carsten Hölscher hat geschrieben:Kannst mir die Testdatei mal schicken?
Du hast Post.

Re: Zusi bei Nacht

Verfasst: 03.06.2017 12:22:15
von Christian Gründler
Carsten Hölscher hat geschrieben:Ausschneiden geht über das Werkzeug mit der Punkteinfügung.
Du meinst die Funktion "5.2.7.12 Zusätzlichen Punkt einfügen"? Dieser Punkt muss ja an einer bestimmten Stelle liegen, relativ zum Einbauort der Laterne gemessen. Eine Möglichkeit, entsprechende Koordinaten einzugeben, scheint es dort aber nicht zu geben ?(

Re: Zusi bei Nacht

Verfasst: 03.06.2017 12:42:54
von Alwin Meschede
Carsten Hölscher hat geschrieben:Ausschneiden geht über das Werkzeug mit der Punkteinfügung.
Die Methode mit dem händischen Ausschneiden eines Quadrats scheint mir nicht praktikabel. Was immer man empfiehlt muss ja auch leistbar sein für den Modellbauer, und sollte im Idealfall ohne großes Gehampel abgehen. Und da sieht es für die Punktausschneide-Methode sehr schnell sehr finster aus, wenn am Einbauort bereits ein ungünstig geschnittenes Mesh des Bahnsteigbelags vorliegt. Dann ist es mit vier zusätzlich eingefügten Punkten nicht mehr getan und es entstehen zahlreiche zusätzliche Dreiecke in allen möglichen und unmöglichen Formen. Das Gebilde dann korrekt zu texturieren ist sicher nicht ganz einfach.

Die Methode mit dem als Objekt vorgefertigten Lichtkegel hat hingegen die charmante Eigenschaft, dass sie sehr einfach aufbaubar ist. Sowas wird dann auch eine hohe Akzeptanz bei den Bauleuten haben.