Ich versuche die mathematische Theorie hinter der UVW-Kartierung zu verstehen . Kann mir jemand erklären, wie UVW-Mapping funktioniert? Oder zumindest einen Hinweis geben?
13
Ich versuche die mathematische Theorie hinter der UVW-Kartierung zu verstehen . Kann mir jemand erklären, wie UVW-Mapping funktioniert? Oder zumindest einen Hinweis geben?
Antworten:
So verstehe ich es. Könnte völlig falsch sein, aber ich bin mir sicher, dass es jemand tun wird
Flammekorrigiere mich wenn ich falsch liegeDie mathematische Theorie hinter dem UVW-Textur-Mapping ähnelt der Theorie hinter dem UV-Textur-Mapping.
Siehe Bummzacks Link hier: Was genau ist UV- und UVW-Mapping? um eine bessere Erklärung für das UV-Mapping zu erhalten. Grundsätzlich ordnen Sie einen Bereich einer Textur einem Bereich einer Oberfläche zu. Interpolieren der Werte dazwischen basierend auf diesen Zuordnungen.
Gleiches gilt für UVW. Nur dass Sie jetzt ein Texturvolumen auf ein Oberflächenvolumen abbilden. Zwischenwerte interpolieren. Mit der 3. Dimension können Sie jetzt eine 2D-Textur verziehen, um sie besser an ein Objekt anzupassen.
Schauen wir uns an, wie dies in 3D-Texturen verwendet wird. 3D-Texturen können durch Schichten von 2D-Texturen und durch Interpolation der dazwischen liegenden Texel erzeugt werden. Optisch könnte eine 3D-Textur ungefähr so aussehen:
Wo die "Ebenen" in der R-Achse 2D-Texturen sind. Wenn wir für jede Ebene eine andere Volltonfarbe festlegen und diese auf ein 3D-Objekt anwenden, erhalten wir ungefähr Folgendes:
Sie können sehen, wie die Volltonfarben zwischen den Ebenen interpoliert wurden. Hier ist das Gleiche, aber mit einer Landschaft. Wo von oben nach unten, könnten die Texturen sein: Schnee, Fels, Gras, Sand.
Verwenden wir jetzt nur eine R-Ebene (eine 2D-Textur), aber eine Zuordnung zu einem 3D-Objekt? Offensichtlich bietet dies nicht so viel Flexibilität wie mehrere Schichten von Texturen, aber es ist sicher viel weniger Arbeit. Das Projizieren einer 2D-Textur auf eine 3D-Oberfläche kann jedoch zu Problemen führen. Denken Sie an die Situation, in der Sie einen Laser auf eine Wand richten. In einem senkrechten Winkel ist der Laserpunkt schön rund. In jedem anderen Winkel beginnt sich der Punkt zu dehnen und zu neigen. Dasselbe passiert, wenn eine 2D-Textur auf eine 3D-Oberfläche projiziert wird. Jedes Gesicht, das nicht senkrecht zur Projektion steht, wird verzerrt. Wie beheben wir das? Durch Verzerrung der Projektion. Nehmen wir das Laserbeispiel, wenn wir einen Laser hätten, der auf eine senkrechte Oberfläche gestrahlt und gedehnt wurde. Wenn wir diesen Laser auf eine abgewinkelte Wand strahlten, konnte der Winkel "Die 3. Dimension ermöglicht es uns, die Projektion so zu "formen", dass sie zu der Oberfläche passt, auf die wir zielen. Zum Beispiel könnte eine Art gewellte 3D-Oberfläche eine Textur wie diese haben (aber nicht so mies):
Wie ich schon sagte, das ist nur mein Verständnis davon. Ich stimme zu, es gibt nicht viele gute Informationen zu diesem Thema. Hoffentlich veranlasst diese (wahrscheinlich falsche) Antwort jemanden mit mehr Kenntnissen über das Thema, das Wort zu ergreifen.
Die Bilder für die 3D-Texturen stammen von dieser Seite: http://www.gpwiki.org/index.php/OpenGL:Tutorials:3D_Textures
quelle