EXAMENSARBETE. 3D-Material inom realtidsgrafik. Natascha Schirmuli 2013. Teknologie kandidatexamen Datorgrafik



Relevanta dokument
Kv. Ogräset. Martin Stenmarck,

VISUELLA FÖRHÅLLANDEN

Spelutveckling 3d-grafik och modellering. Grunder för 3d-grafik Blender Animering

Grafiska pipelinen. Edvin Fischer

Kort introduktion till POV-Ray, del 3

C-UPPSATS. Revitalizing classic art using real-time game technology

Grundredigering i Photoshop Elements. Innehåll. Lennart Elg Grundredigering i Elements Version 2, uppdaterad

Fotorealism, animering, SW resurser

SÄTT DIG NER, 1. KOLLA PLANERINGEN 2. TITTA I DITT SKRIVHÄFTE.

Fokus. Mirjam HY, Hovåsskolan F- 9, Hovås

FORMGIVNING TEXTIL SIMON BERGMAN

Vad skall vi gå igenom under denna period?

C-UPPSATS. Animation för spel

EXAMENSARBETE. Tekniker för optimering av modellering och texturering av spelmodeller. Anders Lorentzen. Teknologie kandidatexamen Datorgrafik

Det finns en röd tråd. Kanske så tunn att den knappt syns. Den tunna tråden syns bara med ord. Den tunna tråden är alla tankar som följt med hela

Tentamen TNM061, 3D-grafik och animering för MT2. Onsdag 20/ kl SP71. Inga hjälpmedel

Ungdomsutställningen i Hörnefors 2011

Koordinatsystem och Navigation

Resa till en av emberafolkets byar i Chagres National Park, Panama Hanna Rönnbäck, Kostymattributör, Konsthantverkare

Föreläsning 2 (kap , 2.6 i Optics)

G Ö R D I N E G E N P O R T F O L I O MED FINEART PAPER

GRANITKERAMIK. båda golv och vägg, ute som inne. Alla bruna. Karlstad Kakel, Magasin 2, Löfbergskajen, Karlstad,

Perfekt skärpa i Photoshop

10 poäng Den valda längden måste vara konsekvent på alla naglar i förhållande till nagelbädden. Förlängningen skall inte överstiga 50% av nagelbädden.

Människans möte med den mänskliga kroppen. Ett pedagogiskt studiematerial

Bra: Skön känsla i bilden, bra dynamiskt omfång. Gillar att man ser detaljer i gräset nedanför kullen. Kan förbättras: Balansen i bilden.

Så skapas färgbilder i datorn

4. lägg in övergångar

DD

WHEN DEKTON BECOMES NATURE

Grunder. Grafiktyper. Vektorgrafik

Grafik raytracing. Mattias Axblom.

Strömsholmen. Mårten Svensson, Peter Zhu, Andreas Wetteborn,

bilder för användning

HAIR SWEDEN. Skol SM Hår & Makeup Stylist

Tentamen TNM061, 3D-grafik och animering för MT2. Tisdag 3/ kl 8-12 TP51, TP52, TP54, TP56, TP41, TP43. Inga hjälpmedel

Skola: Landskap 10 tips för bättre landskapsbilder

Skapande av en modifikation till Crysis

Ett enklare sätt att färgsätta Breddar din designpalett

Giraffen & ballongen

Kort introduktion till POV-Ray, del 5

Retuschera och laga bilder med Photoshop

Bland alla ljustillsatser som finns tillgängliga för fotografer är paraplyer

En samling exempelfoton SB-900

Försättsblad till skriftlig tentamen vid Linköpings Universitet

Vi är beroende av ljuset för att kunna leva. Allt liv på jorden skulle ta slut och jordytan skulle bli öde och tyst om vi inte hade haft ljus.

Research. Erikdalsbadets utomhusbad i Stockholm

Ljuskällor. För att vi ska kunna se något måste det finnas en ljuskälla

Söka och undersöka - rum

design & layout Distansskolan 1

EXAMENSARBETE. Grafik för reklam. Karolina Hardinger. Teknologie kandidatexamen Datorgrafik

Manuell Produkter Painting The Past

Mätning av fokallängd hos okänd lins

Allta bilder du ritar med verktygen i verktygspanelen eller importerar är grafik.

D E C E M B E R. H i F i F O R U M s F O T O T Ä V L I N G

Dokumenteringar av mätningar med TLC (Thermocrome liquid crystals)

OPTIK läran om ljuset

Träslag. Tall. Björk

DEN RUNDA TUNNELN EN UNDERSKATTAD FIENDE

Grundredigering i Photoshop Elements

C-UPPSATS. Realistisk modellering för film

BACHELOR THESIS. Realistic Character Animation For Games. Rickard Paulsson. Luleå University of Technology

LANDING ZONE II (v1.0, uppgift 2 av 4) för 3D Animering B 1112

PROCEDUELL TERRÄNG. Proceduella metoder för bilder (TNM084) Jimmy Liikala Institutionen för teknik och naturvetenskap

BACHELOR THESIS. Efficient Optimizations Inside the Digital Advertise Production Pipeline. Michal Marcinkowski Mehmet Özdemir

Fira Pi-dagen med Liber!

Panorama och VR teknik

Procedurell grottgenerator och eld i GLSL. Marcus Widegren

ATT ARBETA MED VEKTORGRAFIK

Appar vi arbetat med. ipad projekt 2013 appar vi jobbat med. Nina Lundell Sida "1

munnen Rouge Välj färg i harmoni med läppstift och ögonskuggor. Applicera inte för nära ögonen, eftersom det är lätt att se svullen ut.

GRAFISK MANUAL 1.0 FÖR SYSTEMTEXTS PRODUKTVARUMÄRKEN JANUARI 2011

C-UPPSATS. Matte painting with fysical models

Sandra Österling. Examensarberte Keramikkonst Kandidatnivå 2014 Högskolan för Design och konsthantverk

Så här använder du de enklaste funktionerna i programmet: Starta programmet. Programmet startas från ikonen på skrivbordet.

Optik. Läran om ljuset

Soliga dagar. Kontakt Annika Palmgren Sofi Jonsevall Boktips En bok om solen av Pernilla Stalfelt

balja ett stort kärl av metall eller plast som man t.ex. diskar eller tvättar i bank ett företag där man t.ex. kan låna pengar eller spara pengar

Bildbehandling i frekvensdomänen

Kort introduktion till POV-Ray, del 1

Trollpengar. I trollens rike finns det pengar, men inte sådana som vi är vana vid. De använder sig av stenar, kottar och pinnar.

Kan utforskande av ljus och färg vara en del av språkarbetet på förskolan?

kapitel elva EN LJUSKÄLLA, DRAMATISK FRAMTONING Dramatiskt sidoljus

Natur och miljö, kurskod: SGRNAT7 Antal verksamhetspoäng: 1200

ZAR Oljebaserad Träbets

HUDEN - Instuderingsfrågor

3D skulptering Cinema4D

Alcro Designers Lasyr för träfasader. Utvalda kulörer för lasering av trähus med Alcro Timmer

Färglära. Ljus är en blandning av färger som tillsammans upplevs som vitt. Färg är reflektion av ljus. I ett mörkt rum inga färger.

Fotografera under vattnet. Likheter och olikheter

