Czym jest mapowanie UV?
Tekstura to płaski obraz. Model to powierzchnia 3D. Mapowanie UV to powiązanie między nimi — instrukcja, która mówi rendererowi, który piksel obrazu należy do której części meshu. Bez niej tekstura nie ma jak wiedzieć, gdzie trafić.
Autor: Mixos
Krótka odpowiedź
Mapowanie UV przypisuje każdemu wierzchołkowi modelu 3D współrzędną 2D — U w poprzek, V w górę — wewnątrz kwadratu jednostkowego zwanego przestrzenią UV. Rozwijanie to cięcie powierzchni wzdłuż szwów i spłaszczanie kawałków (wysp) do tego kwadratu, tak aby płaski obraz można było nałożyć na zakrzywioną powierzchnię bez rozciągnięć.
Dlaczego litery U i V
X, Y i Z były już zajęte przez pozycję modelu w przestrzeni, więc osie tekstury pożyczyły kolejne litery wstecz w alfabecie. U biegnie poziomo przez teksturę, a V pionowo, obie znormalizowane od 0 do 1 niezależnie od wymiarów obrazu w pikselach.
Ponieważ zakres to zawsze 0–1, ten sam układ UV działa w dowolnej rozdzielczości. Zamień teksturę 1K na 4K, a nic w mapowaniu się nie zmienia — dlatego UV są zapisane na meshu, a nie wypalone w obrazie.
Szwy i wyspy
Nie da się spłaszczyć zakrzywionej powierzchni bez rozerwania jej gdzieś — z tego samego powodu każda mapa świata zniekształca kulę ziemską. Rozwijanie wybiera, gdzie ciąć. Te cięcia to szwy, a każdy spłaszczony kawałek między nimi to wyspa.
Dobre rozmieszczenie szwów chowa cięcia tam, gdzie nikt nie patrzy: pod ramieniem, wzdłuż linii panelu, wewnątrz fałdy. Widoczny szew pojawia się jako cienka nieciągłość w teksturze, bo obie strony próbkują z różnych części obrazu, a filtrowanie nie potrafi zasypać luki.
Rozciągnięcia, pakowanie i zmarnowane miejsce
Jeśli wyspa jest ściśnięta względem swojej rzeczywistej powierzchni, tekstura się tam rozciąga — szczegóły się rozmazują, a rozdzielczość faktycznie przepada. Nakładki z szachownicą istnieją właśnie po to, by to uwidocznić: równe kwadraty oznaczają równy rozkład texeli.
Pakowanie to druga połowa zadania. Wyspy powinny ciasno wypełniać przestrzeń UV, bo każdy pusty obszar to rozdzielczość tekstury, za którą zapłaciłeś i nie użyłeś. Nakładające się wyspy są zwykle błędem, choć celowe nakładanie to uprawniony trik dla części lustrzanych lub powtarzalnych, które mają dzielić piksele.
Kiedy nie trzeba rozwijać
Nie każdy workflow wymaga czystych UV. Projekcja triplanar próbkuje teksturę z trzech kierunków w przestrzeni świata i miesza wyniki, co radzi sobie ze skałą, terenem i tilingiem hard-surface na meshach w ogóle bez użytecznych UV.
Baking jest wyjątkiem, który wymusza rozwinięcie: mapy ambient occlusion, curvature i thickness zapisują się w przestrzeni UV, więc potrzebują nienakładających się wysp, by miały sens. Układ UV z tilingiem da pusty lub zniekształcony bake.
Najczęściej zadawane pytania
Co oznacza skrót UV?
Nic, jako akronim — U i V to po prostu nazwy osi przestrzeni tekstury, wybrane dlatego, że X, Y i Z opisywały już pozycję modelu w przestrzeni 3D.
Czy muszę rozwinąć model przed teksturowaniem?
Dla malowanych szczegółów i wypiekanych map — tak. Projekcja triplanar i tiling mogą otekstować mesh bez użytecznych UV, ale baking AO, curvature czy thickness wymaga nienakładających się wysp.
Dlaczego moja tekstura jest w jednym miejscu rozciągnięta?
Ta wyspa jest mniejsza w przestrzeni UV niż jej rzeczywista powierzchnia, więc mniej texeli pokrywa więcej geometrii. Rozluźnij lub przeskaluj wyspę, aby texel density zgadzała się z resztą modelu.
Czym jest szew UV?
Krawędź, wzdłuż której powierzchnię przecięto, by ją spłaszczyć. Szwy są nieuniknione na zakrzywionej geometrii — celem jest umieszczenie ich tam, gdzie nie będą widoczne, a nie ich eliminacja.