Lag grafikk til 3d-spill

UV Layout

Når du skal teksturere et objekt som skal brukes i et spill, må du koble teksturen til objektet slik at spillmotoren kan vise teksturen.
Dette gjøres ved å lage et 2D-kart av overflaten til 3d-objektet. ‘UVW mapping’ er en mattematisk teknikk som på en nøyaktig måte lager et kart over overflaten til 3d-objektet, der hvert punkt i kartet (map) korrensponderer med et punkt på overflaten til objektet.

Blender har egne verktøy for å lage slike kart, og i Blender kalles et slikt kart for en ‘UV-layout’. Dette er en 2 dimensjonell flat strektegning av flatene til 3D-objektet, der du kan tegne eller lime inn andre bilder i tegningen ved hjelp av et bildebehandlings-program slik som f.eks. Gimp.

Når du har bearbeidet UV-layouten, lagrer du tegningen som en egen bildefil. Denne bildefilen kalles for en ‘texture map’ (et tekstur kart).
Når du skal legge tekstur-kartet over 3D-objektet igjen, bruker du en teknikk som heter ‘UV mapping’. Blender har også egne verktøy for å legge tekstur-kartet over 3D-objektet.

Hele denne prosessen kalles gjerne for ‘unwrapping’ (pakke dem ut), og dette refererer til handlingen med å brette ut og skrelle av overflaten til et 3d-objekt, og endre den til en flat 2d-tegning.

Opprett først et 3d-objekt i 3d-scenen. I eksemplet her skal vi bruke en enkel hus-modell med skråtak. Pass på at 3d-modellens normals vender utover, slik at du senere unngår problemer med visningen av teksturen:
Klikk på knappen «Editing F9» i knappe-vinduet, og klikk på knappen «Draw normals» i «Mesh Tools Moore» -panelet. Dette vil vise modellens normals som små blå streker som stikker ut fra midten av flatene i modellen (1).

1

Disse strekene skal alle strekke seg utover på utsiden av modellens flater. Dersom strekene vender innover på noen av flatene, må du markere disse flatene, og velge ‘Mesh > Normals > Recalculate Outside’ i header-linja til 3d-scene vinduet, slik at normalene peker utover (2).

2

Dersom normalene er vanskelige å se, kan du gjøre de blå strekene lengre ved å øke verdien for ‘Nsize’ i tekstboksen over «Draw Normals» -knappen (1).
Trykk ‘Tab’-tasten på tastaturet for å vise modellen i redigerings (edit) -modus.
Velg ‘Egde’ (linje) som valg-modus (trykk ‘Ctrl + Tab’ på tastaturet for å åpne ‘Select Mode’ menyen og velg ‘Egde’, eller klikk på ‘Egde Select mode’ -knappen i 3d-scenens menylinje) (3).

3

For at vi skal kunne lime en uv-tekstur på flatene til modellen, må vi fortelle Blender hvordan overflaten til modellen ser ut. Dette gjør vi ved å brette ut hele overflaten til modellen, og gjøre den om til en flat 2d-tegning. For å få til dette må vi lage noen kutt i modellen, slik at overflaten kan brettes ut langs disse kuttene. Kuttene må gjøres langs modellens linjer.
Først markerer vi linjene der kuttene skal være.
Høyreklikk på en linje for å markere den (4.1). Hold inne shift-tasten på tastaturet mens du markerer resten av linjene (4.2). På denne måten beholdes markeringene av alle linjene (4.3).

4

Forestill deg at hus-modellen er en pappeske som du skal flatpakke, og marker kuttene slik at pappesken kan brettes ut til en eller flere flater.
Når alle kuttene er markert på denne måten, må vi fortelle Blender at de markerte linjene er kuttlinjer:
Trykk ‘Ctrl + E’ på tastaturet for å åpne ‘Egde Specials’ -menyen, og velg ‘Mark Seam’.
De markerte linjene får nå en kraftig oransje farge, for å vise at Blender har registrert linjene som kutt (5).

5

Vi skal nå brette ut modellens overflate, og gjøre den om til en flat 2d-tegning.
Det er egentlig ikke selve overflaten som brettes ut, men et bilde av overflaten som gjøres om til en flat tegning.
Velg alle flatene til modellen ved å trykke ‘A’ -tasten på tastaturet. (Når alle flatene i modellen er valgt får modellen en fiolett farge).
Trykk ‘U’ -tasten på tastaturet (pass på at musepekeren befinner seg i 3d-scenen mens du gjør dette; ellers vil ikke tastatur-snarveien fungere), for å åpne ‘UV Calculation’ -menyen. Klikk på menyvalget ‘Unwrap’ (6).

6

Blender har nå generert et 2D-kart av modellens overflate. 2D-kartet er lagret i Blenders ‘UV/Image-editor’, så vi må åpne ‘ UV/Image-editor’ vinduet for å se 2d-kartet.
(Pass på at alle flatene i modellen fremdeles er markert, før du åpner ‘ UV/Image-editor’ vinduet, ellers vil ikke 2D-kartet vises!).