Måla med lackfärger. Väck liv i dina möbler och snickerier

Resledaren Användarguide iphone Innehåll

Vågfysik. Geometrisk optik. Knight Kap 23. Ljus. Newton (~1660): ljus är partiklar ( corpuscles ) ljus (skugga) vs. vattenvågor (diffraktion)

Lite verktyg och metoder Photoshop CS2

ETT LITE MJUKARE HASTA

Robin Wahlstedt Datavetenskap / Spel Vetenskapsmetodik rwt07001@student.mdh.se. Datorgrafik i spel

Bildoptimering för webben

Transkript:

EXAMENSARBETE 3D-Material inom realtidsgrafik Natascha Schirmuli 2013 Teknologie kandidatexamen Datorgrafik Luleå tekniska universitet Institutionen för konst, kommunikation och lärande

3D- MATERIAL INOM REALTIDSGRAFIK Natascha Schirmuli Teknologie kandidatexamen Datorgrafik Luleå Tekniska Universitet 26 april 2013

Förord Det här examensarbetet avslutar mina tre års studier inom Datorgrafik på Luleå Tekniska Universitet, där jag fördjupat och inriktat mig mot realtidsgrafik och nu tagit det ytterligare ett steg genom att undersöka material för realtidsgrafik som ämne för den här rapporten. Jag utförde mitt examensarbete under de två månader jag praktiserade på MachineGames i Uppsala. Jag vill särskilt tacka Kjell Emanuelsson och alla som jobbar på MachineGames för att jag fick den fantastiska möjligheten att arbeta med och lära mig från er. i

Sammanfattning I denna rapport behandlas frågeställningen: Hur kan man, med så få element som möjligt, skapa ett trovärdigt 3D-material; trovärdigt nog för att det ska kunna uppfattas som det verkliga material det försöker efterlikna? Som med mycket annat kan det vara en fördel att ha mer grundläggande förståelse för hur det man arbetar med och försöker efterlikna är uppbyggt. Syftet är att ta reda på om det finns några grundpelare i 3D- grafik som man bör ha i åtanke när man är ute efter att skapa ett visst sorts 3D- material utifrån verkligheten. Materialen som undersöks är trä, sten, metall, hud, hår/fjädrar och tyg. De presenteras i programmet Marmoset Toolbag och idén är att bryta ner dem till de minsta beståndsdelarna som behövs av ett material utan att förlora känslan av det materialet. För att göra detta används några enkla geometrier och ett bestämt antal av de vanligaste attributen inom realtidsgrafik samt kombinationer av dem för att se hur upplevelsen av materialet ändras. ii

Abstract This report deals with the question: How can one with as few elements as possible create a credible 3D material that can be perceived as the real material it s trying to emulate? As with anything else it can be an advantage to have a more fundamental understanding of how the material you are working with, and trying to emulate, is built. The aim is to find out if there are any fundemental pillars in 3D graphics to keep in mind when looking to create some sort of 3D content based on reality. The materials under study are wood, stone, metal, skin, hair / feathers and fabric. They are presented in the program Marmoset Toolbag and the idea is to break them down to the smallest components required of a material without losing the feeling of the material. To do this, a few simple geometries and a predefined number of the most common attributes of real-time graphics are used and combined in different ways to see how the perception of the material changes. iii

Innehåll 1 Introduktion 1 1.1 Frågeställning..................................... 1 1.2 Bakgrund....................................... 2 1.3 Syfte.......................................... 3 1.4 Avgränsningar..................................... 4 2 Teori 5 2.1 3D/Realtidsgrafik................................... 5 2.2 Polygonmodellering.................................. 5 2.3 3D-Material/Shaders................................. 6 2.4 Ljus.......................................... 8 3 Metod 9 3.1 Analys av verkliga material............................. 10 3.1.1 Sten...................................... 11 3.1.2 Trä....................................... 12 3.1.3 Metall..................................... 13 3.1.4 Tyg...................................... 14 3.1.5 Hud...................................... 15 3.1.6 Hår....................................... 16 3.1.7 Fjädrar.................................... 17 4 Skapandet av 3D-Materialen utifrån analys 18 4.1 Sten.......................................... 18 4.2 Trä........................................... 18 4.3 Metall......................................... 20 4.4 Tyg.......................................... 20 4.5 Hud.......................................... 21 4.6 Hår........................................... 21 4.7 Fjädrar......................................... 22 5 Slutsats 23 5.1 Resultat........................................ 23 5.2 Diskussion....................................... 24 5.2.1 Sten...................................... 24 5.2.2 Metall..................................... 25 5.2.3 Hud...................................... 25 5.2.4 Tyg...................................... 26 5.2.5 Trä....................................... 26 5.2.6 Hår....................................... 27 5.2.7 Fjädrar.................................... 28 6 Företagets arbetsflöde 29 7 Referenser 31 iv

Ordlista Mesh - En benämning för en geometrimodell skapad av polygoner. Shader - Används för att beräkna hur material renderas i slutändan. Texturera - Att färgsätta sin modell. Rendering - En process för att omvandla de matematiska beräkningarna i 3d till en 2d-bild med faktiska pixlar. Realtidsgrafik - Till skillnad från förrenderade bilder som används i film och reklam är realtidsgrafik benämningen för till exempel spel där renderingen av bilderna sker i realtid. Diffuse/Diffuse map - Färgkarta. Specular/Specular map - Ljusreflektion Karta för ljusreflektion. Reflection/Reflection map - Reflektion/Karta för reflektivitet. Alpha /Alpha map - Genomskinlighetskarta. Bump/Bump map/normal map - Karta för att skapa ytförändring utan att ändra på geometri. v

1 Introduktion 1.1 Frågeställning Hur kan man, med så få element som möjligt, skapa ett trovärdigt 3D-material; trovärdigt nog för att det ska kunna uppfattas som det verkliga material det försöker efterlikna? 1

1.2 Bakgrund 3D- material, det vill säga, efterliknelser av olika material i verkligheten är en viktig del av 3D- grafik. En stor del av inlevelsen och trovärdigheten i t.ex. spel ligger i att allt 3D- material ger en känsla av en verklig upplevelse. Eftersom datorer ännu har en begränsning i prestanda är det önskvärt att få fram önskad yta eller effekt av olika 3D- material med en balans av att vara visuellt tilltalande och att inte kräva alltför mycket beräkningar som drar ner prestandan i renderingen. För att göra detta brukar de flesta spelmotorer ha ett antal extrafunktioner som hjälper i det manuella arbetet. Några av dessa funktioner återkommer mellan olika spelmotorer medan vissa är mer unika. I denna rapport undersöks de funktioner som är gemensamma för de flesta spelmotorer för att se om det finns några (materialvärden?) värden som är speciellt viktiga eller några som generellt kan bortses ifrån. Några av de mest populära materialen att försöka efterlikna är trä, sten, metall, hud, fjädrar, mänskligt hår och tyg På grund av detta är det de material som undersökts i detta arbete, utifrån attributen diffuse, specular, reflection, alpha, bump och i vissa fall formen på meshen. 2

