Start

I den här guiden kommer vi att gå igenom hur man applicerar en textur med alfalager och en normal map på ett objekt.

Vi utgår som vanligt från Blenders standardkub.



Skapa en UV-map

När man texturerar ett objekt så behöver man för bästa resultat "unwrappa" objektet. Det här kan liknas vid att man klipper upp objektet längs utvalda kanter och lägger det på en platt yta så att man kan lägga en bild ovanpå.

Det är lite som papercraft, fast baklänges.

Den resulterande 2-dimensionella bilden kallas för en UV-map. Anledningen till att den heter så är teknisk - man mappar 3-dimensionella koordinater (x,y,z) till 2-dimensionella, som man då ger namnen u respektive v.

Det finns flera olika sätt att skapa den här UV-mappen, men det sätt vi ska använda är det mest grundläggande och precisa sättet, nämligen att definera kanter att skära längs själv och sedan vika upp modellen enligt dem.

Börja med att välja de kanter som vi ska skära längs. Resultatet bör bestå av så få separerade delar som möjligt, så när det gäller en kub så vill vi alltså sätta ut sömmar på ett sådant sätt att hela kuben kan läggas platt i ett stycke.

För att definera kanterna att skära längs markerar du en kant och trycker ctrl+e. Då poppar det upp en meny som innehåller vanliga funktioner som används i textureringssammanhang. Menyvalet vi är ute efter är "Mark seam". Klicka på det och kanten du just markerade får en annan färg som markerar att den är satt till att vara en söm. Det här kan göras med valfritt antal kanter markerade.

Om du skulle råka märka någon kant som söm av misstag så är det bara att markera den berörda kanten, trycka ctrl+e och välja "Clear seam" i menyn.

När du satt ut de sömmar du vill ha trycker du på u och väljer "Unwrap" i menyn som poppar upp. Det verkar antagligen inte som att det hänt något. För att se UV-mappen måste man nämligen plocka fram ett fönster av typen "UV/Image Editor". Jag rekommenderar att du byter ut outlinern uppe till höger, men det viktiga är att du får upp ett sådant fönster någonstans.

Nu bör du kunna se din UV-map i det nya fönstret. Om du har otur så har det inte gått riktigt som du tänkt dig, då får du lägga om dina sömmar och unwrappa igen till dess att det blir bra.

Skapa en textur

Nu när vi har någonting att mappa texturen mot så ska vi lägga in en textur att mappa upp.

Klicka på material-knappen i knappfönstret för att komma till objektets materialinställningar. Här behöver vi bara skapa ett nytt material, och sedan gå vidare till texturinställningarna, som finns direkt till höger om knappen för materialinställningar. Där klickar du på "New" för att lägga till en textur på objektet. Nu ska det ha dykt upp en hel del nya knappar däromkring.

Klicka på rullistan vid "Type:" - den börjar normalt sett på "Clouds". Vi vill byta den till "Image or Movie".

Då återstår bara att faktiskt välja den bild man vill använda som textur. Det görs en bit längre ner i texturinställningarna, under rubriken "Image". Där kan man välja om man vill skapa en ny bild i Blender ("New") - det kan vara praktiskt om man vill testa något snabbt - eller om man vill ladda in en bild utifrån ("Open"). Oftast kommer man vilja ladda in bilder utifrån, eftersom Blenders interna bildredigeringsverktyg minst sagt lämnar något att önska.

Här finns en exempeltextur som man kan använda i den här guiden.

Nu har vi en textur som syns på objektet om vi ställer om visningsläget till "Textured mode".

Texturen har en stor svart fläck i mitten. Den här fläcken är ett område som i originalbilden är genomskinligt, något vi inte sett till att materialet kan hantera. Det problemet löser vi lite senare.



Använd UV-mappen

Nu är texturen inlagd, men den använder inte UV-mappen som vi skapade innan, utan den mappas ut med hjälp av automatgenererade texturkoordinater.

För att byta till att använda din UV-map, går du till texturinställningarna, tittar under rubriken "Mapping" (den här finns bara om du först har skapat ett material), och väljer UV i rullistan vid "Coordinates:".

När du gjort det ska det ha dykt upp ett nytt fält direkt under menyn du just klickade i, som är rubricerat "Layer:". Om du klickar där får du möjlighet att välja mellan de UV-mappningar som finns för objektet. Oftast finns bara en, och då kan man också strunta i att välja UV-map eftersom Blender klarar det själv, men för säkerhets skull är det alltid bra att välja rätt map.

För att allt ska ritas ut korrekt i 3d-vyn och senare i spelmotorn behöver vi göra lite inställningar för Blender som helhet. Först och främst behöver vi byta output från "Blender Render" till "Blender Game" i renderarinställningarna överst i Blender-fönstret. Vidare ska vi ställa om inställningarna för texturutritning. Det görs i en meny vi inte har tittat på hittills, nämligen objektegenskaperna.