Du kan åpne ‘ UV/Image-editor’ vinduet ved å klikke på «Display Current Window Type»-knappen (Vis Nåværende Vindu-type) helt til venstre i verktøylinja under 3d-scenen. (I Blender kalles denne verktøylinja også for «Header»). Dette åpner menyen ‘Window type’ (Vindu-typer), der du velger  ‘ UV/Image-editor’ for å endre vinduet med 3d-scenen til et ‘ UV/Image-editor’ vindu.
Vi skal imidlertid velge en annen fremgangsmåte for å vise ‘ UV/Image-editor’ vinduet, fordi vi behøver å ha både 3d-scenen og ‘UV/Image-editor’ -vinduet åpent samtidig, mens vi redigerer 2D-kartet:
Del 3d-scene vinduet i to ved å føre musepekeren over linjen som skiller 3d-vinduets header-linje og knappe-vinduets header-linje. Når musepekeren endrer seg til en dobbelpil (7), klikker du med høyre musetast for å åpne område-menyen.

7

Velg ”Split Area” (8).

8

En grå strek tegnes da opp tvers over hele 3d-scene vinduet (9).

9

Denne grå streken følger musepekeren, og du kan nå føre streken dit du vil dele 3d-scene vinduet i to, og klikke med venstre musetast for å dele vinduet. Du har nå to 3d-scene vinduer (10).

10

Størrelsen på vinduene kan justeres ved å klikke og dra i overgangen mellom vinduene med venstre musetast mens musepekeren er en dobbelpil (10).
Endre det høyre vinduet til et ‘ UV/Image-editor’ vinduet ved å klikke på «Display Current Window Type»-knappen (Vis Nåværende Vindu-type) helt til venstre i verktøylinja (11).

11

I ‘ UV/Image-editor’ vinduet kan du nå se 2D-kartet av modellens overflate (12).

12

I Blender kalles 2D-kartet for en UV-layout. UV-layouten vil ikke vises i ‘ UV/Image-editor’ vinduet dersom ikke alle flatene til 3d-modellen i 3D-scene vinduet er markert. Så dersom du ikke ser UV-layouten i ‘UV/Image-editor’ vinduet, må du markere alle flatene til 3d-modellen ved å trykke ‘A’-tasten på tastaturet mens musepekeren befinner seg i 3D-scene vinduet (12).
‘UV/Image-editoren’ har mange verktøy for å redigere UV-layouten slik at det ferdige tekstur-kartet tilpasses 3d-modellen så nøyaktig som mulig.
UV-layouten som Blender har generert er, som navnet sier, en layout og en grunnskisse som viser hvordan flatene til 3d-modellen ser ut. Denne grunnskissen eksporteres som en bildefil i TGA eller SVG formatet, slik at du kan bearbeide den i et bildebehandlings-program (f.eks. Gimp) eller tegneprogram (f.eks. Inkscape). Bearbeidingen kan bestå i å legge inn fotografi i layouten der fotografiene tilpasses formen på flatene, eller du kan tegne dine egne mønstre eller tegninger i flatene. Bildet som da er laget på grunnlag av layouten importeres deretter i ‘UV/Image-editoren’ igjen.
Noen av verktøyene i ‘UV/Image-editoren’ brukes for å lage en god UV-layout, slik at du får et godt utgangspunkt når du skal bearbeide layouten i et bildebehandlings-program/tegneprogram, mens andre verktøy i ‘UV/Image-editoren’ brukes for å justere det ferdige bildet etter at det er importeret i Blender igjen, slik at det kan tilpasses 3d-modellen på best mulig måte.
La oss først se på verktøyene som brukes for å lage en god UV-layout.
Mange av verktøyene  i ‘UV/Image-editor’ vinduet som brukes for å endre på flatene i UV-layouten er de samme som brukes for å endre på 3d-modellen i 3d-scene vinduet. Du kan f.eks. zoome inn og ut i UV-layouten ved å rulle med musehjulet eller trykke ‘+’ og ‘-‘ tastene i det numeriske tastaturet. Du kan også flytte rundt i visningen av layouten ved å klikke og dra med midterste musetast (musehjulet). Du kan markere en vertex eller en flate (face) i UV-layouten ved å venstreklikke på vertexen/flaten, og du kan velge flere vertexer/flater samtidig ved å velge ‘border-select’ verktøyet (trykk B-tasten på tastaturet), og dra en firkantet markering rundt vertexene/flatene du ønsker å markere. Du kan flytte på markerte vertexer/flater ved å velge flytte-verktøyet (trykk G-tasten på tastaturet), eller du kan markere eller velge bort alle vertexene/flatene i UV-layouten ved å trykke A-tasten på tastaturet. Du kan også skalere markerte vertexer/flater ved hjelp av skaler-verktøyet (S-tasten på tastaturet), eller rotere dem ved hjelp av roter-verktøyet (R-tasten på tastaturet).

Når Blender genererer UV-layouten plasseres ofte flatene «hulter til bulter». Tak-flatene i huset vårt kan f.eks. være plassert i hver sin ende av layouten, og flater som i 3d-modellen har samme dimensjoner, kan i layouten ha fått ulike dimensjoner. Dette er skjevheter som vi må ordne på i layouten før vi kan eksportere den som en bildefil.
Dersom flater som tilhører hverandre i 3d-modellen (slik som f.eks. de to tak-flatene, de to hus-mønene, de to lang-veggene, og de to kort-veggene) også plasseres ved siden av hverandre i layouten, vil det være mye letter og mer oversiktelig å bearbeide layouten i et bildebehandlingsprogram. Det er også viktig at flater som har samme dimensjon i 3d-modellen (slik som f.eks. de to hus-mønene) også har samme dimensjon i layouten. Dersom vi f.eks. la inn et bilde av en tømmervegg i flatene til hus-mønene, der den ene flaten i layouten var større enn den andre, ville bildet av tømmerveggen fått ulik størrelse i mønene på 3d-modellen, når det ferdige tekstur-kartet ble lagt på 3d-modellen.