1.3 Syfte Syftet med arbetet är att ta reda på om det finns några grundstenar som utgör själva kärnan i olika 3D- material efter undersökning och jämförelse med verkliga material. Som exempel; en sten ska skapas i 3D. Från en simpel mesh som grund, till exempel en sfär, vilka egenskaper i 3D-materialet behöver läggas till för att denna modell ska uppfattas som en sten? Vad kan bortses ifrån? Detta för att ge läsaren djupare kunskap om vad exakt det är som bildar vår uppfattning om material, både verkliga och 3D-genererade material. Det finns många olika sätt att gå till väga när man skapar 3D- material, mycket beroende på vilken stil man är ute efter och vad för verktyg man har tillgång till. Inget sätt är rätt men genom att undersöka den här frågan lite djupare kanske några grundläggande egenskaper kan uppdaga sig som kan hjälpa till med att poängtera viktiga delar som kan vara för självklara eller lätta att förbise. Resultatet kommer att presenteras i en tabell där alla attribut är värderade utifrån hur mycket påverkan de har på det slutgiltiga resultatet. 3

1.4 Avgränsningar Eftersom 3D-material är en väldigt stor del av realtidsgrafik och kan innefatta ett oändligt antal olika material och oändligt många saker som skulle kunna påverka, har arbetet i denna rapport begränsats till att baseras på visuella attribut som kan identifieras av en genomsnittlig människa. Detta för att underlätta arbetet samt att hålla det mer koncentrerat och enkelt då det endast är de simplaste och mest påverkande grundstenarna inom 3D-material som ska undersökas. Jag har begränsat mig till att bara undersöka materialen trä, sten, metall, hud, fjädrar, mänskligt hår och tyg. Det finns ett oändligt antal olika material att efterlikna men de här är bland de vanligaste som används i många spel och just därför kommer jag hålla mig till dem. Attributen jag kommer använda mig av är diffuse, specular, reflection, alpha, bump för att dessa är grundläggande inom de flesta moderna 3D-spelmotorer. Jag kommer bara att använda mig av primitiva modeller att visa upp 3D-materialen på, då jag förväntar mig att de ska kunna vara oberoende av meshen. 4

2 Teori Ett antal delar behövs för att frågeställningen ska kunna besvaras. Det är ett stort ämne och jag har valt att bara gå igenom vissa material, och hålla mig till ett specialiserat program för att försöka hålla det relativt generellt, samt att inte göra undersökningen för förvirrande. 2.1 3D/Realtidsgrafik Det finns i huvudsak två typer av sätt att jobba med 3D: Förrenderad 3D och realtidsrenderad 3D. Som namnet påvisar menas ofta realtidsgrafik, grafik såsom dator- och konsollspel, där 3Dn är interaktiv och man kan påverka vad som renderas på skärmen[1]. Förrenderad grafik är i sin tur till exempel 3D-effekter i film eller reklam, som renderas ut i förväg bild för bild och sen sätts ihop till en film. Båda sorters grafik har begränsningar då mycket beror på prestandan av hårdvaran som beräknar grafiken. Eftersom det i realtidsgrafik ska hinna renderas ca 60 bilder per sekund om inte mer jämfört med för-renderad grafik där en stor del av produktionstiden går åt till rendering av stillbilder som kan ta flera timmar att rendera, behöver man inom realtidsgrafik använda sig av mindre prestandakrävande metoder. Tekniken går dock snabbt framåt inom det här området och kvalitetsskillnaden på datorgrafikgrafik i allmänhet idag och för bara några år sedan är tydligt märkbar. Den ständiga utmaningen är att försöka optimera och balansera sitt arbete för att göra det så snyggt som möjligt samtidigt som renderingen ska gå så smidigt som möjligt. 2.2 Polygonmodellering Figur 1: Bildexempel på polygoner och hur de är uppbyggda. Polygonmodellering är det vanligaste sättet att modellera i 3D. En polygon är en yta som består av edges (kanter) och verticer (punkter) som bygger ihop polygonerna till plan(se fig. 1.). En polygon kan tekniskt sett ha hur många sidor som helst, men de polygoner som används vid modellering är oftast fyrkantiga och kallas också för quads. En quad i sin tur består av två trianglar. Både trainglarna och quadsen brukar även kallas faces (ytor). Man ska helst inte ha fler än 4 vertices på ett face när man modellerar. Det blir då en N-gon, och de flesta spelmotorer kan inte hantera annat än trianglar, och i vissa fall polygoner. Det man oftast brukar göra när man ska exportera in en modell i en spelmotor är att man triangulerar den. Man utför alltså en process som konverterar alla ytor i modellen till trianglar. Det är ett bra sätt att undvika problem kopplade till felaktiga meshar. Det finns fördelar med att inte jobba direkt med trianglar, då många modelleringsprogram har verktyg för att känna av mönster i 5

quads, till exempel om man vill markera en loop av quads. Skulle trianglar användas istället är det svårt att räkna ut kontinuitet. Det finns dock undantag då det är viktigt med ett så litet polygonantal som möjligt, där kan man istället jobba direkt med trianglar för att ha full kontroll på alla kanter i meshen för att göra en så optimerad modell som möjligt. Det sättet är dock lättast att arbeta med om det rör sig om max några hundra trianglar. När man modellerar med polygoner lägger man plan bredvid varandra för att bilda former. Man kan skapa hur många polygoner som helst, begränsningen är hur kraftfull dator man har. Detta betyder att om man vill ha en mjuk form så krävs mer polygoner för att de raka kanterna inte ska märkas. I för-renderade objekt såsom i film och i reklam brukar detta inte vara något problem, utan man lägger till geometri tills det ser bra ut, inom vissa ramar. Däremot i spel finns gränser för hur mycket datorn/konsollen klarar av att rendera i realtid, och modellerare brukar därför vara begränsade i hur många polygoner som får synas på skärmen samtidigt. En metod som kommit nyligen för att motverka tydliga polygonkanter inom realtidsgrafik är så kallade normalmaps. De kan dock bara påverka hur ljuset som träffar modellen beter sig, så silhuetten av modellen är opåverkad. Det finns också andra sätt att modellera, men då realtidsgrafik övervägande använder sig av polygonmodellering är det den relevanta metoden och den som används i den här undersökningen. 2.3 3D-Material/Shaders Shaders och 3D-material används ibland generellt som benämning för samma sak, men är inte det egentligen. Shaders kan förklaras på så sätt att det är en samling av alla processer som påverkar hur någonting kommer renderas. 3D-material i sin tur brukar vara benämningen på själva ytan när man applicerat shadern på en modell. Jag kommer använda ordet 3D-material då det är lättare att förhålla sig till. Det finns många typer av 3D-material. Det finns dock skillnader med vad man kan använda i realtidsgrafik jämfört med förrenderad grafik. När det gäller förrenderad grafik finns det många 3D-material som kräver tunga uträkningar men samtidigt är mer realistiska, jämfört med realtidsgrafik då motorerna oftast har ett väldigt bestämt och begränsat utbud för hur man bygger upp 3D-material. 3D-material inom realtidsgrafik består oftast i grunden av ett antal bildfiler skapade i andra program som läses av motorn och behandlas på olika sätt beroende på värdena i bildfilen. Några av de attribut som kan användas inom realtidsgrafik som jag kommer ta upp är: Diffuse (Diffusemap) - En diffusemap bör alltid finnas inom 3D och den innehåller ren färgdata. Kan vara en extern fil eller generas direkt i olika 3D-program som till exempel en ren färg eller en ramp/gradient mellan ett antal färger. Spec/Reflection (Specular map/reflection map) - En specularmap beskriver hur mycket av det ljus som refflekteras på objektets yta som ska få en perfekt reflektion, dvs; en reflektion där det reflekterade ljuset har samma reflektionsvinkel som infallsvinkel. Själva bildfilen kan bestå av olika färger, färgerna återger vilken färg som highlighten kommer få när ljuset träffar ytan. Ju mörkare områden desto mindre reflekterat ljus. Är ett område svart på kartan blir det inga highlights. Exempel på när man kan vilja ha en specularmap är när man ska skapa olika material som reflekterar ljus på olika sätt, t.ex. tyg jämfört med en blank plastboll. Det finns både realtidsreflektioner och statiska reflektioner inom realtidsgrafik där en för-renderad 6

