Blender 3D – UV mapping en unwrapping

print
Deze handleiding maakt deel uit van de cursus:


Inhoud


Wat vooraf ging


Inleiding

Een UV Map is een 2D map met de coördinaten U en V (in een 3D map spreken we van X, Y en Z).

Een UV map is dan ook een weergave van een 3D object in een 2D map. Het proces om een 3D object om te zetten naar een 2D map wordt UV unwrapping genoemd.

  • UV unwrapping is nodig wanneer u een 2D texture (eventueel via Texture painting) wilt aanbrengen. Ook wanneer u deze 2D Texture wilt aanbrengen in andere software (bv. in Unreal Engine).

En dit is belangrijk, het is dus niet altijd nodig.

  • Wilt u gewoon een object maken dat u wilt uitprinten dan zal UV unwrapping niet nodig zijn.
  • Wilt u procedurele texturing gebruiken, een soort van geprogrammeerde texturing die ontstaat door code en niet op basis van een 2D Texture, dan is UV unwrapping niet nodig.
  • Verkiest u de texturing in andere software te doen (bv Substance Painter), die een eigen unwrapping proces heeft, dan kunt u er misschien voor opteren de UV unwrapping in die andere software te doen.

UV unwrapping is eerder een technisch proces waar u vaak doormoet. Voor velen is dit het minst leuke gedeelte van heel het modelleerproces.

Weet ook dat Blender 2.8 automatisch UV unwrapt bij het modelleren zelf en vaak is deze unwrap best wel oké en is verdere UV unwrapping niet nodig.

Om al deze redenen ga ik de bespreking van UV mapping en UV unwrapping beperken tot een kennismaking.


UV Unwrap

De UV editor geeft het 3D object weer in een 2D projectie.

Wellicht hebben we allemaal in onze kinderjaren vormen uitgesneden uit een (2D) blad en deze dan gevouwen tot een 3D ontwerp.

UV unwrapping doet het omgekeerde, het gaat ons 3D object “open vouwen, plat vouwen” tot een 2D object. Je kunt ook stellen dat de 3D vorm in 2D geprojecteerd wordt.

Blender 2.8 maakt de UV’s bij het toevoegen van een nieuw object standaard automatisch aan (Generate UV’s is standaard aangevinkt).

Waarom is UV Unwrap nodig?

De texture afbeelding dat we wensen op ons 3D object te plaatsen (eigenlijk te “mappen”, we spreken dan ook van texture mapping) is een 2D afbeelding. Om een 2D afbeelding op een 3D object te mappen/plakken moet dit 3D object correct naar 2D omgezet kunnen worden.

Dit gebeurt via UV unwrapping. Doen we dit niet, of niet goed, dan zal de texturing niet “passen”.

UV wordt ook wel eens de lijm tussen uw het 3D object en de bekleding/textuur/materiaal genoemd. Is deze lijm op de juiste plaatsen aangebracht dan zit alles goed.

Hieronder ziet u een aantal perfecte voorbeelden:

  1. Links – het Object
  2. Middenlinks – de Wireframe
  3. Middenrechts – de Textuur
  4. Rechts – De UV unwrap

Meer voorbeelden vindt u op de ArtStation-pagina van Andrew Hodgson (Senior Hard Surface Modeller bij Industrial Light & Magic).

UV Unwrappen voorbereiding

Om een object, de kubus, te UV Unwrappen:

  • ga naar UV Editing.

In de UV editor (links) ziet u de 2D projectie van de 3D kubus.

  • Klik de knop Keep UV and Edit mode mesh selection in sync aan.

  • Ga naar Face-selectie en selecteer de bovenste face. U ziet nu waarmee deze overeenkomt in de UV map.

U kunt dus nu kiezen waar u selecteert, de selectie wordt gesynchroniseerd.

Een andere belangrijke instelling is de mogelijkheid om de Stretching van de UV mapping te zien. Hoe meer stretching hoe slechter de mapping.

  • U visualiseert Stretching via de Sidebar (N-toets) – View en Stretching aanvinken.

Blauw is perfect, hoe meer naar rood toe hoe meer stretching en hoe slechter de UV mapping zal zijn.

Hoewel het hier weinig verschil maakt wordt Area Stretching boven Angle Stretching (de standaard) vaak aanbevolen.

De UV mapping, en dus ook de latere texturing, van onze kubus is perfect (volledig blauw) of toch bijna, want de voorzien UV ruimte wordt niet optimaal benut.

Manieren van unwrapping