Heldigvis har Blender mange verktøy for å endre på layouten.

I 3d-scenen kan du velge mellom å vise 3d-modellens vertexer, flater (faces) eller linjer (egdes) når 3d-modellen vises i redigerings-modus (Edit mode). På samme måte kan du også velge mellom å vise UV-layouten´s vertexer, flater (faces) eller «øyer» (Islands) i  ‘UV/Image-editoren’:
I header-linja til ‘UV/Image-editor’ vinduet er det 3 knapper for ulike visnings-modus (13).

13

Det er ‘UV vertex select mode’ (standard valg-modus), ‘UV Face select mode’, og ‘UV Island select mode’. UV-layouten åpnes alltid i ‘UV vertex select mode’. I dette visnings-moduset kan du markere og manipulere vertexene i layouten, på samme måte som du kan endre på vertexene til 3d-modellen i 3d-scenen når modellen vises i ‘Vertex select mode’.
(Legg merke til at funksjonene kalles for «select mode» dvs. valg-modus, fordi de ulike modusene gir ulike måter å velge de ulike elementene til layouten på).
La oss bruke ‘UV vertex select mode’ (standard valg-modus) for å endre på den ene flaten som tilhører et av hus-mønene:
Høyreklikk på en av vertexene til flaten for å markere den (14.1). Hold inne shift-tasten, og høyreklikk på de to andre vertexene til flaten (14.2), slik at alle vertexene blir markert (14.3).

14

Trykk G-tasten på tastaturet, og flytt flaten slik at den plasseres ved siden av den andre hus-møn flaten (15).

15

Venstreklikk, eller trykk Enter-tasten på tastaturet for å avslutte flyttingen.
Husk på at du kan låse flytteretningen ved å trykke en etterfølgende retnings-tast etter at du har trykket G-tasten: Trykk på G-tasten etterfulgt av X-tasten for å låse flyttingen horisontalt, eller trykk G-tasten etterfulgt av Y-tasten for å låse flyttingen vertikalt.
Når hus-møn flatene senere i et bildebehandlings-program skal fylles med et fotografi av en tømmervegg, er det en fordel at de har samme rotasjon; altså at spissen til mønet peker oppover. På denne måten er det lettere å se hvordan fotografiet av tømmerveggen skal plasseres i flatene, når dette gjøres i bildebehandlings-programmet. Vi må altså rotere hus-møn flaten vi har markert 180 grader rundt:
Trykk R-tasten på tastaturet, og roter flaten ved hjelp av musen (16).

16

Hold inne Ctrl-tasten på tastaturet før du klikker venstre musetast for å avslutte rotasjonen. Dette låser rotasjonen, slik at den blir nøyaktig 180 grader. Du kan også trykke R-tasten etterfulgt av tallet ‘180’ for å rotere flaten nøyaktig 180 grader.
Dersom hus-møn flaten vår ikke er like stor som den andre, må skalere den ned eller opp slik at den begge hus-møn flatene får samme størrelse. Trykk G-tasten på tastaturet, og flytt den markerte flaten oppå den andre hus-møn flaten for å se hvor mye den markerte flaten må skaleres. Forsøk å sentrer flaten i forhold til den andre hus-møn flaten så nøyaktig som mulig før du klikker med venstre musetast for å avslutte flyttingen. Trykk S-tasten på tastaturet, og skaler den markerte flaten ved å dra i musen (17).

17

Venstreklikk for å avslutte skaleringen. Trykk G-tasten igjen, og flytt den markerte flaten slik at den ligger ved siden av den andre hus-møn flaten.
Ved å bruke disse verktøyene kan du justere alle flatene i UV-layouten, slik at du får en oversiktlig layout som er lett å  bearbeide i et bildebehandlings-program. Pass på at ingen flater overlapper hverandre eller stikker utenfor rutenettet til ‘UV/Image-editoren’. Det er raskere å justere layouten men den er i ‘UV Face select mode’, fordi du da bare behøver å markere selve flatene (faces), slik at du slipper å markere én og én vertex.
Klikk på knappen ‘UV Face select mode’ i header-linja til ‘UV/Image-editor’ vinduet for å vise flatene (faces) til UV-layouten (18).

18

Når du forsøker å flytte på flatene (faces) til UV-layouten  vil du oppleve at noen av flatene henger sammen i hverandre, og ikke lar seg flytte uten at du deformerer de andre flatene. Dette kommer av at noen flater som ligger ved siden av hverandre deler de samme vertexene. Marker alle flaten i layouten ved å trykke A-tasten på tastaturet, og klikk på knappen «Sticky UV Selection» i header-linja til ‘UV/Image-editor’ vinduet (19).

19

Velg ‘Disable’ i menyen som åpnes, slik at alle flatene i UV-layouten får egne uavhengige vertexer.
‘UV/Image-editoren’ har et annet kraftig verktøy som er svært nyttig i arbeidet med å lage en oversiktlig layout: Du kan synkronisere 3d-visningen av 3d-modellen med visningen av UV-layouten i ‘UV/Image-editoren’, slik at når du høyreklikker på en flate i layouten så vil flatens plassering også markeres i 3d-modellen.
Klikk på knappen ‘Sync UV and Mesh Selection’ i header-linja til ‘UV/Image-editor’ vinduet for å slå på denne funksjonen (20), og høyreklikk på en av flatene i UV-layouten.

20

Flatens plassering i 3d-modellen vil da også bli markert (21).

