Möt Mixos AIUtforska

Vad är UV-mappning?

En textur är en platt bild. En modell är en 3D-yta. UV-mappning är överensstämmelsen mellan de två — instruktionsbladet som talar om för renderaren vilken pixel i bilden som hör hemma på vilken del av meshen. Utan den har en textur inget sätt att veta var den ska landa.

Av

Det korta svaret

UV-mappning ger varje vertex i en 3D-modell en 2D-koordinat — U åt sidan, V uppåt — inuti en enhetskvadrat som kallas UV-rymd. Uppackning är akten att skära ytan längs sömmar och platta ut bitarna (öarna) i den kvadraten så att en platt bild kan målas på en kurvad yta utan sträckning.

Varför bokstäverna U och V

X, Y och Z var redan upptagna av modellens position i rymden, så texturaxlarna lånade de närmaste bokstäverna bakåt i alfabetet. U löper horisontellt över texturen och V vertikalt, båda normaliserade från 0 till 1 oavsett bildens pixelmått.

Eftersom intervallet alltid är 0–1 fungerar samma UV-layout i vilken upplösning som helst. Byt en 1K-textur mot en 4K och ingenting i mappningen ändras — vilket är precis varför UV:n lagras på meshen i stället för att bakas in i bilden.

Sömmar och öar

Du kan inte platta ut en kurvad yta utan att riva upp den någonstans — samma anledning till att varje världskarta förvränger jordklotet. Uppackning väljer var snitten ska göras. Snitten är sömmar, och varje utplattad bit mellan dem är en ö.

God sömplacering gömmer snitten där ingen tittar: under en arm, längs en panellinje, inuti ett veck. En synlig söm syns som en hårfin diskontinuitet i texturen, eftersom de två sidorna samplar från olika delar av bilden och filtrering inte kan överbrygga glappet.

Sträckning, packning och bortkastat utrymme

Om en ö är hoptryckt i förhållande till sin verkliga ytarea sträcks texturen där — detaljer smetas ut och upplösning går i praktiken förlorad. Checkermönster-överlägg finns just för att göra detta synligt: jämna rutor betyder jämn texelfördelning.

Packning är den andra halvan av jobbet. Öar ska fylla UV-rymden tätt, eftersom varje tom yta är texturupplösning du betalat för och inte använt. Överlappande öar är oftast en bugg, även om avsiktlig överlappning är ett legitimt knep för speglade eller upprepade delar som ska dela pixlar.

När du inte behöver packa upp

Inte alla arbetsflöden kräver rena UV:n. Triplanar-projicering samplar en textur från tre världsriktningar och blandar resultaten, vilket hanterar sten, terräng och hard-surface-tiling på meshar helt utan användbara UV:n.

Baking är undantaget som tvingar fram saken: ambient occlusion-, curvature- och thickness-kartor skrivs alla i UV-rymden, så de behöver icke-överlappande öar för att vara meningsfulla. En tiling-UV-layout ger en tom eller förvanskad bake.

Vanliga frågor

Vad står UV för?

Ingenting, som akronym — U och V är helt enkelt axelnamnen för texturrymden, valda eftersom X, Y och Z redan beskrev modellens position i 3D-rymden.

Måste jag packa upp en modell innan jag texturerar den?

För målad detalj och bakade kartor, ja. Triplanar- och tiling-projicering kan texturera en mesh utan användbara UV:n, men baking av AO, curvature eller thickness kräver icke-överlappande öar.

Varför är min textur utsträckt på ett ställe?

Den ön är mindre i UV-rymden än sin verkliga ytarea, så färre texlar täcker mer geometri. Slappna av eller skala om ön så att texeltätheten matchar resten av modellen.

Vad är en UV-söm?

Kanten där ytan skars upp för att plattas ut. Sömmar är oundvikliga på kurvad geometri — målet är att placera dem där de inte syns snarare än att eliminera dem.