Under rubriken "Display" i objektegenskaperna finns en rullista märkt "Shading:". Den brukar som standard stå inställd på "Multitexture", men vi ska byta den inställningen till "GLSL". Notera dock att alla objekt är dubbelsidiga i GLSL-läge. Det betyder att texturen ritas ut på båda sidor av en yta, dock måste normalerna fortfarande peka rätt för belysningens skull.

Finjustera UV-mappen

När vi skapade UV-mappen så hade vi ingenting att mappa den till, så vi lade ut ytorna på ett sätt som verkade allmänt vettigt men inte var anpassat till någonting speciellt. Nu ska vi se till att UV-mappen faktiskt mappar den pålagda texturen på ett vettigt sätt.

I UV/Image editor-fönstrets menyrad finns en knapp som är märkt "New", och till vänster om den en liten bildikon. Om du klickar på bildikonen så poppar det upp en meny som visar alla bilder som för närvarande är inladdade i Blender. Om du väljer din textur i den listan (det borde bara finnas en bild att välja på), så visas den bakom din UV-mappning.

Om inga ytor visas i UV-fönstret, så beror det på att din kubs ytor inte är markerade. Gå in i edit mode och markera alla ytor, så visas mappningen i UV-fönstret igen.

Nu kan du med hjälp av samma kommandon du använder i 3d-vyn flytta, skala och rotera din UV-mappning (och dess enskilda delar) i UV-fönstret.

I det här fallet spelar din mappning inte jättestor roll, eftersom det är en såpass enkel textur och modell.

Lägg på en normal map

En normal map gör att en platt yta ser skrovlig ut när den belyses från olika håll. Det hela baseras på att mappen bestämmer hur starkt och åt vilket håll ljus som faller på texturen ska reflekteras, vilket leder till en känsla av att ytan är mer detaljerad än den egentligen är.

Här finns en normal map att hämta som passar till texturen vi använde innan.

För att använda en normal map på ett objekt tillsammans med en annan textur, måste vi först skapa en till textur att applicera på objektet. Gå därför till texturinställningarna och skapa en nu image-textur, på samma sätt som tidigare. Se till att även den nya texturen använder samma UV-map som den förra, och ladda sedan in normal mappen i Blender för användning som den nya texturen.

Nu ska hela objektet ha blivit lätt lila. det här beror på att Blender defaultar till att mappa en textur till objektets färg - s.k. diffuse mapping, den teknik som änvändes för att den förra texturen skulle ritas ut - så vi måste stänga av den nya texturens färgpåverkan och ställa in den på att agera normal map.

Detta görs på två ställen i texturinställningarna. Först så klickar du i kryssrutan märkt "Normal map" under rubriken "Image Sampling", och sedan går du ner till rubriken "Influence". Det är här man bestämmer vilka av modellens egenskaper som ska påverkas av en viss textur. I vårt fall vill vi stänga av färgpåverkan (klicka ur "Color") och sätta på normalpåverkan (klicka i "Normal"). När normalpåverkan är igång, dra reglaget upp och ner för att se effekten av inställningen. Lämna det på ett värde du tycker verkar bra.

Du har nu en färdigtexturerad kub med normal mapping.

Alfalager

Nu ska vi se till att den där svarta pricken mitt på texturen blir genomskinlig.

För att få Blender till att kunna visa ett objekt som genomskinligt måste vi först göra hela objektet helt genomskinligt, och sedan ställa in texturen på att bestämma hur "oigenomskinligt" objektet ska vara i varje texturpixel. För det här behövs alltså en textur med ett alfalager, så texturer i png-format är att föredra (jpg har inte alfastöd).

Först ska vi alltså göra hela objektet genomskinligt. För att göra det går du till materialinställningarna och scrollar ner till rubriken "Transparency". Kryssa i kryssrutan och expandera menyn. Här finns ett reglage märkt "Alpha" som står på 1.0 - dra ner det till 0. Nu ska din kub vara helt genomskinlig i object mode.

Nu ska vi gå tillbaka till texturinställningarna och aktivera alfalagrets påverkan på texturen.

Se först till att rätt textur är vald - vi vill göra inställningar för bildtexturen, inte normalmappen. Se också till att "Alpha: Use" är ikryssat under "Image Sampling" och fortsätt sedan ner till rubriken "Influence". Här kryssar du i "Alpha:" och ser till att reglaget står på 1.

Nu ska du ha ett stort genomskinligt hål någonstans i ditt objekt, beroende på hur du lagt din UV-map.

Packa ner texturerna

För att texturerna ska följa med när man flyttar på sin blend-fil, så måste de packas in i filen.

Detta görs genom att man i "File"-menyn klickar på "External data" och väljer "Pack into .blend file".

Vill man sedan packa upp dem för att exempelvis redigera en textur i ett externt program, går man in i samma meny och väljer "Unpack info files" istället.