21

På denne måten vet du nøyaktig hvor i 3d-modellen flaten hører hjemme, og du kan plassere flatene i UV-layouten på en logisk og oversiktlig måte: flatene til kort-veggene kan lett plasseres ved siden av hverandre, og på samme måte kan du nå legge flatene lang-veggene og tak-flatene ved siden av hverandre, slik at det blir lettere å legge på fotografiene i layouten i et bildebehandlings-program. Du kan også nå finne ut hvilken flate som tilhører gulvet i hus-modellen. Denne flaten vil ikke vises i den ferdige teksturerte 3d-modellen, og du kan trygt skalere ned denne flaten til et minimum, og på denne måten gi mer plass til de andre flatene i layouten (22).

22

Vær oppmerksom på at når du deaktiverer  ‘Sync UV and Mesh Selection’ -funksjonen vil alle flatene i layouten, utenom den som er markert, forsvinne! Trykk A-tasten på tastaturet mens musepekeren befinner seg i 3d-scene vinduet og marker alle flatene i 3d-modellen, for å vise alle flatene i layouten  igjen i ‘UV/Image-editor’ vinduet.
Det er som regel best å la flatene i layouten være så store som mulig. Derfor bør flater som ikke vil vises i den ferdig teksturerte 3d-modellen skaleres ned så mye som mulig, mens flater som vil være synlig bør være så store som mulig. Jo større flater du klarer å lage, jo bedre kvalitet vil teksturen få i den ferdige teksturerte 3d-modellen.
Når du endrer på flatene i layouten på denne måten vil det ofte oppstå problemer med at teksturen strekkes eller vrenges. Dette er ikke mulig å se før du har lagt inn et bilde i layouten. Heldigvis har Blender et eget test-bilde som du kan bruke for å sjekke og justere slike forvrengninger i layouten:
Klikk på menyvalget «Image» i header-linja til ‘UV/Image-editor’ vinduet, og velg «New» i menyen som åpnes (23).

23

Dette åpner et lite vindu som heter ‘New Image’. Her klikker du på knappen ‘UV Test Grid’ (24), og klikker deretter på ‘OK’ -knappen for å åpne test-bildet (25).

24

25

Nå kan vi bruke visningen av 3d-modellen i 3d-scenen til å sjekke om teksturen legger seg riktig over flatene i modellen. Teksturen skal ikke være fordreid eller ligge i feil retning.
Marker først alle flatene til UV-layouten i ‘UV/Image-editor’ vinduet, ved å trykke A-tasten på tastaturet mens musepekeren befinner seg i ‘UV/Image-editor’ vinduet. Pass også på at alle flatene i 3d-modellen er markert i 3d-scene vinduet.
Klikk deretter på knappen «Viewport Shading» i header-linja til 3d-scene vinduet, og velg ‘Textured’ som «Draw type» (tegne-metode) (26).

26

Vi kan nå se hvordan teksturen legger seg over 3d-modellen på alle flatene, ved å rotere 3d-modellen. Test-bildet består av hvite og sorte firkanter med pluss-tegn i ulike farger, og du sjekker om teksturen er korrekt på alle flatene ved å se om firkantene ikke er fordreid eller forstrukket.
Dersom f.eks. firkantene i teksturen til en av tak-flatene i 3d-modellen er mindre en firkantene i teksturen til den andre tak-flaten, må du skalere opp denne flaten i ‘UV/Image-editoren’, slik at firkantene i teksturen blir like store i begge tak-flatene.
Dersom firkantene i teksturen til en flate i 3d-modellen ikke er likesidet, tyder dette på at denne flaten har feile proposjoner i UV-layouten, og er strukket for mye i én retning. Du kan da skalere flaten i én retning ved å trykke S-tasten på tastaturet etterfulgt av X eller Y-tasten. Trykker du X-tasten vil skaleringen gjøres horisontalt, og trykker du Y-tasten vil skaleringen gjøres vertikalt.
Du bør også sjekke om flatene i UV-layouten har blitt speilvendt underveis. Det er ikke mulig å se dette kun ved hjelp av test-bildet, men du kan tegne/skrive dine egne tall eller bokstaver i flatene i layouten for å sjekke dette:
Når du la inn test-bildet i UV-layouten dukket det opp tre nye knapper på høyre side i header-linja til ‘UV/Image-editor’ vinduet (27).

27

Disse knappene (‘Enable image painting’, ‘Draws image with alpha’, og ‘Draws only alpha’) gir tilgang til tegne-funksjonen i ‘UV/Image-editoren’. Klikk på knappen ‘Enable image painting’ for å aktivere tegne-verktøyet (27). Flatenes omriss i layouten blir da til tynne grå linjer for å indikere at musepekeren nå fungerer som pensel (28).

28

Det kan hende du må zoome inn i layouten for å se flatenes omriss tydelig. Skriv inn et tall eller en bokstav i hver av flatene, ved å klikke og holde inne venstre musetast mens du tegner, og kontroller deretter i 3d-scenen om noen av tallene vises speilvendt på flatene i 3d-modellen (29).

29

Dersom et tall vises speilvendt i en flate i 3d-modellen må du speilvende denne flaten i UV-layouten:
Deaktiver tegneverktøyet ved å klikke på ‘Enable image painting’ -knappen igjen i header-linja til ‘UV/Image-editor’ vinduet.
Bruk «Mirror»-funksjonen for å speilvende flaten. Når du bruker «Mirror»-funksjonen speiles flaten horisontalt eller vertikalt. Klikk på menyvalget «UV´s» i ‘UV/Image-editor’ vinduets header-linje, og velg ‘Mirror -> Y Axis’ i menyen som åpnes, for å speilvende flaten loddrett, eller velg ‘Mirror -> X Axis’ for å speilvende flaten vannrett (30) (31).