Om dit te demonstreren heb ik de kubus verwijderd en de meer complexe Suzanne toegevoegd.

  • Ga eventueel naar Object-mode,
  • selecteer de kubus en klik op Delete.
  • De kubus is verwijderd, kies nu voor AddMeshMonkey.

Zoals reeds aangehaald worden UV’s automatisch gegenereerd bij het toevoegen van het object.

  • Ga naar de UV  Editor,
  • selecteer Suzanne en activeer Stretching (zie hierboven).

U ziet een bijna perfecte UV mapping, veel blauw en slechts een klein beetje groen, meer dan goed genoeg.

Oké, niets moeilijks aan UV unwrapping, Blender doet het automatisch, joepie!.

Nouja, niet te snel, dit verliep perfect omdat het object, Suzanne, ongewijzigd gebleven is, eens we het object beginnen te wijzigen zijn we de originele, bijna perfecten UV mapping kwijt, we hebben immers de vorm gewijzigd, en moeten we opnieuw een UV unwrapping doen op één van de volgende manieren.

Bovendien, zet een de Stretching op Area.

Er komt nu toch al wat geel opduiken. Het lijkt dus toch niet zo goed te zijn als eerst gedacht.

We gaan dus steeds ook een kijkje moeten nemen naar Stretching Area.

UV Unwrap

  • Kies voor UVUnwrap.

Standaard, er wordt rekening gehouden met de gemarkeerde Seams (zie hieronder).

U merkt meteen dat deze UV unwrap niet al te best is, zeker niet in Stretching Area waar het bijna volledig rood is.

Om de kwaliteit van de UV unwrap te bepalen hebt u 3 criteria:

  • De mate waarin u het object herkent. In deze unwrap is Suzanne niet meteen te herkennen.
  • Blauwe kleuren voor stretching. We zien meer groene tinten en minder de blauwe.
  • De lay-out van de “eilanden”. De lay-out is hier onduidelijk, er overlapping in het centrum.

Eigenlijk, geen al te goed werk. We zullen dit moeten verbeteren door Seams te markeren (zie hieronder).

Smart UV project

  • Kies voor UVSmart UV project.
  • Bevestig de standaardwaarden.

Om de kwaliteit van de UV unwrap te bepalen hebt u 3 criteria:

  • De mate waarin u het object herkent. In deze unwrap is Suzanne eveneens niet meteen te herkennen.
  • Blauwe kleuren voor stretching. De stretching zit redelijk goed, de kleur is vooral licht tot donker blauw.
  • De lay-out van de “eilanden”. De lay-out is goed verspreid.

Al bij al een betere UV unwrap maar weet dat u deze techniek van Smart UV project niet kunt gebruiken wanneer uzelf Seams plaatst (zie hieronder). Al bij al, een bruikbare UV unwrap.

Cube Projection

  • Kies voor UVCube Projection.

De UV mapping wordt aangemaakt door projectie op de 6 zijden van een kubus.

U merkt dat het resultaat ver van perfect is (lijkt meer op een duiveltje).

Cylinder Projection

  • Kies voor UVCylinder Projection.

De UV mapping gebeurt door projectie op de gebogen rand van een cylinder.

Ik weet niet wat u ervan vindt maar ik moet denken aan Picasso, fantastische kunstenaar, maar dit is ver van een goede UV mapping.

Sphere Projection

  • Kies voor UVSphere Projection.

Niet veel beter dan bij de Cylinder Projection, dit is ook logisch, de primitieve vorm van Suzanne is geen Cylinder of Sphere en een projectie hierop zal dus niet het gewenste resultaat geven.

Project from View

  • Ga naar een specifieke View (bv. Front View).
  • Kies voor UVProject from View.

Duidelijk geen goede opvulling van de UV ruimte (hoewel dit niet noodzakelijk is toch aan te bevelen).

  • Kies voor UVProject from View (Bounds).

Op het eerste zicht is dit niet slecht maar…

  • Selecteer eens een face van de achterkant van Suzanne.

Merk op dat deze face overlapt is, verscholen, achter de voorkant (de rood omrande face bovenaan). Niet ideaal dus.

Let op, overlapping op zich hoeft geen probleem te zijn, en vaak laat men zelfs “eilanden”, overlappen ALS de delen die overlappen dezelfde texture moeten krijgen.

Bovenstaande, automatische UV unwrappingen waren matig tot oké, maar zelden heel goed. Wilt u het heel goed doen dan zal u het handmatig moeten doen. U zal dus Seams moeten markeren (zoals hierboven een paar keer aangehaald).