bild kallad cubemap står för reflektionerna[3]. Cubemapreflecions är den vanligaste metoden för reflektioner då det är väldigt dyrt prestandamässigt att använda dynamiska reflektioner[8]. Bump (Bumpmap/Normalmap) - En bumpmap (även normalmap) är en teknik för att efterlikna djup och ytterligare geometridetaljer på en modell utan att höja polygonantalet. Det är en färgkarta där kanalerna röd, grön och blå representerar x-, y- och z-koordinaterna för ytans normalvektorer. Alpha (Alpha map/transparency map) - Det är en svartvit bild som skapar genomskinlighet för texturen. Genom att blanda mellan svart och vitt kan man kontrollera vilka delar av texturen som är transparenta eller inte. Där det är svart är det genomskinligt, och där det är vitt är det opakt. Detta används till exempel flitigt när det gäller två av de 3D-material jag kommer undersöka; hår och fjädrar. Eftersom det krävs mycket datorkraft för att beräkna geometrin används inte separata modeller för varje enskilt hårstrå i realtidsgrafik, utan de vanligaste sätten att hantera hår är antingen att skulptera det och göra det till en solid mesh, eller att göra flera planes med alphakanaler. Jag kommer att undersöka det sistnämnda. Det finns oftast fler attribut som kan användas och många spelmotorer har sätt att skapa komplexa 3D-material direkt i motorn med så kallade Shading-nätverk där olika beräkningar sker i träd av noder som kopplas ihop på olika sätt och tillsammans bildar en shader. Ett exempel på en vanlig shader är efterliknandet av en effekt som kallas Subsurface Scattering. Den finns både i spel- och filmbranschen men de nutida datorerna har bara precis börjat bli tillräckligt kraftfulla för att rendera och räkna ut hur det beter sig i realtid. Subsurface scattering är en beskrivning av hur ljus studsar när det far igenom ett halvgenomkinligt material och sedan studsar ett antal gånger innan det reflekteras ut i en annan vinkel än när det kom in[2] (se fig 2.). Därför krävs det av spelmotorer att de simulerar den effekten för att göra det mindre kostsamt för datorerna att kunna rendera ut det i realtid. Figur 2: Exempel på Subsurface Scattering där ljuset lyser igenom huden. I realtidsgrafik är utbudet av shaders mer begränsat, eftersom de ska kunna beräknas i realtid även om de måste kompileras först. Kompilering sker när man ändrat olika delar i en shader och sedan låter motorn räkna om resultat av de ändringar man gjort för att på så sätt förändra utseendet och/eller beteendet hos ett 3D-material. 7

2.4 Ljus Realtidsmotorer använder oftast renderingssätt när det gäller ljusrendering som är annorlunda jämfört med för-renderad grafik. I för-renderad grafik är hastigheten inte lika högt prioriterad som i realtidsgrafik. Även om realistiskt ljus är eftertraktat i både realtidsgrafik och för-renderad grafik gäller generellt att ju mer realistiskt ljus, desto mer komplicerad och tidskrävande uträkning. Bland annat brukar Raytracing användas i för-renderad grafik. Det är en metod där man skickar ut ett antal rays från kameran och ser vart de studsar för att räkna ut vart ljuset syns. Antalet rays varierar, ju fler rays, desto bättre resultat, men till kostnaden av längre renderingstider. Raytracing är för det mesta alltför tidskrävande för att användas i realtidsgrafik, där andra metoder används. En ofta använd metod för att simulera ljus och skuggor på ett prestandavänligt sätt är att baka ljus dvs lägga in ett lager skugga och färger från ljus i texturerna, statiskt. Det finns också ljus som körs i realtid, och dessa beräknas annorlunda än i förrenderad grafik i det avseendet att ljusets väg inte beräknas utan endast relationen mellan ytans normal och ljusets riktning. 8

3 Metod För att svara på frågeställningen behöver jag undersöka materialen jag valt, programvaran jag använder och hur resultatet till slut uppfattas av en genomsnittlig människa. Jag började min undersökning för att ta reda på hur man skulle efterlikna verkliga material genom att studera ett flertal bilder och exempel om varje typ av material jag behandlar i min rapport. När jag fått en större insikt av vad exakt jag ville få fram från varje material så byggde jag enkla geometriska former eftersom jag inte ville spendera för mycket tid på att modellera. Dessutom så skulle jag använda dem för att kunna sammanställa verklighetstrogna 3D-material med hjälp av realtidsrenderaren Marmoset Toolbag. Detta eftersom min undersökning gäller 3D materialbehandling i generell bemärkelse, och Marmoset Toolbag hanterar basfunktionerna som finns i de allra flesta moderna spelmotorer. Jag kommer använda mig av texturkartor i form av TARGA-bilder i storleken 1024 x 1024 pixlar. Som bildbehandlingsprogram för texturerna har jag använt Photoshop CS5. De geometriska formerna består av en kvadrat med hårda kanter, en kvadrat med mjukare kanter samt en sfär. Både den mjuka kvadraten och sfären har mjuka normaler. Jag ville ha lite variation i form då jag tänkte att det kan påverka uppfattningen i en viss uträckning. Jag använde en särskild mesh för testen på hår och fjädrar då de till stor del drar nytta av transparens. Den meshen består av tre plan i en hög med visst avstånd från varandra. Detta för att lättare kunna visa hur djupet och genomskinligheten samspelar. De attribut jag valt att använda i 3D-materialen är de vanligaste inom de flesta spelmotorer: Diffuse, Specular/Reflection, Bump och en del Alpha. Jag kommer även att ta upp formen på modellerna. Jag har delat upp 3D-materialen i de olika attributen med tillhörande maps för att det ska bli en överskådligare struktur. Under mina tester hade jag hjälp av några metoder för texturering jag lärt mig på företaget, för att framhäva detaljer och förstärka andra attribut genom diffusemapen och vad man kan utvinna ur en normalmap förutom just normalerna. Mina förväntningar är att hitta några konkreta mönster för varje verkligt material som går att tillämpa i skapandet av realtidsmaterial och därmed hitta en bra grund för att bevara trovärdigheten i de virtuella materialen. Förhoppningsvis kan det hjälpa även om man nu skulle vilja skapa en mer stilistisk stil, och då kunna veta vart man kan ta ut svängarna, men samtidigt vad man måste behålla. 9

