Flächen einseitig oder beidseitig unterschiedlich texturieren

  • Hallo liebe Trainz-Kollegen,


    ich habe in Blender schon viel selbst herausgefunden und von sämtlichen Blender-Tutorials gelernt, jedoch weiß ich immer noch nicht, wie man eine Fläche von beiden Seiten verschieden texturieren kann.

    Wenn man sich innerhalb eines beliebigen dreidimensionalen Videospieles ein x-beliebiges Objekt von innen ansieht, wird man feststellen, dass dieses Objekt von innen unsichtbar ist, sowie eigentlich jedes andere Objekt auch.

    Wenn ich meine Objekte in Blender nach dem lang überlieferten Rezept mit der UV-Map texturiere, werden alle Flächen aber immer beidseitig mit der gleichen Textur überzogen, sodass meine Objekte auch von innen texturiert sind.

    Es muss aber irgendwie möglich sein, die Flächen nur von einer Seite zu texturieren und von der anderen (inneren) Seite, wie herkömmlich, transparent zu lassen.

    Des weiteren werden in der Natur sehr flache Objekte, z. B. Straßenschilder, zur Vereinfachung im 3D-Programm meißtens dreidimensional vernachlässigt und nur als Fläche dargestellt.

    Dabei bekommt diese eine Fläche von beiden Seiten unterschiedliche Texturen, sodass das Schild von vorne so aussieht, wie es aussehen soll und von hinten schwarz oder grau ist.

    Also muss es auch irgendwie möglich sein, einer Fläche zwei unterschiedliche Texturen zu geben, von jeder Seite eine.


    Wie mann sowas hinbekommt, konnte ich leider noch nicht herausfinden, ich hoffe, ihr könnt mir dabei helfen.


    Mit freundlichen Grüßen,

    dynamit777

  • Ich empfehle Dir, ein Objekt im Mesh-Viewer oder Objektbetrachter

    anzuschauen. Inwieweit es bereits solche für TRS19 Objekte gibt, ist

    mir nicht bekannt.


    Da ich selbst momentan ohne PC da stehe, muss ich Dir meine Emp-

    fehlungen ins Blaue hinein formulieren und bitte Dich, entsprechend

    selbst zu recherchieren.


    Für ein einfaches rundes Straßenschild als Beispiel empfehle ich Dir,

    ein Vieleck zu verwenden, welches keinen gemeinsamen Vertex im

    Zentrum besitzt, sondern bei dem alle Eckpunkte an den Rand ge-

    zogen wurden. Dieses Objekt kopierst Du und drehst es so, dass die

    sichtbare Fläche die Rückseite der Originalfläche bildet. Im Ergebnis

    solltest Du noch darauf achten, dass keine Dreiecke von Vorder- und

    Rückseite übereinander liegen. Es könnte unschöne Ergebnisse beim

    Verschweißen der Dreiecke ergeben. Beide Objekte fügst Du zu einem

    zusammen und verschweißt die Eckpunkte. Dann die Kanten glätten.

    Danach texturierst Du, wie gewohnt.

  • Vielen Dank,

    leider kann ich mir nicht richtig vorstellen, wie das mit dem Viereck gemeint ist.

    Ist das eine Methode, die auch bei komplexeren Flächen mit zwei unterschiedlichen Texturen im Allgemeinen angewendet wird?

    Ich werde selbstverständlich auch nochmal recherchieren.

  • Ich habe gerade herausgefunden, dass man einen Haken bei Backface Culling setzen muss, um die Innenseite unsichtbar zu machen.

    Sie ist aber dann nur in der Texture- und Solidansicht unsichtbar, beim Rendern ist sie wieder sichtbar.

    Diesen Tipp hatte mir sogar schon mal jemand gegeben, dass ich dort einen Haken setzen soll, ich wusste damals aber nicht wofür.

  • leider kann ich mir nicht richtig vorstellen, wie das mit dem Viereck gemeint ist.

    Meintest Du, was ich als "Vieleck" beschrieben habe? Ein Vieleck, auch

    Polygon genannt, kann eine runde Scheibe darstellen. Je mehr "Ecken"

    diese Scheibe hat, um so runder erscheint sie in Trainz.

    Hier ein Beispielbild von Vielecken in Wikipedia.

    Besonders interessant ist das untere rechte Zwölfeck. Vielleicht wird

    es dadurch etwas deutlicher.

  • Materialeigenschaften Two Sided beachten. Aber wenn es gewunscht ist, dass es von beiden Seiten sichtbar ist, dann besser zwei Planes verwenden. Weil bei Two Sided Materialien muss zur Laufzeit die Rueckseite so berechnet werden als gaebe es dort auch eine Flaeche (Plane). Durch verschweissen mit anderen Flaechen, so moeglich, kann ein Performance-Vorteil erlangt werden, da verschweisste Vertices nicht nochmal durch den Shader durch muessen.

    wie man eine Fläche von beiden Seiten verschieden texturieren kann

    Das geht nicht. Ein Polygon kann nur mit einem Material assoziiert werden. Innerhalb eines Objektes koennen aber unterschiedliche Polygone auch unterschiedliche Materialien haben, das sog. Multi-Material. D.h. dem "Mutter"-Objekt wird das Multi-Material zugewiesen, und den Polygonen dann die Material-ID des gewuenschten Untermaterials.


    Mick!

    Einmal editiert, zuletzt von mick1960 ()

    • Offizieller Beitrag

    Materialeigenschaften Two Sided beachten.

    Zugegeben, ist schon ne Weile her bei mir, aber wird dann nicht auch das Mapping der Vorderseite übernommen?
    Wenn man die Fläche anderweitig texturieren möchte (wie hier zB. schwarz/grau), dann sollte man die Plane kopieren und zB. um 180°C drehen.

    Je nachdem wie nah das Schild am Gleis steht, wäre aber zu überlegen, ob man es nicht doch dreidimensional darstellt, macht optisch schon einen Unterschied...

  • Hallo und vielen Dank für eure Antworten.:)



    Meintest Du, was ich als "Vieleck" beschrieben habe? Ein Vieleck, auch

    Polygon genannt, kann eine runde Scheibe darstellen.

    Achso, Vieleck, ich hatte versehentlich Viereck gelesen.


    Materialeigenschaften Two Sided beachten. Aber wenn es gewunscht ist, dass es von beiden Seiten sichtbar ist, dann besser zwei Planes verwenden. Weil bei Two Sided Materialien muss zur Laufzeit die Rueckseite so berechnet werden als gaebe es dort auch eine Flaeche (Plane). Durch verschweissen mit anderen Flaechen, so moeglich, kann ein Performance-Vorteil erlangt werden, da verschweisste Vertices nicht nochmal durch den Shader durch muessen.

    Ich hatte mich gestern Abend und vor kurzem nochmal damit beschäftigt und gestern noch feststellen können, dass die Einstellung "Backface Culling" die Objekte von innen unsichtbar macht.

    Vor kurzem fand ich heraus, dass eine Fläche im 3D-Programm nur von einer Seite existent ist, was du mir mit diesem Text auch sagen möchtest, das bestätigt also meine Theorie.

    Im Solid-Modus sieht eine Fläche bei gewissen Beleuchtungsverhältnissen von beiden Seiten manchmal gleich aus und auch Texturen sieht man ohne "Backface Culling" von beiden Seiten, darum dachte ich immer, dass alle Flächen beidseitig wären.

    Ich hatte mir einfach mal eine Fläche erstellt und "Backface Culling" aktiviert, dabei wurde eine Seite unsichtbar.

    Erst dachte ich, dass die Beleuchtung des Objektes oder irgendetwas anderes festlegt, welche Flächenseite unsichtbar wird, doch ich wurde eines besseren belehrt, das legt die Fläche nämlich selbst fest.

    Ich drehte diese Fläche und die unsichtbare Seite blieb immer dieselbe, es gibt nämlich keine Rückseite, es gibt nur eine Vorderseite.

    Anschließend probierte ich, wie hier schon geschrieben wurde, die Fläche zu kopieren, um 180° zu drehen und beide Flächen unterschiedlich zu texturieren, mit Erfolg, schon hatte ich von beiden Seiten unterschiedliche Texturen.:)


    Nur beim Rendern scheint die Einstellung "Backface Culling" unwirksam zu sein, ist das normal?

    2 Mal editiert, zuletzt von dynamit777 ()

  • Um auf Vorder- und Rückseite eines Polygons unterschiedliche Texturen zu verwenden, nimmt man den "Geometry Node". Natürlich muss man dann das Mapping um 180° drehen. Jedes Polygon hat eine Vorder- und Rückseite, die durch die Normale definiert wird. Man braucht keine 2 Polygone "übereinanderkleben".

  • Um auf Vorder- und Rückseite eines Polygons unterschiedliche Texturen zu verwenden, nimmt man den "Geometry Node". Natürlich muss man dann das Mapping um 180° drehen. Jedes Polygon hat eine Vorder- und Rückseite, die durch die Normale definiert wird. Man braucht keine 2 Polygone "übereinanderkleben".


    Nach meinem Kenntnisstand ist es nicht möglich , eine Plane auf den beiden Seiten unterschiedlich zu texturieren !

    Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. (A. Einstein)