Mark Seam

Wilt u het UV Unwrappen zelf in handen nemen dan moet u de edges aanduiden die u zou “losknippen” moest u handmatig van een 3D object een 2D afbeelding willen “uitvouwen”. Om los te kunnen knippen moet u aanduiden waar u wilt knippen, dit doet u door Seams te markeren.

Om dit te demonstreren vertrek ik weer vanuit een nieuwe project met de kubus.

  • In Edit-mode, activeer Edge-selectie en selecteer de edge(s) die u wilt “knippen”.
  • Klik vervolgens op EdgeMark Seam om deze te markeren. Bij het unwrappen zulen deze Seams gebruikt worden om de UV Unwrap aan te maken.

Opmerking, bij een eenvoudige vorm, zoals deze kubus kunt u eventueel gewoon alle buitenste edges markeren als een Seam. Zo hebt u vrijwel zeker geen UV-problemen.

Als u zelf de Seams markeert moet u steeds kiezen voor Unwrap (en niet voor Smart UV Project, die automatische unwrapt zonder rekening te houden met uw Seams).

  • Selecteer alle edges van de kubus en kies voor EdgeMark Seam.

  • Gemarkeerde Seams krijgen een rode kleur.
  • Open ook al de UV Editor.
  • Kies UVUnwrap.

U hebt opnieuw een “perfecte UV mapping“, want opnieuw volledig blauw. Merk op dat de lay-out anders, beter is want hij neemt beter de voorziene UV ruimte is.

Maar… toch is dit geen betere UV unwrapping dan de onderstaande, originele.

Waarom?

Wel, omwille van een andere regel die zegt dat eilanden zo geconnecteerd als mogelijk moeten blijven.

Conclusie, u kunt niet zomaar “domweg” alle randen selecteren, u dient de meest voordehandliggende edges te markeren als Seams, deze edges die u normaal zou “losknippen” om het 3D object in de echte wereld te ontvouwen tot een 2D object.

Dit vraagt dus een heel goed ruimtelijk inzicht of veel Trial and Error.

Seams From Islands

Een truckje kan het volgende zijn.

We hebben reeds gezien dat de UV unwrap, standaard redelijk oké is maar niet goed genoeg.

Merk reeds de 5 verschillende eilanden op. Het is mogelijk om deze eilanden meteen te markeren als Seams.

  • Kies in de UV EditorUVSeams From Islands.

  • Doe een standaard UV Unwrap.

Een duidelijke verbetering en een mooi beginpunt om verder te verbeteren.

  • Een verdere optimalisatie zou kunnen via UV EditorUVAverage Islands Scale.

Maar veel is er niet veranderd, eigenlijk niets.

Handmatig schalen

Als eventuele laatste hulp in nood, kunt u handmatig schalen. Gebruiken onder voorbehoud!

  • Tenslotte zou u moeilijke gevallen, oranje of rode faces die u niet weg krijgt via Seams, in de UV Editor kunnen selecteren. Ik heb de 2 gele op het voorhoofd geselecteerd. Let op, zorg ervoor dat de synchronisatie uit staat (knopje linksboven)!

  • En proportioneel schalen.

Let op, dat u op andere plaatsen geen verlies aan kwaliteit hebt door deze manier van werken. In mijn voorbeeld is het groen en blauw toegenomen en heeft het een beetje winst opgeleverd.

Nog even dit:

  • U kunt de Seams ook markeren door ze te selecteren in de UV Editor en de synchronisatie aan te zetten (zie hierboven).
  • Een Seam weer wegnemen doet u door deze te selecteren en vervolgens te kiezen voor Clear Seam.

Unwrap Suzanne

Onderstaande video’s tonen het UV unwrappen van Suzanne.


Praktische voorbeelden

Unwrap en Texture Paint een zwaard

U hebt wellicht reeds een zwaard aangemaakt. Onderstaande video toont hoe u een zwaard (dus niet noodzakelijk uw zwaard) kun UV unwrappen. Texture Painting krijgt u er als voorproefje gratis bij.

Advance Unwrapping & Making Texture Atlases

Gevorderd Unwrappen van complexere objecten voor Texture Painting en gebruik in games.


Doorlopend videoproject

Een doorlopend videoproject is een videotutorial, opgedeeld in meerdere delen, die u wegwijs maakt in Blender.

Geef een reactie

Deze website gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.

  • Abonneer je op deze website d.m.v. e-mail

    Voer je e-mailadres in om je in te schrijven op deze website en e-mailmeldingen te ontvangen van nieuwe berichten.