3.1 Analys av verkliga material Jag tog fram och studerade ett antal bilder på de olika verkliga materialen jag kommer försöka efterlikna. Min tanke var att försöka komma fram till vilka attribut som är gemensamma för alla bilder, och som så kan användas för att skapa trovärdiga 3D-material utifrån de sätt som finns tillgängliga inom tekniken. Jag studerade även föremål i verkliga livet, hur de beter sig i olika ljus när man vrider och vänder på dem och undersökte om det fanns några särskilda egenskaper som inte märks lika tydligt eller inte alls på foton. Genom att studera de bifogade bilderna samt faktiska föremål i olika ljusförhållandeni riktiga livet ska jag se om jag lyckas komma fram till några gemensamma nämnare hos bilderna för de individuella materialen. När det sen gäller att försöka efterlikna material, efterliknas de så som de uppfattas på foton/filmat material då det är de begränsningarna en skärm har, i och med sättet skärmar fungerar, det är en platt yta, och kan inte återge alla färger som det mänskliga ögat kan uppfatta. Inom spel är det väldigt vanligt att använda sig av just linsdefekter som stärker ännu mer att det ska uppfattas som foton/filmat material. Linsdefekterna borde dock inte ses som en avgörande faktor eftersom de kommer kunna bortses ifrån när man gör något mer stiliserat. 10

3.1.1 Sten Figur 3 Sten finns i många olika former, från kalksten och marmor till granit som bildats på olika sätt och kan variera mycket till utseende. Jag har här med ett exempel innehållandes olika foton av olika typer av sten(se fig. 3). Vad jag kommit fram till är att ett relativt jämnt brus är gemensamt för de typer av sten jag undersökt. Detta i både struktur och färg. Många gånger är det också uppbyggt i tydliga lager[4], som kan se ut som att de skalats av. Sten är naturligt aldrig helt jämnt utan har oftast en varierad skrovlig yta. Undantag är om det är stenar som slipats, av antingen havet eller av människan. Stenar slipade av havet blir dock aldrig riktigt lika släta som stenar slipade för hand. 11

3.1.2 Trä Figur 4 Medan naturligt trä oftast är olika nyanser av brunt som kan gå från rödaktig brun till nästan helt grått så kan trä kännas igen även om det är målat. Detta på grund av den särskilda struktur trä har. Trä består av fibrer som syns om man bryter av det, eller när man sågar i det. Även om det har växt i norr eller söder så finns det alltid årsringar från tillväxten som varierar i tjocklek från år till år beroende av klimatet. Årsringar skapas varje år på träd vid den tiden veden växer. Som synes av bilderna(se fig. 4.) syns alltid spår av årsringarna som just trä har som väldigt utmärkande egenskap. De visas som linjer i raka eller böjda och cirkulära former. Cirklarna framträder där trädet, när det levde, hade grenar utstickande ur stammen. Tydliga kvisthål visar på årsringar och var grenar suttit. Även trä som har blivit vattensaturerat och blånat, blivit grått av solblekning och där ligninet brutits ner till fliskritning[5] eller förmultnat nästan till jord kan identifieras av årsringsstrukturen. Nötning av trä förändrar inte heller strukturen. Till och med bark som varierar från tunn näver på björk till tjocka genomskurna fält på tall är lätt identifierbara men då av sin egen speciella sammansättning. 12

3.1.3 Metall Figur 5 Att utläsa från det jag studerat(bl.a fig 5.) är att metall sällan är fläckfritt. Det finns oftast smuts eller korrosion, eller det som är svårast att undvika: repor eller ytstrukturer från bearbetning. Metall erhåller egenskapen att under dessa operfektioner vara väldigt reflektiv, vilket är dess mest utmärkande egenskap. Färger varierar oftast runt grått men kan vara mer rödbrunt som t.ex. koppar eller mer gult som mässing. När det gäller andra färger finns det olika typer av metallicfärg, då små spån av metall är blandade med färg för att få det speciella utseendet[6]. 13

3.1.4 Tyg Figur 6 Tyg är ett av de materialen som är skapade av människor. Även om ursprungsmaterialet kan vara lin, ull, bomull, polymerer etc är det mest framträdande sättet det är skapat på, dvs vävt. Allt tyg är vävt av tråd som oftast ligger som ett rutnät. Det är mer tydligt på vissa grövre tyger(se nedre vänstra hörnet på fig. 6.). Färgkombinationer på tyg är ett oändligt antal. När det gäller hur tyg hanterar ljus brukar det inte vara så glansigt om det inte är siden eller liknande sorters tyg. Strukturen kan variera från att vara väldigt lent till att vara väldigt grovt med en tydlig struktur. Ofta är tyg halvgenomskinligt då det varierar hur tätt vävt tyget är. 14

3.1.5 Hud Figur 7 Hud har många speciella egenskaper, inte minst så kallad Subsurface Scattering. Det märks i bland annat vilken färg skuggor på hud får, den är aldrig grå utan innehåller oftast varma toner. Jag använde bland annat några bilder på olika delar av en mänsklig kropp som referenser(se fig. 7.) Hud är relativt slät, men när man kommer närmare ser man att den består av ett fint rutnät och små hårstrån. Eftersom hud är såpass genomskinligt kan ofta blodkärl under ytan synas ganska tydligt. Porer är ofta tydligare i ansiktet, och det finns flera defekter som skapar en något inhomogen yta, t.ex ärr, fördelsemärken, finnar, och celluliter. 15

3.1.6 Hår Figur 8 Hår är ingen yta utan är uppbyggt av hundratusentals små hårstrån som är samlade. De är flexibla och kan ha olika färger och form. Med form menar jag att det förekommer olika sorters lockigt hår och även hårstråna kan vara tunnare eller grövre beroende på hårtyp. Färger förekommer i alla sorter, dock varierar det mellan mörkt brunt till blond, och olika nyanser av brunt som också kan gå mot en orangeaktig färg. Även grått och vitt hår förekommer. Hår har dock sällan en enhetlig färg, utan beroende på hur stråna ligger träffas de olika av ljus och ger uppfattning om olika nyanser(se fig. 8.). Hår kan formas om till många olika frisyrer som också påverkar formen. Hår brukar oftast ha en viss strukturering, de flesta borstar sitt hår, stråna brukar då oftast lägga sig längs med varandra. Detta kan kontras av rufsigt hår, eller speciella tillfällen som till exempel dreads eller flätor. 16

3.1.7 Fjädrar Figur 9 Fjädrar är inte ett strukturmaterial i sig självt som till exempel trä och sten utan kommer mer undersökas individuellt och i grupp, som de oftast förekommer. Jag ville ha med just det 3D-materialet eftersom det är lite speciellt jämfört med att bara fylla en platt yta med färg. Det finns många olika typer av fjädrar men de jag undersöker är konturfjädrarna, dvs de fjädrar som finns på t.ex. vingarna och stjärten på fåglar, eftersom de är gemensamma för nästan alla fåglar(se nedre högra hörnet i fig. 9.). Det jag anser vara mest framträdande hos fjädrar är formen och uppbyggnaden. Det finns alltid en rot(vingpenna) som är kal där den sitter fast i huden på fågeln. Fanstrålarna (de små stråna) sticker alltid ut snett upp från vingpennan och är som små krokar som krokar fast i varandra för att isolera mot vatten och kyla[7]. Formen på fjädern varierar beroende på vilken del av fågeln fjädern sitter men allmänt har de en igenkännlig avlång strömlinjeform som tjänar syftet att hjälpa fågeln att flyga. Färg på fjädrar kan varieras ordentligt, oftast är de helfärgade eller har upprepande mönster såsom linjer. 17