30

31

Du vil nok ofte oppdage at du burde laget sømmene i 3d-modellen annerledes, og på den måten fått en annen UV-layout. Husk på at du når som helst kan lage en ny layout og begynne på nytt. Marker da alle flatene i 3d-objektet i 3d-scene vinduet, og bruk tastatursnarveien ‘Ctrl + E’ for å åpne ‘Egde Specials’ -menyen. Klikk på menyvalget «Clear Seam» for å slette alle markerte sømmer (32).

32

Deretter oppretter du nye sømmer, og lar Blender generere en ny UV-layout ved å trykke U-tasten på tastaturet, og velger «Unwrap» i ‘UV Calculation’ -menyen.
Blender har også en fin funksjon som lar deg slette bare noen av sømmene, og lar de du ønsker å beholde stå urørt igjen:
Pass på at ‘Sync UV and Mesh Selection’ -funksjonen i ‘UV/Image-editoren’ er deaktivert, og velg vertex visnings-modus (UV vertex select mode). Marker alle vertexene til flatene i UV-layouten som du ønsker å beholde, og klikk på menyvalget «UV´s» i header-linja til ‘UV/Image-editor’ vinduet. Velg «Pin» i menyen som åpnes (33).

33

Vertexene du markerte vil nå bli røde, for å vise at disse vertexene er låst (34).

34

Nå kan du slette alle sømmene til 3d-modellen i 3d-scene vinduet, og legge inn nye sømmer uten å miste flatene du markerte i UV-layouten i ‘UV/Image-editoren’. For når du deretter bruker ‘Unwrap’ -funksjonen for å opprette en ny UV-layout, vil flatene med vertexene som er låst forbli uberørt.
Dette er en svært arbeidsbesparende funksjon, fordi du slipper å på nytt måtte redigere flatene i layouten som ikke behøvde å rettes på.
Pass på å benytte plassen, som rutenettet i ‘UV/Image-editoren’ tilbyr, så godt som mulig. Dersom det er mye ubrukt tomrom etter at du omsorgsfullt har tilpasset flatene i UV-layouten, så skaler gjerne hele layouten opp så mye som mulig: Marker alle flatene i layouten ved å trykke A-tasten på tastaturet, og trykk deretter S-tasten for å skalere alle flatene på én gang. Så lenge alle flatene skaleres like mye på denne måten, vil det ikke oppstå noen uregelmessige forstrekkninger. Pass også på at ingen av flatene overlapper hverandre eller stikker utenfor rutenettet.

Når du har ordnet UV-layouten slik at den kan redigeres i et bildebehandlings-program, eksporterer du den som en bildefil i TGA eller SVG formatet:
Marker alle flatene i layouten, og klikk på menyvalget «UV´s» i header-linja til ‘UV/Image-editor’ vinduet. Velg ‘Script -> Save UV Face Layout…’ i menyen som åpnes (35).

35

Dette åpner verktøyvinduet til ‘UV Image Export’ -scriptet (36).

36

‘UV Image Export’ -scriptet har flere innstillinger. Du kan bl.a. bestemme piksel-størrelsen på teksturen (Size): Klikk på linjen ‘Size’, og skriv inn størrelsen du ønsker. Bildet opprettes automatisk likesidet, så størrelsen du angir bestemmer både høyden og bredden på bildet. Du kan også eksportere UV-layouten som en vektorgrafikk-fil (SVG).
Når du klikker på ‘OK’ -knappen åpnes ‘Save UV (Lagre UV) vinduet i knappe-vinduets posisjon. Gi bildefilen navn, og klikk på ‘Save UV (tga) -knappen for å lagre den som rastergrafikk i formatet TGA. TGA er et gammelt filformat som kan åpnes av de fleste bildebehandlings-program.
Husk å lagre Blender-fila når du har redigert UV-layouten og eksportert TGA-fila! Når du senere importerer tekstur-kartet, vil tekstur-kartet bli lagt inn i UV-layouten i ‘UV/Image-editoren’ igjen.

Nå skal vi åpne bildefilen med UV-layouten, i bildebehandlings-programmet Gimp.
I Gimp kan du lage din egen tekstur ved å tegne direkte i bildet, eller lime inn fotografier av f.eks. vegger, tak, mur etc.
UV-layouten  viser flatene i 3d-modellen, slik at du vet hvilken del av 3d-modellen du tegner på. Men ha også 3d-modellen (og UV-layouten) åpen i Blender mens du arbeider i Gimp, slik at du har god oversikt over hvor i 3d-modellen flatene i layouten hører hjemme. Når du til slutt har lagret det ferdig bearbeidete tekstur-kartet (som en TGA-fil), og har lastet denne inn i 3d-modellen i Blender igjen, kan du også raskt gjøre nødvendige endringer i tekstur-kartet i Gimp, og se resultatet i Blender bare ved å klikke på «Reload Image» -knappen i Blender. Så hold begge programmene åpne, og jobb i begge to samtidig.
I Gimp kan du enten tegne inn din egen tekstur i UV-layouten, eller lime inn fotografier som passer å bruke som tekstur i 3d-modellen (f.eks. blader og løvverk i modeller av trær og vegetasjon, eller fotografier av takstein og tømmervegger i modeller av hus og bygninger).
I eksemplet her skal vi legge inn et fotografi av en tømmervegg og et fotografi av takstein fordi vi skal lage tekstur-kart til en hus-modell.
Legg fotografiene inn i bildet ved å velge ‘Fil > Åpne som lag…’ i bildevinduets bildevindumeny (37).

