UV mappen in Blender

Een tijdje geleden heb ik eens een stukje geschreven over hoe je een model dat je in Blender hebt gemaakt als een Torque DTS bestand kunt opslaan. Nu is het zo dat dat UV mappen van objecten best wel eens een lastig karweitje kan zijn, wanneer je niet meer met de standaard geometrische vormen werkt. Vandaar dat ik dit proces toch maar eens wat wil gaan verduidelijken. Basis model zonder texturesJe hebt dus een model, zoals het plaatje hiernaast bijvoorbeeld. Nu selecteer je het model en druk je op 'f' om blenders face mode te activeren. Je model zal er nu uitzien zoals het plaatje hier onder.
Basis model in face modeVervolgens druk je op 'a' om alle faces waaruit het model bestaat te selecteren. Wanneer alle faces geselecteerd zijn kun je naar de UV editor van blender gaan door op het 'window type' knopje te drukken en vervolgens 'UV/Image editor' te selecteren. Hier zie je hoe de individuele faces geprojecteerd worden op de texture.
Lege UV editorOmdat we nog niks gedaan hebben zullen de faces 1 op 1 de gehele texture beslaan. Een mooi plaatje zal dit in ieder geval niet worden. Nu zullen we dus een manier moeten vinden om alle faces in het model netjes op de texture te projecteren. Gelukkig hoeven we hier niet echt voor te vrezen want Blender heeft al een aantal versies lang de LSCM Unwrap functie. In het kort houdt dit in dat blender zal gaan proberen alle faces zo goed mogelijk uit te smeren over de texture. Laten we het eens gaan proberen. We zitten nog steeds in face mode en hebben ook alle faces nog geselecteerd. Nu houden we de muis boven een 3D window en drukken we op de 'u', vervolgens kiezen we in het popup menu dat verschijnt 'Unwrap'.
Standaard unwrapped textureOok hier kunnen we niet zo veel mee. We zullen blender toch nog wat hints moeten gaan geven over hoe deze texture opgedeeld kan worden. Gelukkig is ook dit mogelijk. Hiervoor zullen we knipranden moeten gaan definieren. Ik zal proberen dit uit te leggen aan de hand van plaatjes. We beginnen door naar edit mode te gaan (druk 'tab') omdat we anders geen edges kunnen selecteren.
Selecteer een randOp dit plaatje zie je dat ik de gehele rand langs de zijkant heb geselecteerd. Dit is het begin om aan te geven waar de kniprand moet gaan komen.
Markeer de randWanneer de kniprand is geselecteerd druk je op 'ctrl-e' en kies je 'Mark seam' uit het submenu. Let op: hoewel ik de gehele rand in dit voorbeeld in een keer heb geselecteerd, kun je het ook edge voor edge doen. Dit is alleen maar meer werk, maar maakt voor het resultaat niet uit.
Randmarkering klaarDit proces herhalen we dan voor de andere zijkant, de voorkant en de achterkant. Zodat we de 6 vrijwel platte vlakken van de auto 'uitgeknipt' hebben. Nu we de knipranden gedefinieerd zijn verlaten we edit mode weer door nogmaals op 'tab' te drukken. We zijn als het goed is nog steeds in face mode, en we zorgen ervoor dat alle faces nog steeds geselecteerd zijn (door eventueel nog een keer op 'a' te drukken voor 'select all'). Druk in een 3d venster weer op 'u' en kies weer 'Unwrap' uit dit menu.
Goede UV MapZoals het plaatje hiernaast al aangeeft lijkt het nu al een stuk beter wanneer we in de UV editor kijken. Nu zorgen we ervoor dat elk afzonderlijk deel van de UV map niet meer overlapt met een ander deel, en gaan we het geheel een beetje groter maken zodat de gehele UV map zo groot mogelijk in het vierkant van de UV editor staat. Mooie UV MapRechts zie je een plaatje van hoe ik het gedaan heb. Nu is de UV map klaar, en moeten we zorgen dat het een mooi plaatje gaat worden. Alleen hier lopen we dan weer tegen het probleem aan dat het wat lastig is om een plaatje te gaan maken dat mooi over deze UV map heen past. Dus wat ik normaal doe is een screenshot maken van de UV editor. Daarna de Gimp openen en het clipboard plakken als een nieuw beeld. Nu kun je in de Gimp het licht grijze vlak selecteren, kopieeren (ctrl-c), en weer plakken als een nieuw beeld. Dit is als het goed is een perfect vierkant plaatje, maar als het per ongeluk niet zo is (het scheelt wel eens 1 pixel) dan schalen we het plaatje naar een perfect vierkant. Normaal maak ik dan de achtergrond van het plaatje geel of gif-groen of zo, zodat wanneer ik het als een texture gebruik goed kan zien of het goed gedaan is. Is dit namelijk niet het geval dan zie ik gifgroene delen op mijn model zitten en weet ik dat er ergens tijdens het UV mappen iets is fout gegaan. In principe zijn we nu klaar met UV mappen en kan de texture ingekleurd gaan worden.
Voor de volledigheid van de tutorial gaan we het model nog even snel exporteren naar een Torque DTS bestand, om te kijken hoe dit model er in-game uit zal gaan zien. Hiervoor voegen we twee empties toe die we 'shape' en 'Detail32' noemen, die we aan het model maken en geven we het model een materiaal en een texture, die net zo heten als de texture. Vergeet niet dat de texture een grootte moet heben dat een macht van 2 is, dus 64x64, 128x128, 256x256, etc. Voor de volledige details kun je de pagina over de Blender naar Torque exporter raadplegen.
Model met texture in gameWanneer het model geopend wordt in de Torque Showtool Pro zal het er uit zien als het plaatje links. Het grote voordeel van deze methode is dat het plaatje van de texture nog steeds de edges bevat. Dit helpt bij het inkleuren van de texture, omdat je op de texture kan zien waar de lijnen van ramen, deuren, bumpers, etc precies zitten. Zoals je hier onder kunt zien kloppen de lijnen in de texture ook daadwerkelijk met het wireframe van het model.
Wireframe model in game

Taxonomy upgrade extras: 

4 Comments

Hey Ruben, Ik neem aan dat

Hey Ruben,

Ik neem aan dat je een texture downloaden bedoelt, aangezien een UVMap nogal afhankelijk is van de vertices in je model. En een texture downloaden is een heel ander verhaal. Daar wordt het ineens een stuk lastiger van. Hier leg ik uit hoe je een screenshot maakt van je UVMap en deze vervolgens inkleurt. Wanneer je een texture zou downloaden zul je er ook voor moeten worden dat je UVMap weer precies over deze texture heen valt. Dat is vaak een probleem omdat je er vanuit kan gaan dat je net een ander aantal vertices gebruikt dan voor de oorspronkelijke texture bedoelt was. Hierdoor krijg je heel moeilijk de UVMap precies over de texture. Het is dan waarschijnlijk nog steeds het makkelijkt om de texture die je gedownload hebt een beetje over je model heen te knippen en plakken. Maar dit vergt nog steeds wat 2D kwaliteiten.