4 Skapandet av 3D-Materialen utifrån analys 4.1 Sten Jag var inte helt säker på hur jag skulle börja, så jag gjorde ett 3D-material på det sätt jag lärt mig fungerar och använt mig av innan, för att ha något att utgå ifrån och sedan skala ner. Jag började med att bara göra ett enkelt 3D-material med hjälp av ett foto på en sten och göra en normalmap av den och applicera på modellerna. Resultatet blev Figur 10. Figur 10 Det i sig självt tycker jag kan passera som sten, så jag började processen med att bryta ner den ännu mer. Ojämnhet verkade vara en återkommande egenskap så jag gjorde ett försök där jag bara skapade en grå bild med svartvitt brus på som jag gjorde svagt genomskinligt så bruset inte var lika framträdande. Det liknade asfalt, eller möjligtvis en heltäckningsmatta. Sten var inte det första jag tänkte på. Då testade jag att måla fram horisontella skiftningar i ljusare och mörkare grå. Sedan insåg jag att mitt förra försök med brus kanske kunde passera som en slipad sten, så jag testade lägga till spekularitet. Det gjorde stor skillnad, se figur 11. Figur 11 4.2 Trä Här hade jag bestämt att jag skulle försöka efterlikna plankor. Jag började med att göra ett material med de delar jag kunde hämta från analysen som jag var säker på skulle kunna tolkas som trä, för att därifrån försöka utröna vilka delar man kunde ta bort(fig. 12). 18

Figur 12 Som jag kom fram till i analysen har alla träd årsringar, jag testade att simulera dem. Jag gjorde en textur med bara horisontella linjer med olika lutning, med inslag av kvisthål(fig. 13). Att föredra nyanser av brunt. Figur 13 Figur 14 Med bump och/eller specular fungerar även andra färger, som då kan tolkas som målat trä på ett enklare sätt(fig. 14.). Detta eftersom färg oftast inte appliceras med tillräcklig tjocklek för att dölja strukturen under, oftast är detta ett medvetet val för estetiska ändamål. Om det ändå är ett undantag och färgen är tillräckligt tjock kan trä kännas igen på att det ändå är uppbyggt av plankor som inte kan ha vilken storlek som helst. Dock finns även spånskivor, men även de har en skrovlig struktur som kan kännas igen. 19

4.3 Metall De utmärkande dragen jag lagt märke till för materialet metall är den (många gånger) gråa färgen, och den tydliga reflekterande egenskapen. Jag började med att försöka mig på att bara göra en grå diffus, en grynig normalmap och sen knäppa på reflektion(fig 15.). Figur 15 Jag var lite osäker på ytan och experimenterade med normalmapen och enfärgade ytor. Det som lättast blev fel var om färgerna var för färgglada, då 3D-materialet såg ut som plast istället, eller betong med fel slags normalmap, trots reflektionerna. Jag testade även att försöka efterlikna metall med bara diffus. Det säkraste sättet jag använde mig av var att faktiskt måla dit reflektioner. Ett annat sätt är att förstärka de operfekta bitarna med hur det verkliga materialet ser ut, dvs repor och rost. Särskilt rost hjälper att behålla den rätta känslan om reflektioner saknas. 4.4 Tyg Jag testade många olika färger, så länge det fanns en struktur var det inget problem. Som jag kom fram till i analysen är tyg oftast ett väldigt matt material. Undantag som siden och liknande är svårare att få fram i och med det speciella sättet ljuset beter sig på. Drar man bara upp spekulariteten ser det mer ut som plast eller något slags färgad silvertejp. Att färga diffusen med vävtextur eller göra en bump med vävtextur var det som gav bäst resultat, särskilt bump eftersom ljuset betedde sig korrekt (fig. 16). Figur 16 20

4.5 Hud Hud är en av de svåraste materialen att försöka återskapa i realtidsgrafik mestadels pga. hur ljuset studsar och absorberas under huden. Uppenbarligen så hanterar olika spelmotorer det på olika sätt och just i mitt fall så fanns det en inställning i Marmoset Toolbag som kallades translucency som gav materialet lite mer rödaktiga skuggor och ett mer verklighetstroget utseende. Mitt första försök bestod av att ta en bild av en lädertextur och göra den lite mindre framträdande och skala ned alla detaljerna på texturen och dess normalmap. Jag justerade även färgen på den för att efterlikna hud. Resultatet var att det såg väldigt matt och läderaktigt ut, och inte alls särskilt likt hud. Det såg ut som hudfärgat torrt läder och var inte vad jag tänkt mig. Jag sänkte djupet på normalen i flera omgångar, och gjorde den lite oskarpare för att försöka bli av med torrheten. Eftersom huden nu såg matt ut lade jag till en specular med stor spridning för att inte skapa några högdagrar på huden men ändå få med lite av den där glansen hud har. Men då blev detaljerna väldigt uppenbara så jag var tvungen att ytterliggare sänka styrkan på normalmappen för att bli av med skärpan som fanns(fig 17). Det bästa resultatet uppnåddes när normalmapen var extremt svag, så man bara kunde se en antydan till textur men det funkade bra att understryka rynkor och porer i ansikten. Figur 17 4.6 Hår Hår är också speciellt i det att det i realtidsgrafik inte kan renderas strå för strå som det egentligen är uppbyggt då det är hundratusentals hårstrån inblandade. Jag gjorde därför ett plan med en bild av hår och målade fram genomskinlighet längst ner i topparna(fig. 18.). Jag märkte att Marmoset inte hanterar alpha på bästa sätt och det blir lite fel beroende på ur vilken vinkel kameran är vänd mot ytan. Oftast används och behövs många fler plan för att simulera hår och de olika sätt hårtestar kan bete sig på, beroende på om håret är fritt eller uppsatt på något sätt. Är håret i en fläta kanske geometri är att föredra istället för alphaplan. 21

Figur 18 4.7 Fjädrar Jag valde att göra en särskild mesh för fjädrar och hår, planes placerade ovanpå varandra, för att simulera hur dessa material faktiskt skulle användas i realtidsgrafik. Fjädrar sitter sällan ensamma, och oftast brukar hår/fjädrar göras i lager för att skapa illusionen av mer volym än vad som faktiskt finns. Jag skapade en textur av ett foto på en fjäder, och gjorde en alphakanal för fjädern genom att göra en svartvit version av bilden. I mitt första försök gjorde jag hela fjädern ogenomskinlig, men jag funderade på hur fjädrar egentligen är uppbyggda och testade att göra en svag genomskinlighet över hela fjädern förutom vid roten. Det gjorde skillnad. När det gäller fjädrarna fanns det lite mer frihet för form och jag testade att måla en egen simpel version med den grundläggande formen för fjädrar. Jag testade att använda en normalmap baserad på diffusen, men det gav en oönskad effekt. Jag försökte mig på att höja och sänka spekulariteten på olika delar av fjädern för att se vad det gjorde för skillnad. Det bästa var att ha lite på stjälken och en svag ojämn spekularitet på resten av fjädern, för att simulera att det faktiskt är individuella strån och inte en plan yta(fig, 19.). Figur 19 22