37

Når fotografiene åpnes på denne måten, legges de automatisk inn i bildet i egne lag, over laget med selve layouten (bakgrunn-laget) (38).

38

Dersom fotografiene må skaleres ned (de må aldri skaleres opp; dette ødelegger kvaliteten såpass mye at fotoene ikke kan brukes som tekstur), så marker laget med fotografiet i lag-listen i  ‘Lag, kanaler, baner’ -vinduet, og velg ‘Skalerings-verktøyet’ i verktøykassen. Klikk på fotografiet i bildevinduet, og dra i en av skaler-firkantene i hjørnene til fotografiet, mens du holder inne Ctrl-tasten (39).

39

Ved å holde inne Ctrl-tasten mens du drar sammen fotoet med musen, beholdes aspekt-ratioen (forholdet mellom lengden og bredden) til fotoet, slik at motivet ikke forvrenges.
Bruk filteret ‘Uskarp maske’ (velg ‘Filter > Forbedre > Uskarp maske’ i bildevinduets meny) etterpå, og skarp opp fotografiet slik at kvaliteten blir så god som mulig. Dersom du behøver flere fotografier av samme type, så opprett kopier av de du har, ved å klikke på ‘Dupliser’ -knappen i ‘Lag, kanaler, baner’ -vinduet, mens laget med det aktuelle fotografiet er markert i lag-listen (40).

40

Bruk rotasjons -og flytte verktøyene for å plassere fotografiene på rett sted i layouten i bildevinduet.
De ulike fotografiene vil ofte komme i veien for hverandre. Du fletter da sammen lagene med samme type fotografier, og beskjærer det flettede laget: marker det øverste laget som skal flettes ned, venstreklikk på laget, og velg ‘Flett sammen nedover’ i menyen som åpnes (41).

41

Deretter reduserer du lagets gjennomsiktighet ved å dra ‘Dekkevne’ -hendelen i ‘Lag, kanaler, baner’ -vinduet ned til ca. 50% (42).

42

Så velger du ‘Beskjærings-verktøyet’ i verktøykassen, og haker av for valget ‘Bare gjeldende lag’ i verktøysalternativ -menyen under verktøykassen.
Beskjær det aktive laget i bildevinduet slik at fotoet kun dekker flatene det skal dekke i layouten.
Dersom du har laget en god UV-layout, og lagt flater, som skal ha samme type tekstur, ved siden av hverandre, blir det lettere å tilpasse fotografiene til layouten på denne måten.

Fortsett å dupliser fotografiene, og bruk layouten i bakgrunn-laget som mal for å gi dem rett plassering. Reduser gjennomsiktigheten til lagene med fotoene (ved hjelp av ‘Dekkevne’ -hendelen i ‘Lag, kanaler, baner’ -vinduet), slik at du kan se layouten med flateomrissene under (43).

43

Ved hjelp av denne metoden kan du lage en svært detaljert tekstur til 3d-modellen. Du kan f.eks. lime inn foto av dører og vinduer, legge på vindskier på taket eller legge inn en liten remse med gress nederst på veggen. Husk bare på å bruke fotografier med så god kvalitet som mulig. Når den ferdig teksturerte 3d-modellen brukes i et 3d-spill er det ofte spilleren (kamera) kommer nært innpå 3d-modellen, og da vil gode fotografier gi modellen et mer realistisk inntrykk med en tekstur som har skarpe linjer og klare farger.
Når du skal eksportere teksturen som TGA-fil, må du passe på at dekkevnen til alle lagene er 100%. Husk også på å skjule (bakgrunn) laget med selve UV-layouten, ved å klikke bort øye-ikonet foran navnet til laget i ‘Lag, kanaler, baner’ -vinduet (44).

44

Du vil nå ha en bildefil som består av et lappeteppe av sammenlimte fotografier, der hvert av fotoene er plassert i posisjonen til en egen flate i UV-layouten.

Nå kan vi importere dette tekstur-kartet i Blender, og legge det over 3d-modellen.

I 3d-scene vinduet markerer du først 3d-modellen som skal ha tekstur-kartet, og åpner panelene med material-funksjonene i knappe-vinduet (klikk «Shading» -knappen [F5], og klikk deretter på «Material buttons» -knappen i header-linja til knappe-vinduet).
Vi skal opprette et eget materiale som teksturen skal ligge i. Dette materialet vil automatisk bli lenket til det markerte 3d-objektet i 3d-scenen. I panelet «Links and Pipeline» er det en tekstboks som heter «Link to Object». Klikk på den lille knappen med pil i, som er plassert helt til venstre i tekstboksen, og velg «Add New» i menyen som kommer opp (45)

45

Klikk deretter inni tekstboksen, og gi det nye materialet et nytt unikt navn. Vær oppmerksom på at Blender alltid oppretter et nytt materiale på grunnlag av det forrige aktive materialet. Dvs. at det nye materialet egentlig er en kopi av det materialet som var aktivt i «Link to Object» tekstboksen da du klikket på «Add New». Dersom materialet du kopierte hadde mange spesielle egenskaper, må du altså passe på å endre alle egenskapene dersom du ikke ønsker dem i ditt nye materiale. Så husk på å opprett et nytt materiale på grunnlag av et materiale som har lignende egenskaper med de du ønsker at det nye materialet skal ha.

