Maak kennis met Mixos AIOntdek

Wat is UV-mapping?

Een texture is een platte afbeelding. Een model is een 3D-oppervlak. UV-mapping is de overeenkomst tussen die twee — het instructieblad dat de renderer vertelt welke pixel van de afbeelding op welk deel van de mesh hoort. Zonder UV-mapping weet een texture niet waar hij terecht moet komen.

Door

Het korte antwoord

UV-mapping wijst elke vertex van een 3D-model een 2D-coördinaat toe — U horizontaal, V omhoog — binnen een eenheidsvierkant dat UV-ruimte heet. Unwrappen is het doorsnijden van het oppervlak langs naden en het plat leggen van de stukken (islands) in dat vierkant, zodat een platte afbeelding zonder uitrekking op een gekromd oppervlak kan worden geschilderd.

Waarom de letters U en V

X, Y en Z waren al bezet door de positie van het model in de ruimte, dus kregen de textureassen de eerstvolgende letters terug in het alfabet. U loopt horizontaal over de texture en V verticaal, beide genormaliseerd van 0 tot 1, ongeacht de pixelafmetingen van de afbeelding.

Omdat het bereik altijd 0–1 is, werkt dezelfde UV-layout op elke resolutie. Verwissel een 1K-texture voor een 4K-texture en aan de mapping verandert niets — en daarom worden UV’s op de mesh opgeslagen en niet in de afbeelding gebakken.

Naden en islands

Je kunt een gekromd oppervlak niet plat leggen zonder het ergens te scheuren — dezelfde reden waarom elke wereldkaart de aardbol vervormt. Unwrappen kiest waar je snijdt. Die sneden zijn naden, en elk platgelegd stuk ertussen is een island.

Goed geplaatste naden verbergen sneden waar niemand kijkt: onder een arm, langs een panelenlijn, in een plooi. Een zichtbare naad verschijnt als een haarfijne discontinuïteit in de texture, omdat de twee kanten uit verschillende delen van de afbeelding samplen en filtering de kloof niet kan overbruggen.

Uitrekking, packing en verspilde ruimte

Als een island is samengedrukt ten opzichte van zijn echte oppervlakte, rekt de texture daar uit — detail smeert uit en resolutie gaat feitelijk verloren. Checkerpatroon-overlays bestaan juist om dit zichtbaar te maken: gelijke vierkanten betekenen een gelijkmatige verdeling van texels.

Packing is de andere helft van het werk. Islands moeten de UV-ruimte strak vullen, want elk leeg gebied is textureresolutie waarvoor je hebt betaald en die je niet hebt gebruikt. Overlappende islands zijn meestal een fout, al is opzettelijke overlap een legitieme truc voor gespiegelde of herhaalde delen die pixels moeten delen.

Wanneer je niet hoeft te unwrappen

Niet elke workflow vereist schone UV’s. Triplanaire projectie sampelt een texture uit drie richtingen in de wereldruimte en blendt de resultaten, wat rots, terrein en hard-surface-tiling afhandelt op meshes zonder enige bruikbare UV’s.

Bakken is de uitzondering die het afdwingt: ambient occlusion-, curvature- en thickness-maps schrijven allemaal in de UV-ruimte, dus ze hebben niet-overlappende islands nodig om zinvol te zijn. Een tiling-UV-layout levert een lege of verminkte bake op.

Veelgestelde vragen

Waar staat UV voor?

Niets, als acroniem — U en V zijn gewoon de assennamen van de textureruimte, gekozen omdat X, Y en Z al de positie van het model in de 3D-ruimte beschreven.

Moet ik een model unwrappen voordat ik het textureer?

Voor geschilderd detail en gebakken maps wel. Triplanaire en tiling-projectie kunnen een mesh van textures voorzien zonder bruikbare UV’s, maar voor het bakken van AO, curvature of thickness zijn niet-overlappende islands nodig.

Waarom is mijn texture op één plek uitgerekt?

Die island is in de UV-ruimte kleiner dan de echte oppervlakte, dus minder texels bedekken meer geometrie. Relax of herschaal de island zodat de texel density overeenkomt met de rest van het model.

Wat is een UV-naad?

De rand waar het oppervlak is doorgesneden om het plat te leggen. Naden zijn onvermijdelijk op gekromde geometrie — het doel is ze te plaatsen waar ze niet te zien zijn, niet ze te elimineren.