5 Slutsats 5.1 Resultat Arbetets undersökningar och tester resulterade i en sammanställning av materialens olika attribut och hur viktiga de är i jämförelse med varandra, detaljer och observationer av varje enskilt material tas upp i diskussionen. Resultatet är överfört till nedanstående diagram och viktat på en skala mellan 1 och 5 där 1 står för mindre viktigt och 5 för mer viktigt för uppfattningen av 3D- materialet som trovärdigt. Jag har utgått ifrån mina egna iakttagelser och skalan är bestämd på ett jämförelsevist sätt mellan de olika attributen med frågeställningen i åtanke. Vad tabellen innebär är att man vid realtidsrenderad grafik kan använda tabellen för att bedöma om man ska dra ner på prestandakrävande resurser genom att antingen förminska texturstorleken eller kanske till och med utesluta texturkartorna för de attribut som har lägre värden, för att just med så få attribut som möjligt behålla känslan av materialet. Detta eftersom de inte har lika mycket påverkan på slutresultatet för hur materialet uppfattas som de attribut med högre värden, allt för att använda den begränsade prestandan så effektivt som möjligt då det ofta är en fin balans mellan prestanda och kvalitet som beräknas. Tabellen kan även appliceras på förrenderad grafik, för att förkorta renderingstider. Material Diffuse Specular Reflection Alpha Bump Meshform Sten 5 4 1 1 2 4 Trä 5 4 1 1 4 3 Metall 3 4 5 1 3 2 Tyg 1 3 1 1 4 1 Hud 5 3 1 1 2 5 Hår 4 3 2 5 2 1 Fjädrar 2 2 1 5 4 1 23

5.2 Diskussion Hur ett material uppfattas är väldigt godtyckligt och det spelar stor roll vad för slags känsla och stil man är ute efter när man skapar dem. Att hålla en enhetlig stil kan vara en utmaning. Något jag inte tänkt på i början var att formen på modellen faktiskt kan spela en extremt stor roll i hur materialet uppfattas, det kan hjälpa eller stjälpa uppfattningen man får av materialet. Ytan på material är extremt sällan helt slät, utan det är de små ojämnheterna med olika struktur som hjälper till att berätta vilket material ett objekt består av. Man får självklart anpassa sig till den spelmotor man använder, alla hanterar texturer och material på olika sätt och de tillvägagångssätt jag har använt mig av kan behöva anpassas. 5.2.1 Sten Det jag märkt mest som utmärker sten är att både strukturen och texturen i stort sett är ojämnt brus i olika skalor. Det lättaste sättet att göra en tydlig sten är att göra lager och allmänna ojämnheter. Ytan på en naturlig sten är aldrig helt slät. Slipar man en sten är det som utmärker den mest ådringen, en stens färg är aldrig totalt enhetlig utan kan likt trä innehålla ringar eller lager, samt fläckar eller brus. Man måste vara försiktig med spekulariteten på stenmaterial då de lätt ser blöta ut. Ofta räcker väldigt lite styrka, men att inte ha någon alls får ytan att se död eller lerig ut. Formen spelar roll till viss del, då stenar oftast är ojämnt formade är detta ett sätt i sig självt att särskilja en sten. Jag testade ett antal variationer på diffusemapen och märkte att det fungerar i många olika variationer. Det finns många olika typer av sten och färger som fungerar, allt från en rödaktig brun till gulaktig brun och alla nyanser av grå samt svart och vitt. Figur 20: Journey (Source) Som exempel på hur detta används i spelvärlden finns Thatgamecompany s Journey där just stenlagrena syns tydligt trots den enkla stilen på texturerna. Även skalan och formen ger fördelar i sammanhanget. 24

5.2.2 Metall Den mest utmärkande egenskapen hos metall är dess reflektivitet. En kromad yta är svår att tolka som något annat än metall. Saknas reflektiviteten behövs andra metalliska egenskaper såsom repor/nötning eller rost för att beskriva varför den metalliska ytan inte är lika reflektiv längre. Om detta saknas är det lätt att tolka 3D-materialet som någon slags betong eller sten. Figur 21: Vanquish (Source) I spelet Vanquish syns det hur nötningar i kanten förstärker intrycket av färg som flagnat och visar den grå metallen under. Utan detta hade kanske rustningen kunnat uppfattas som t.ex. plast. Även spekulariteten vittnar om att det är ett reflektivt material, men inte så kromat som man kan tänka sig att metall är, därför tror jag de lade till nötningarna. 5.2.3 Hud Hud är relativt beroende av formen på meshen. Placerad på rätt sätt kan hud i stort sett ha vilken färg som helst, dock finns en gräns för den ska helst vara relativt konsekvent i den färgen. När jag skapade texturen för att undersöka blev det från början mer läderaktigt när jag använde en bild på hudtextur. Det berodde på bland annat en för stark diffusemap där jag tror att mörkret i hudvecken skapade en lite torr och död känsla. Även bumpen var för skarp och det krävdes bara en väldigt svag bump för att ge bästa effekt. För att ha ett så basic 3D-material som möjligt tycker jag en diffusemap räcker, med en färg. Att tänka på är just som jag märkte i analysen att hud är lite svagt genomskinligt och om ljus lyser direkt på det så kan blodet under lysa igenom en del. Skiftningar i hudfärgen är därför något att föredra i alla dess fall. Särskilt om det är handmålade, lite mer grundläggande texturer så ger lite rödare skuggor en mycket mer övertygande effekt. Här nedan syns en bild från spelet Crysis 3 där många olika faktorer spelar in för att få karaktären så realistisk som möjligt. Bland annat syns porerna i huden väldigt tydligt, skapade av normalmaps. Spekulariteten syns också, främst på nästan och kinden, på skuggsidan av ansiktet. Många ljuskällor används ofta för att visa att huden inte är helt matt och framhäva normalmapen och texturen ännu mer. 25

Figur 22: Crysis 3 (Source) 5.2.4 Tyg Tyg kan representeras på olika sätt, en av de mest framträdande egenskaperna är att det är vävt och därmed har ett återkommande mönster. Form och kanske framförallt animation har extremt stor påverkan på om något uppfattas som tyg. Tyg har en viss tjockhet och kan fysiskt inte ha riktigt skarpa kanter. Mjuka böljande former och särskilt veck gör tyg lätt att urskilja. I grunden är tyg vävt. Gör man trovärdiga veck kan man göra i stort sett vad som helst. Saknades strukturen och ytan var matt kunde man ändå gissa att det var tyg. Var ytan för glansig blev det plötsligt plast. 5.2.5 Trä Trä spelar på igenkänning, raka linjer representerande årsringar samt kvisthål verkar vara det som framträder tydligast hos trä. En viss bump hjälper till att visa på hur hyvlad en planka är. Hos trä spelar också formen roll, det finns fysiska begränsningar för hur stor en planka kan vara, om inga sömmar syns på en väldigt stor träbit tappas trovärdigheten. De kan inte heller ha vilken form som helst om de saknar sömmar. Enkla former fungerar väldigt bra med trä, en simpel box passerar lätt som en planka. I min undersökning målade jag en egen textur, först med bara linjer som representerar årsringar, och sedan kompletterat med kvisthål. Särskilt kvisthålen gjorde en enorm skillnad. Lutningen på linjerna är också viktiga. De kan inte vara helt symmetriska eftersom trä är ett väldigt organiskt material, inte heller totalt raka hela vägen. Här nedan följer ett screenshot ur spelet The Walking dead, där väldigt simpla handmålade texturer används flitigt. Träet är endast gjort av raka linjer som delar in trät i plankor, eftersom formen är viktig när det gäller trä. Den karaktäristiska årsrings-texturen är det enda andra som vittnar om vilket material det rör sig om. Här hade en helt enfärgad textur sett lite malplacerad ut eftersom spelet förlitar sig på i stort sett bara diffusemapen. 26