I eksemplet her skal vi lage et materiale som er av en av de enkleste typene materiale for spill-grafikk: «Blender Multitexture Materials». Med denne typen materiale vil du kunne lage 3d-spill som også kan spilles på pc´er med helt enkle grafikk-kort. Pass bare på å ikke bruke noen form for lys-objekter i spillet (f.eks. Lamp, Spot e.l.l.), så vil et slikt spill kunne brukes selv med et integrert Intel grafikkkort. Du kan også lage mer avanserte materialer for 3d-spill, med Blender, og som kalles «Blender GLSL Materials». Ulempen er selvsagt at kun kraftige grafikk-kort med støtte for GLSL-grafikk kan benytte seg av mulighetene som GLSL gir, og at spillet høyst sannsynlig vil kræsje ved bruk av andre grafikk-kort. Du velger hvilken type materialer spillet ditt skal bruke ved å klikke på menyvalget «Game» i header-linja til ‘User Preferences’ vinduet (46).

46

I menyen som åpnes kan du også velge hvilke egenskaper GLSL-materialene skal ha.

Siden vi her i eksemplet skal lage et «Blender Multitexture Materials» materiale, behøver du i første omgang kun å endre én egenskap: Åpne panelet «Map Input», og velg «UV» (47).

47

Dette vil fortelle Blender at UV-koordinatene skal brukes som tekstur-koordinater i materialet.
Klikk deretter på knappen «Texture Buttons (F6)» i header-linja til knappe-vinduet. Øverst i «Texture» -panelet er det en tekstboks med navnet til den aktive teksturen. Klikk på den lille knappen med pil på til venstre i tekstboksen (48), og velg «Add New» i menyen som åpnes, for å opprette en ny tekstur (49).

48

49

Gi den nye teksturen et unikt navn, ved å klikke inni tekstboksen og skrive inn navnet (50).

50

Vi har nå opprettet en eget tekstur til materialet. Hvert Blender-materiale kan inneholde opp til 10 teksturer, men i «Blender Multitexture Materials» materialet vårt behøver vi bare en tekstur.

Materialer i Blender kan bruke hverandres teksturer, og det er derfor svært viktig å passe på at hver tekstur får et eget unikt navn. Teksturen slik den er nå har ingen egenskaper, for vi har ikke valgt hvilken type teksturen skal være.
Du velger hvilken type teksturen skal være ved å klikke på knappen «Texture type» (51), og velge tekstur-type fra listen (52).

51

52

Dette åpner et eget panel der du justerer tekstur-typens egenskaper (52). Når du justerer disse egenskapene vil det kun være denne teksturen med det unike navnet som har disse innstillingene.

Velg «Image» som tekstur-type, og klikk på knappen «Load» i «Image» -panelet for å laste inn TGA-fila vi lagret tekstur-kartet i (53).

53

Tekstur-kartet som nå vises i «Preview» -panelet, skal vi laste inn i UV-layouten slik at det legges på 3d-modellen (54).

54

I 3d-scene vinduet endrer du først visnings-modus til «Edit mode» (redigerings modus). Marker deretter alle flatene i 3d-modellen ved å trykke A-tasten på tastaturet, og velg «Textured» som visnings-type ved å klikke på knappen «Viewport Shading» i header-linja til 3d-scene vinduet.
Når et bilde lastes inn i Blender er det også tilgjengelig i bilde-listen i ‘UV/Image-editor’ vinduet: Klikk på den lille knappen med pil på, i header-linja til ‘UV/Image-editor’ vinduet, og velg tekstur-kartet i listen som åpnes (55).

55

Tekstur-kartet vil nå vises i UV-layouten i ‘UV/Image-editor’ vinduet, samtidig som teksturen også vises i 3d-modellen i 3d-scene vinduet (56).

56

Trykk TAB-tasten på tastaturet for å vise 3d-modellen i objekt-modus i 3d-scenen.
Dersom du ikke er helt fornøyd med teksturen (kanskje tømmerstokkene ble for store og urealistiske i forhold til størrelsen på veggen?), kan du skalere ned fotografiene i layouten i Gimp, lagre TGA-fila på nytt, og laste inn tekstur-kart igjen i Blender ved å klikke på «Reload» -knappen i Image» -panelet i knappe-vinduet.

Det enkle «Multitexture» -materialet vårt skal brukes i et 3d-spill som kan spilles med alle grafikk-kort. Spillet skal av den grunn ikke inneholde reelle lys eller skygger. Dette vil i utgangspunktet gi et flatt og livløst inntrykk av omgivelsene. For å unngå dette kan du la Blender generere et tekstur-kart med skygge, basert på UV-layouten til 3d-modellen. Dette kalles for et «Ambient occlusion» -kart: Skyggene i 3d-modellen genereres på grunnlag av et lys som ikke er retningsbestemt (dette kan sammenlignes med vanlig dagslys, der lyset er like sterkt i alle retninger slik at det ikke dannes skygger). Når dette retningsløse lyset treffer 3d-modellen, er det 3d-modellens struktur og utforming som bestemmer hvordan lyset skal blokkeres (lage skygger) og reflekteres (opplyses). Det er altså ikke lysets retning som bestemmer hva som skal skyggelegges eller opplyses i 3d-modellen.
Vær oppmerksom på at helt enkle 3d-modeller (slik som hus-modellen vår) ikke vil bli noe bedre ved hjelp av et «Ambient occlusion» -kart, fordi meshen har så enkel struktur at den ikke vil produsere noen spennende skygger. Du kan løse dette problemet ved å plassere en annen 3d-modell ved siden av den enkle 3d-modellen. Den enkle 3d-modellen vil da ta i mot skyggen fra sin nabo, og på den måten få mer liv i flatene.

