UV-Mapping

UV-Koordinaten legen fest, wo die Textur auf ein 3D-Mesh aufgebracht wird.

Dabei werden die Koordinaten des Texturbilds nicht in Pixeln, sondern quasi in Prozent festgelegt. Jeder Punkt im Bild hat eine horizontale x und eine vertikale y-Koordinate zwischen 0 und 100% der Bildgröße. Weil es technisch effizienter zu berechnen ist, werden die Prozentwerte nicht in 0-100%, sondern in 0-1 ausgedrückt. Der Mittelpunkt des Bildes hat folglich die Koordinaten (0.5 / 0.5). Zur leichteren Abgrenzung dieses Koordinatensystems von anderen Maßsystemen wird die x-Achse nicht x, sondern u und die y-Achse nicht y, sondern v genannt.

Jeder Vertex eines Meshes erhält eine UV-Koordinate zugewiesen, wodurch sich die Abbildung der Textur auf das 3D-Face definiert. Diese Koordinaten werden mit dem Mesh zusammen gespeichert. Es ist prinzipiell möglich, mehrere Sammlungen von alternativen UV-Koordinaten zu speichern, um unterschiedliche Texturabbildungen zu kombinieren.

Die Formulierung der Koordinaten in 0-1 statt etwa den konkreten Pixelwerten hat einen großen Vorteil: die Definition ist unabhängig von der Bildgröße der Textur. Das ist z.B. bei der Optimierung des Speicherverbrauchs wichtig. Egal ob das Bild 64×64Pixel klein oder 1024×1024 Pixel groß ist, ein relativer Koordinatenpunkt beschreibt immer die gleiche Position. Der Mittelpunkt zum Beispiel liegt in jedem Bild bei 0.5/0.5, egal welche Pixelauflösung das Bild hat. Dadurch ist dieses Koordinatensystem extrem flexibel und effizient und z.B. für Level of Detail-Optimierungen wichtig.

Darstellung der UV-Koordinaten eines Meshes auf der Textur.

Darstellung der UV-Koordinaten eines Meshes auf der Textur.

Ähnliche Einträge

Werbung

So wird's gemacht

Im Kurs 'Blender für Unity' zeige ich Dir Schritt für Schritt, wie dieses Thema in der Praxis funktioniert. Mehr dazu...

Dr. René Bühling

Hi, mein Name ist René und ich möchte Dir dabei helfen, deinen Traum vom eigenen Computerspiel Wirklichkeit werden zu lassen. Mein erstes kommerziell veröffentlichtes Spiel habe ich Mitte der 1990er Jahre als Hobby-Projekt mit einem Basic-Dialekt unter Windows entwickelt. Seither verfolge ich das Thema Spieleentwicklung in Hobby, Studium und Beruf. Ich habe über 20 Jahre Erfahrung in allen Phasen des Entwicklungsprozesses, die ich gerne mit dir teilen möchte.