Bauhinweis für Nachteffekte der 3D-Objekte

Das Unterforum für Diskussionen rund um die Technik, Bedienung, Konfiguration usw. Das ist auch die erste Anlaufstelle für Bastler mit Fragen zu den Editoren.
Antworten
Nachricht
Autor
Benutzeravatar
Carsten Hölscher
Administrator
Beiträge: 32132
Registriert: 04.07.2002 00:14:42
Wohnort: Braunschweig
Kontaktdaten:

Bauhinweis für Nachteffekte der 3D-Objekte

#1 Beitrag von Carsten Hölscher »

Für die Häuslebauer sei das Thema Nachtdarstellung schon einmal erläutert.

Es gibt grundsätzlich zwei Ansätze, um nachts etwas Stimmung (=Beleuchtung) zu erzeugen:

1.) Man erzeugt eine 2. Textur, die genauso aufgeteilt ist wie die normale Textur. Im Bereich der Wände ist sie schwarz/transparent, im Bereich der zu beleuchtenden Fenster hat sie entsprechende Farben. Diese Textur wird dem Mesh als 2. Textur zugewiesen und eine entsprechende Multitexturing-Einstellung gewählt. (Werde dazu mal Beispiele liefern)
Mit dieser Technik könnte man auch weitere Effekte, wie eine per Lichtkegel angestrahlte Wand erzeugen. Die Beleuchtung braucht also nicht in der Konstruktion des 3D-Modell berücksichtigt zu werden.

2.) Wie bei Zusi 2: Man nimmt ein 2. Mesh-Subset, dem man eine Nachtfarbe verpaßt. Dann wird das Polygon nachts nicht dunkel. Für Gebäude dürfte das i.a. nicht so gut geeignet sein, schließlich erscheinen Fenster tagsüber dunkel und nachts eher gelblich. Außerdem muß bei dieser Methode natürlich gleich beim 3D-Bau jedes Fenster einzeln ausgeschnitten werden. Der einzige Vorteil gegenüber 1. ist der geringere Bedarf an Texturfläche.

Bei Gebäuden mit sehr wenig zu beleuchtender Fläche (Güterschuppen o.ä.) könnte es sinnvoll sein, die Fenster auf einem eigenen Mesh-Subset anzuordnen, um nur dort die Beleuchtungseffekte anwenden zu müssen und entsprechend Texturfläche zu sparen.

Carsten

Alwin Meschede
Beiträge: 8059
Registriert: 04.11.2001 19:57:46
Aktuelle Projekte: Zusi3 Objektbau
Kontaktdaten:

Re: Bauhinweis für Nachteffekte der 3D-Objekte

#2 Beitrag von Alwin Meschede »

Ich hole diesen Thread mal aus der Versenkung, weil die Überschrift das Thema sehr gut trifft: Es folgt ein Bauhinweis für Nachteffekte, der von allgemeinem Interesse ist.

Wir beschäftigen uns gerade in der Qualitätssicherung mit überbelichteten ls3-Objekten, also Objekten, die im Verhältnis zum Rest der Zusi-Welt zu hell dargestellt werden. Die Ursache liegt in einem weit verbreiteten Mißverständnis, wie die Zusi3-Grafikengine mit der Nachtfarbe umgeht.

Für ein normales nichtleuchtendes Objekt mit schwarzer Nachtfarbe und weißer Tagfarbe könnte man denken, dass Zusi einfach je nach Sonnenstand zwischen den beiden Farben überblendet. Dem ist nicht so. Tatsächlich passiert folgendes: Die Nachtfarbe ist die Farbe, die das Objekt völlig unabhängig vom Sonnenstand immer abgibt. Ein Anteil der Tagfarbe wird tageszeitabhängig hinzuaddiert.

Und genau diese Addition fällt einem auf die Füße, wenn man aus einem Objekt mit Tagfarbe FFFFFF und Nachtfarbe 000000 durch alleinige Änderung der Nachtfarbe ein nachts leuchtendes Objekt herstellt: Tagsüber werden dann für die RGB-Farben Werte größer 255 erreicht, das Objekt ist im Vergleich zu seinen nachts nicht leuchtenden Nachbarn überbelichtet. Wenn man sich mal den derzeitigen Zusi3-Datenbestand anguckt, stellt man fest, dass so gut wie jeder Modellbauer das irgendwann mal falsch gemacht hat. Eigentlich ist das aber nichts neues. Die Sache ist seit Urzeiten dokumentiert (Kapitel 5.1.1.2 der Doku, wurde bereits vorab veröffentlicht). Bloß haben wir das alle bislang irgendwie überlesen :rolleyes:

Was kann man da als Modellbauer machen? Man könnte natürlich die Textur entsprechend abdunkeln. Das erspart einem allerdings nicht die Warnmeldungen des Verwaltungs-Prüfprogramms. Um nachhaltig eine korrekte Beleuchtung zu erreichen, sollte stattdessen die Tagfarbe auf die Nachtfarbe abgestimmt werden, so dass Tagwert + Nachtwert nie größer als 255 werden. Das kann im Einzelfall zu echt verrückten Tagfarben führen, aber der Test im Objektbetrachter zeigt, dass folgendes Objekt nicht etwa tagsüber dunkelblau wird, sondern nachts leicht gelblich leuchtet und tagsüber weiß ist:

Bild