Å lage 2d-bilder på grunnlag av 3d-modellen kalles i Blender for «Baking». Denne prosessen er kun mulig dersom 3d-modellen har en UV-layout med et tekstur-kart lagt inn.

Så la oss lage et «Ambient occlusion» -kart til hus-modellen vår!
Fordi hus-modellen vår er av den enkle sorten, lager vi oss en «nabo» som kan kaste en livfull skygge på huset vårt: Modeller et helt enkelt tre ved å sette et UVsphere-objekt oppå en lang tynn sylinder, og sett treet tett ved siden av huset (57).

57

Marker hus-modellen igjen, og endre visnings-modus til Edit-mode ved å trykke TAB-tasten på tastaturet. Pass på at alle flatene i 3d-modellen i 3d-scene vinduet er markert ved å trykke A-tasten på tastaturet, slik at du også kan se tekstur-kartet i UV-layouten.
Åpne «Scene» -vinduet (F10), og klikk på «Render buttons» -knappen i header-linja til knappe-vinduet. Åpne «Bake» -panelet med funksjonene og innstillingene for å render bake ulike typer tekstur-kart (58).

58

«Full render» er standard-valget.
Klikk på knappen «Ambient occlusion» for å fortelle Blender at det er et«Ambient occlusion» -kart som skal renderes (58). Pass på at innstillingen for «Margins» er satt til verdien 2 eller mer. Dette sikrer passelig avstand mellom flatene i UV-layouten under renderingen, noe som hindrer gap eller forvrengninger i det ferdige renderte bildet.

Klikk på «Bake» -knappen, og vent mens Blender genererer «Ambient occlusion» -kartet, for dette kan ta litt tid. Tekstur-kartet i UV-layouten og i 3d-modellen vil forsvinne fra visningen, og erstattes med et midlertidig rendert «Ambient occlusion» -kart (59).

59

Tekstur-kart er ikke slettet. Det er kun erstattet med «Ambient occlusion» -kartet. Når bake-renderingen er ferdig kan du flytte treet litt bort i fra huset i 3d-scenen, for å se skyggen bedre. Hadde hus-modellen vår hatt en mer avansert konstruksjon (med f.eks. takoverheng, modellerte døråpninger og vinduslister) ville dette gitt mer spennende bakte skygger i hus-modellen.

Det renderte «Ambient occlusion» -kartet er ikke lagret ennå. (Legg merke til at menyvalget «Image» i header-linja til ‘UV/Image-editor’ vinduet, er merket med et lite stjerne-tegn, for å indikere at «Ambient occlusion» -kartet ikke er lagret ennå) (59). Klikk på menyvalget «Image», og velg «Save As» i menyen som åpnes (60).

60

Lagre TGA-fila med et annet navn enn tekstur-kartet, slik at det opprinnelige tekstur-kartet ikke overskrives (61).

61

Vi skal nå lime «Ambient occlusion» -kartet inn i tekstur-kartet ved hjelp av Gimp:

Åpne TGA-fila med det første tekstur-kartet vårt, i Gimp, og åpne «Ambient occlusion» -kartet som et eget lag, ved å velge ‘Fil > Åpne som lag’ i bildevindumenyen. Dette vil legge bildet med «Ambient occlusion» -kartet i et eget lag øverst i lag-listen i ‘Lag, kanaler, baner’ -vinduet (62).

62

Med laget aktivt velger du «Hardt lys» som lag-modus (63).

63

Dette vil blande skyggens farger med teksturens farger på en overbevisende måte (64).

64

Prøv gjerne andre lag-modus også!
Ta vare på den orginale tekstur-kart fila: Lagre bildet som en Gimp-fil i XCF-formatet, for i dette formatet beholdes lagene intakt. Lagre deretter en kopi av bildet (Fil > Lagre en kopi’ i bildevindumenyen) i TGA-formatet med navnet til den orginale tekstur-kart fila. Når du får beskjed om at dette vil overskrive den gamle TGA-fila med tekstur-kartet, så klikk ‘OK’ for å bekrefte overskrivingen. Det orginale tekstur-kartet er i god behold i XCF-fila, og når det nye tekstur-kartet med skyggelaget har samme navn som orginal fila, er det bare å trykke på «Reload»-knappen i Blender for å laste inn den nye teksturen:
Klikk på «Shading» (F5) -knappen i header-linja til knappe-vinduet. Klikk deretter på «Texture buttons» (F6) -knappen for å åpne panelene med tekstur-verktøyene. I panelet «Image» viser den øverste tekstboksen hvilket bilde som er lagt inn i UV-layouten. Klikk på «Reload» -knappen bak tekstboksen for å laste inn TGA-fila med tekstur-kartet.
Dersom den nye teksturen ikke vises med det samme i 3d-scene vinduet, så endre visnings-modus til ‘Edit mode’, og marker alle flatene. Klikk deretter på den lille ‘Browse…’ -knappen foran tekstboksen med bildefil-navnet, i header-linja til ‘UV/Image-editor’ vinduet, og velg TGA-fila på nytt (65).

65

 

Lese artikkelen offline?

Last ned artikkelen som pdf-fil

Advertisements