Figur 23: The Walking Dead (Source) 5.2.6 Hår Hår kan antingen tappa en del trovärdighet eller skapa en extrem stil om det är helt jämnt klippt. Alla färger fungerar i princip, om än de inte ger en realistisk känsla med väldigt starka klara färger. Att visa hur håret faller kan ofta visas med några enkla streck. Här är ännu ett screenshot från Crysis 3 där de försöker efterlikna realistiskt hår. Det är antagligen uppbyggt av flera små alpha-plan som i mina försök. De är strategiskt placerade så man inte ska känna att man tittar rakt på ett plan, utan de har gjort så många plan smälter ihop och formar en bra sammanhängande frisyr. Figur 24: Crysis 3 (Source) 27

5.2.7 Fjädrar Det spelar roll på vilket sätt fjädrar placeras, både som form på en vinge och i förhållande till varandra. De har en särskild egen form men färg kan variera starkt. Allmänheten vet att det finns färgglada fåglar. Bump är utifrån mina undersökningar i stort sett onödigt då fjädrar har i allmänhet en väldigt platt yta. Fjädrar är oftast ganska glansiga eftersom de faktiskt naturligt har ett lager fett på sig för att stöta bort vatten. Därför får fjädrar gärna ha spekularitet till viss del. 28

6 Företagets arbetsflöde MachineGames är ett relativt nystartat företag och är just nu inne i produktionen av sitt första spel. Detaljerad information om projektet är hemligstämplad och jag kommer därför beskriva arbetsprocessen på ett mer generellt plan. Företagets hierarkistruktur ser ut så att alla som jobbar inom ett visst område rapporterar till respektive direktör, t.ex alla artists rapporterar direkt till sin Art Director, animation och ljud till sin Creative director etc. De anställda är indelade i production units där mindre grupper jobbar på olika delar av spelet, med en blandning av alla delar i processen. Mycket kontakt sker muntligt men sker också via mail. Mail är den främsta formen av kommunikation när det gäller att ge ut information till hela företaget. De anställda har mycket eget ansvar över hur de arbetar och det krävs självdisciplin av alla för att arbetet ska flyta på bra. Det finns en färdig planering som sträcker sig över hela projektet som följs. Alla produktionsunits har individuella uppgifter för varje person som sträcker sig över olika tidsrymder och var och en jobbar i tvåveckors-sprints. Med sprints menas att det är ett antal uppgifter som ska vara klara inom en tvåveckorsperiod. Det hålls regelbundna möten då hela företaget samlas för att dels spela spelet och gå igenom vad som gjorts och vad som ska göras, samt att prata igenom eventuella problem. Arbetet delas även upp i större milestones utöver de mindre för att ha bättre översikt över hur projektet går i både stor och liten skala. Progress reports skickas även till ZeniMax med jämna mellanrum. Spelet byggs upp på så sätt att en mockup-scen byggs, för att se till så att det går smidigt att spela spelet. När allt är på plats och det är testat så det inte finns några akuta hinder börjar olika delar fyllas på med mer detaljerade modeller. Större och viktigare modeller kan gå igenom flera pass innan de läggs åt sidan för tillfället. De flesta saker uppdateras allt eftersom när ändringar görs eller om de måste optimeras mer när helheten börjar bli tydligare. Filstruktur: Alla filer som har med projektet att göra sparas på en server som hanteras via Perforce, som är ett program där man checkar in och ut filerna man jobbar med. Det är upp till var och en att uppdatera till senaste revision innan man börjar jobba på något, för att försäkra sig om att någon inte redan jobbar på det. All content sparas under en basmapp där de sen delas in undermappar som models, maps, textures och så vidare. De mapparna i sin tur är namngivna efter vilken del av spelet det rör och namnet på den person som är ansvarig för just det innehållet. Mjukvara: Företaget använder sig av spelmotorn id Tech 5 och Luxology Modo som främsta modelleringsprogram. Animerarna använder främst Maya och Motionbuilder. Motorn uppdateras och förändras hela tiden både av företaget och av id Software som skapat motorn. Utöver modelleringsprogrammen används Photoshop och ibland CrazyBump och XNormal för att skapa texturer och normaler, men för det mesta bakas normalerna av motorn. Jämförelse: Jag tycker MachineGames arbetsflöde verkar vara riktigt bra och genomarbetat. Jag har lärt mig mycket av dem som förenklat min egen arbetsprocess, särskilt gällande texturering. Jag lärde mig bland annat att utvinna mer användbar information ur normalmaps än vad jag tidigare gjort. 29

Att låta de anställda ha mycket eget ansvar kan ha både fördelar och nackdelar. Då det kan gå mycket snabbare att få saker gjorda när inte allting behöver godkännas direkt av Art Directorn, men det kan också vara så att någon tappar lite självdisciplin när ingen övervakar dem. En av anledningarna till att man inte tar in så många juniorer är just detta. Kommunikationen skulle kunna vara mer strukturerad. Nu är det inte långa sträckor man måste gå för att prata med den man behöver, men det andra alternativet är via mail och det finns ett problem i att många kan missa att läsa mail, jag märkte själv hur jag inte såg att jag fått mail förrän en bra stund efter jag fått det ibland. Det är en väldigt trevlig stämning på MachineGames, man behöver inte känna att man inte kan prata med någon, och alla har en väldigt hjälpsam inställning och alla är måna om att underlätta för varandra och dela med sig av kunskap. 30

7 Referenser [1] http://www.realtimerendering.com/ hämtad 2012-05 - 18 [2] http://renderman.pixar.com/view/sss hämtad 2012-05 - 20 [3] http://en.wikipedia.org/wiki/cube mapping hämtad 2012-05 - 28 [4] http://sv.wikipedia.org/wiki/sediment%c3%a4r bergart hämtad 2012-05 - 29 [5] http://www.traguiden.se/tgtemplates/popup1spalt.aspx?id=6368 hämtad 2012-05 - 20 [6] http://www.ehow.com/about 6674094 metallic-paint-produced.html hämtad 2012-07 - 10 [7] http://sv.wikipedia.org/wiki/fj%c3%a4der (biologi) hämtad 2012-06 - 04 [8] http://macdesignstudio.wordpress.com/2012/01/05/vray-materials-part-3-reflections/ hämtad 2012-09 - 04 Mjukvara: Marmoset Toolbag : http://www.8monkeylabs.com/toolbag Photoshop CS5: http://www.adobe.com/photoshop 31