Wie zu sehen ist, wird in jedem Farbkanal (Rot, Grün, Blau) ein Maximalwert von 255 erreicht, wenn man Tag- und Nachtfarbe addiert. Die Ambient-Farbe ist dabei nicht zu berücksichtigen. Sie kann weiterhin gleich der Tagfarbe sein. Der Wert ganz links unter den Farben ist der Alpha-Wert, er interessiert hier ebenfalls nicht.

Natürlich wäre es denkbar, dass ein crazy Modellbauer die Überbelichtung gezielt für irgendwelche Effekte einsetzt. Wer mitgerechnet hat, weiß: Bis zum doppelten der Umgebungshelligkeit kann man durch mutwillige Überbelichtung die Helligkeit eines Objekts anheben.
Mein Youtube-Kanal: youtube.com/echoray1

F. Schn.
Beiträge: 5414
Registriert: 24.10.2011 18:58:26

Re: Bauhinweis für Nachteffekte der 3D-Objekte

#3 Beitrag von F. Schn. »

Hallo Carsten,

Gibt es eigentlich einen Grund für diese Regelung? Ich hatte den Sinn, die Tagfarbe so zu definieren ehrlich gesagt nie verstanden, mich aber auch nicht näher damit beschäftigt.

F. Schn.
Zuletzt geändert von F. Schn. am 31.10.2013 21:08:47, insgesamt 1-mal geändert.

Benutzeravatar
Carsten Hölscher
Administrator
Beiträge: 32132
Registriert: 04.07.2002 00:14:42
Wohnort: Braunschweig
Kontaktdaten:

Re: Bauhinweis für Nachteffekte der 3D-Objekte

#4 Beitrag von Carsten Hölscher »

Es ist schlichtweg direkt die Art und Weise, die DirectX anwendet.

Carsten

Benutzeravatar
Johannes
Beiträge: 2906
Registriert: 14.03.2009 22:36:06
Aktuelle Projekte: Zusitools (http://git.io/zusitools)

Re: Bauhinweis für Nachteffekte der 3D-Objekte

#5 Beitrag von Johannes »

Alwin, erst mal danke für den Hinweis.
Alwin Meschede hat geschrieben:Die Sache ist seit Urzeiten dokumentiert (Kapitel 5.1.1.2 der Doku, wurde bereits vorab veröffentlicht). Bloß haben wir das alle bislang irgendwie überlesen :rolleyes:
Ich habs mir seinerzeit mal durchgelesen und gehofft, dass das nicht final ist. (In Zusi 2 ist das ja meiner Erinnerung nach ähnlich geregelt.)

Intuitiv denkt man, dass man im 3D-Editor ja bei „Tagfarbe“ die tatsächlich resultierende Tagfarbe (hier weiß) einstellen könnte und beim Schreiben des Dateiformates dann automatisch die Nachtfarbe abgezogen wird (sodass in der Datei im Beispiel dann trotzdem FF000044 steht). Der Wertebereich der Tagfarben-Felder wäre dann [Wert(Nachtfarbe)..255+Wert(Nachtfarbe)]. Ich nehme aber mal an, das habt ihr intern schon ausführlich diskutiert.

Warnt eigentlich nur die Verwaltung beim Prüflauf oder wird auch direkt im Mesh-Subset-Editor ein entsprechender Hinweis angezeigt? Direktes Feedback ist immer gut :)

Grüße
Johannes

P.S. Das Feld „Beleuchtungstyp“ im Screenshot lässt ja auf zumindest geplante schöne grafische Spielereien für Leute mit potenten Rechnern schließen … :)

Benutzeravatar
Johannes
Beiträge: 2906
Registriert: 14.03.2009 22:36:06
Aktuelle Projekte: Zusitools (http://git.io/zusitools)

Re: Bauhinweis für Nachteffekte der 3D-Objekte

#6 Beitrag von Johannes »

Was für eine Bedeutung hat denn der Alpha-Wert der Nachtfarbe? Wird er ebenfalls zu irgendetwas addiert/subtrahiert/etc.?

Ich habe hier bei einem einfarbigen, halbtransparenten Subset ohne Textur keine Farbunterschiede zwischen verschiedenen Nacht-Alpha-Werten feststellen können.

Grüße
Johannes

Benutzeravatar
Carsten Hölscher
Administrator
Beiträge: 32132
Registriert: 04.07.2002 00:14:42
Wohnort: Braunschweig
Kontaktdaten:

Re: Bauhinweis für Nachteffekte der 3D-Objekte

#7 Beitrag von Carsten Hölscher »

Der Alpha-Wert ist überhaupt nur relevant, wenn man eine Fläche ohne Textur zeichnen will. So läßt sich z.B. ein Glas umsetzen, ohne dass man extra Ressourcen für Texturen verbraucht. Was anderes (sinnvolles) fällt mir zumindest nicht ein. Beim Nachtwert sollte das dann komplett irrelevant sein. Hab aber nicht extra eine andere Eingabemaske dafür gebastelt - und vielleicht ergibt sich doch irgendwo ein Sinn, der mir nur gerade nicht bewußt ist.

Carsten

Benutzeravatar
Johannes
Beiträge: 2906
Registriert: 14.03.2009 22:36:06
Aktuelle Projekte: Zusitools (http://git.io/zusitools)

Re: Bauhinweis für Nachteffekte der 3D-Objekte

#8 Beitrag von Johannes »

Genau, für Glas (Fensterscheiben) nutze ich den Wert auch.

Anwendungsfall könnte sein, dass ein Fenster tagsüber (Spiegelung durch Tageslicht) undurchsichtiger ist als nachts (Beleuchtung von innen). Man könnte zwischen den Alpha-Werten interpolieren.

Grüße
Johannes

Antworten