Forum

Forum-Navigation
Du musst dich anmelden um Beiträge und Themen zu erstellen.

Warum zeigt der Mappingeditor bei einfachem Netz einseitige Textur gespiegelt ?

Für geschulte 3D-Profis wird diese Frage vermutlich wissendes Schmunzeln und unterdrücktes Gähnen hervorrufen.
Mir als Amateur aber war die Tatsache des Nachfragens wert.
Wie kam es dazu:
Für ein Notenblatt (späterhin auch für ein Plakat) des Filmprojektes mit kbe hatte ich gemäß der Erläuterungen im Handbuch für ein flaches Meshstück eine zweilagige jeweils bildbasierte Textur geschaffen und diese dem Mesh zugewiesen, je ein Layer für Vorder- und Rückseite. Da aber nur ein Layer im Mappingeditor angezeigt wurde, staunte ich nicht schlecht, als die mühsam eingerichtete Projektion des Layers samt Umriss aus dem Kontrollfenster verschwand, nachdem ich ´nur Vorderflächen´ eingestellt hatte. Da ich wußte, dass in diesem Fenster mit Klickziehen das zu texturierende Objekt bewegt werden konnte, drehte ich es um 180°. Dort fand ich meine Textur getreulich abgebildet, allerdings jetzt spiegelverkehrt. Ich stellte daher zurück auf ´Vorder- und Rückflächen´. Nun war die Textur wieder auf beiden Seiten abgebildet, auf der Meshrückseite nach wie vor spiegelverkehrt. Also stellte ich wieder auf ´nur Vorderflächen´, ging aus dem Texturdialog mit ´ok´ raus und startete ein Proberender. Da wurde das Bild seitenrichtig wie gewünscht ausgegeben. Beim zweiten Layer für die Rückseite verhielt es sich alles genauso nur natürlich mit umgekehrten Vorzeichen: Die Mappingkontrolle gab also beide Layer einzeln aber gespiegelt und nur auf vertauschten Seiten wieder. Das gerenderte Bild stimmte aber. Ich war verwirrt, probierte manches anders, mit unbefriedigenden Ergebnissen natürlich, stellte schließlich also doch wieder darauf zurück und fragte endlich nach.
Auf Sourceforge bekam ich dafür umgehend, freundlich und kompetent von Peteihis folgende einleuchtende Erklärung auf meine Nachfrage:
Der Renderer, der ja auch die Vorschau des Mappingeditors erzeugt, arbeitet grundsätzlich so, als habe er einen dreidimensionalen Körper vor sich.
Die Mappingkontrolle des Texturdialogs stellt ihrerseits sinnvoller Weise jeweils nur die Textur für eine Schicht (= für einen Layer) zum Einrichten zur Verfügung.
Im Verbund wirken sich diese Vorgaben folgendermaßen aus:
Auf einer Fläche berechnet der Renderer/Raytracer offenkundig nur ein einziges für die (gedachte) Vorder- und Rückseite einer Fläche gleichermaßen gültiges Bild. Das ist logischerweise nach Drehung dieser Fläche, durch die ihre Rückseite sichtbar wird, spiegelverkehrt. Bei einem 3D-Körper wäre die innere Ansicht aber (solang keine Transparenz zu berücksichtigen ist) definitionsgemäß unsichtbar, weil ja durch andere Flächen des Objektes abgedeckt. Bei der Dicke Null des ganzen Objektes ´einfaches Mesh´ und zusätzlicher Darstellungseinschränkung auf ´nur Vorderflächen´ existiert für den Raytracer dementsprechend zunächst einmal aus der vorderen Blickrichtung des Betrachters, aus der heraus der Raytracer ja jeweils auch das Bild aufbaut, kein abbildbares 3D-Objekt mehr. Daher verschwindet das Objekt aus der Kontrollansicht. Dreht man aber das dennoch virtuell nach wie vor vorhandene Trägermesh der Textur, wird sozusagen die Innen- bzw. Rückseite der ´mit Genehmigung´ texturbesetzten Vorderflächen seitenverkehrt betrachtbar. Wäre mit dem zweiten Layer keine weitere (deckende) Schicht definiert, würde der Raytracer es dementsprechend (also seitenverkehrt) vielleicht auch in Bildform ausgeben können. Da die zweite Schicht aber mit umgekehrten Bedingungen sozusagen ´dazwischenkommt´, entsteht bei der kombinierten Verarbeitung des zweischichtig texturierten Meshes ein Render, das die Dicke ´Null´ als unmittelbares Nebeneinander von zwei Bildpixeln je einer Texturschicht interpretieren und damit auch die sonstigen Bedingungen der Meshtexturierung problemlos darstellen kann.
Danke Pete !

Ich bestätige zumindest eines:
Die Texturierung ist oftmals ein Geduldspiel.
In meinem Beitrag Seite umblättern ist das zu lesen und jetzt mit DKs Erkenntnissen auch zu verstehen.

Nur eins möchte ich hier doch nochmal klarstellen: Mein Grips allein hätte dafür nie gereicht! Peteihis, wie er sich bei FriendlySkies, oder Pete, wie er sich auf Sourceforge nennt, ist diese Erläuterung zu danken. Ich hab´ oben seine recht knappe englische Erklärung nur für mich schlüssig ins Deutsche übertragen wiedergegeben. Daher jetzt die Hervorhebung von ihm (auch) in meinem oberen Posting.