The Awakening Short Film Specialization project within Computer Graphics Linus Holm Anton Hjort 1
The Awakening Short Film Linus Holm Anton Hjort Luleå tekniska universitet Sammanfattning Denna rapport behandlar frågeställningarna: Vad krävs det för att göra en kortfilm helt i 3D? Hur är processen att skapa en realistisk karaktär med en trovärdig ansiktsanimation? Hur förmedlar man karaktärens känslor och uttryck enbart med motion capture data? Vad är det som behövs för att få denna teknik att fungera. Hur ska användaren gå tillväga för att få material som inte hindrar dess arbete? Denna rapport går igenom vårt arbetsflöde från koncept till färdig film. 2
Contents 1. Introduktion Frågeställning Bakgrund Syfte 2. Metodologi Förberedande arbete oncept Modellering/ skulptering Texturering Ljussättning Compositing Animation Ansiktsanimation Riggning Extra funktioner i Ansiktsriggar Blendshapes Faceshift Implementera i kortfilmen Geometry Cache 3. Resultat 4. Referenser 3
1. Introduktion Frågeställning Vad krävs det för att göra en kortfilm helt i 3D? Hur är processen att skapa en realistisk karaktär med en trovärdig ansiktsanimation? Hur förmedlar man karaktärens känslor och uttryck enbart med motion capture data? Vad är det som behövs för att få denna teknik att fungera. Hur ska användaren gå tillväga för att få material som inte hindrar dess arbete? Bakgrund Det är vanligt förekommande att spelföretag väljer att göra för renderat material till trailers för sina spel för att sälja in sitt spel hos konsumenterna. Trailers är till för att väcka intresse hos konsumenterna. Det är inte alltid som spelets egen grafik räcker till för att förmedla en imponerande och tilltalande upplevelse som skulle räcka för att locka konsumenterna till köp. Att skapa 3D karaktärer med ansiktsuttryck är en stor del av många animerade filmer. Man vill förstå sig på karaktärernas känslor inte bara från deras kroppsrörelse och röstskådespel men även få den från deras ansikten. Ett sätt att förenkla denna process är att använda sig utav motion capture. Detta kan göras med ett antal olika program som behandlar denna process på olika sätt. Detta arbeta siktar sig in därför på ett mänskligt ansikte som man enkelt kan överföra information och snabbt få feedback om något ser fel ut. Syfte Syftet med vårt projekt är att utforska och prova på att göra en för renderad kortfilm med tillräckligt hög visuell nivå för att den ska kunna platsa in i industrin idag. Att få en bättre förståelse för hur mycket jobb det är att nå dit, hur lång tid det skulle komma att ta och vad det krävs av oss rent tekniskt. Vi vill även utforska hur processen är att skapa en karaktär med trovärdiga ansiktsuttryck. Detta innehåller alltså att få in vissa special funktioner som kan användas för att få en mer trovärdig karaktär, till exempel; Sticky Lips och Fleshy Eyes. Dessa funktioner hjälper animationen och hjälper även animatören att få in svåra delar som kan ta alldeles för lång tid i arbetet att få in på annat sätt. 4
2. Metodologi Förberedande arbete Vi kände att för att vi skulle kunna göra ett bra arbete så behövde vi tidigt gå igenom hela arbetsprocessen för att tidigt kunna stöta på problem och planera vår tid på ett bättre sätt. Därför valde vi att göra tentakeln som är med i början av våran kortfilm, för att den skulle behöva gå igenom alla nödvändiga steg såsom design, skulptering, texturering, riggning, animering, ljussättning, rendering och compositing. Vi hade en vecka på oss att göra färdigt tentakeln, prova ut materialet med displacements, Sub Surface Scatter, rendera ut nödvändiga pass, rigga, animera för hand och använda oss utav blendshapes. Stegen i arbetsprocessen beskrivs nedan, inte bara för tentakeln utan arbetsprocessen som vi använde på allt material vi jobbade på. Koncept För modellering och texturering så delades projektet upp i 4 delar, ansiktet som var det viktigaste, rymddräkten, monstret och miljön. För att hinna med så mycket som möjligt under projektets gång så bestämde vi oss för att det skulle ta för lång tid att skissa på koncept Istället gjorde vi research och satte ihop ett bibliotek av referenser inför varje del. Referenser på hur saker skulle se ut eller vad det kunde påminna om. Modellering/ skulptering För skulpteringen av ansiktet så utgick Linus ifrån referenser på Natalie Portman. Det fanns inte tillräckligt med bra referenser på Anna Lee Fisher som var den egentliga inspirationskällan. Vilket var viktigt för att skulpturen skulle se rätt ut och ha mänskliga ansiktsdrag. Men vi ville inte göra en kopia av Natalie Portman, därför var det viktigt i textureringsfasen att få henne att påminna mer om en yngre Anna Fisher. Linus började med en färdig grundmesh av ett ansikte i Zbrush för att slippa bry sig om topologin senare. Ansiktet skulpterades i upp till 9 miljoner polys, för att sen bakas ut i lägsta subdivision nivån på omkring 20 000 polys istället. Rymddräkten skapades på samma vis, grundmeshen gjordes i Maya. Monstret skulpterades utifrån en grundmesh av en människa, men topologin gick inte att jobba med. Det fanns inte tid att göra en ordentlig retopo så därför använde vi Zbrushs verktyg Zremesher, unwrappade i Maya och bakades ut från Zbrush. Miljön modellerades direkt i Maya. Alla lowpolys sammanställdes tillslut i Maya med displacement maps, och normal maps. 5
Texturering Textureringen av alla objekt gjordes huvudsakligen i Mari och Photoshop. Vi eftersträvade realism och ville inte att texturerna skulle se målade ut. Därför valde vi att använda fotograferade referenser, hittade på google och justerade till det vi eftersträvade. Ansiktet var den viktigaste delen, och fick därför mest tid för texturering emot de andra delarna. Vi behövde hålla ansiktet högupplöst eftersom många av kameravinklarna var väldigt nära inpå. Eftersom kortfilmen var ämnad att renderas i 1080x1920 pixlar, så innebar det att ansiktet behövdes vara 4000 pixlar brett i texturyta för närbilderna. Vi kunde inte hitta tillräckligt bra bilder på google för så högupplöst därför valde vi att fotografera referenserna själv. Vi valde Therese som texturreferens, för hon var mörkhårig och påminde om det vi eftersträvade. Så vi riggade upp ljus med diffusfilter på i ett rum på skolan. Ljussättningen bestod av 3 lampor, en rakt framifrån och 2 från varsin sida för att få jämn belysning över hela ansiktet. Vi använde oss av ett circular polarizer filter på kameran för att bli av med onödiga reflektioner på ansiktet som vi annars hade varit tvungna att retouchera bort. Filtret tog bort mycket av de oönskade reflektionerna från ljuset, vilket kan ses på bilden nedan. Efter mycket testande så kom vi fram till att vi inte kunde få tillräckligt bra bilder med vår ljussättning som vi behövde. Antingen fick vi använda betydligt starkare ljus eller så fick vi fotografera utomhus för att få ner slutartiden tillräckligt. Under väldigt molnigt väder så visade det sig att det blev mycket bättre bilder med nästan obefintliga skuggor och väldigt jämnt belyst över hela ansiktet. De fotograferade texturerna kunde vi sedan projicera på modellen i Mari. Där fick man noggrant separera varje projicering på nytt lager och tona dem rätt så inte texturen blev ojämn på grund av att ljuset på texturen inte var 100% jämnt fördelad. 6
Ljussättning För att få så bra ljus som möjligt så valde vi att rendera projektet i Mental ray. På grund av renderingstiden så valde vi att inte rendera med något bounce light, vilket innebar att vi behövde mycket fler ljuskällor för att lysa upp områden där ljuset egentligen skulle ha studsat upp. Vi använde area lights till hero objekten, kombinerat med spotlights för att måla upp ljuset där vi ville ha det. För att få bättre kontroll var vi tvungna att light linka ljusen till rätt objekt, annars skulle lamporna förstöra för varandra. Vi stängde av emit specular på lamporna, för att specularn ser inte trovärdig ut. Istället placerade vi ut light planes med en hdri textur på för att få trovärdigare reflektioner. Det mesta av miljön som reflekterades kom från en IBL som inte kastade något ljus, utan bara var synlig för reflektioner. Compositing Vi delade upp beauty passet i 3 olika render layers, och ett Miscellaneous layer med Mattes och z djup pass i. Vi delade upp beauty passet i flera render layers för att det skulle bli smidigare att rendera, för att z djup passet på glas inte fungerar så bra och för att vi inte kunde rendera ut Sub surface Scatter materialet bra på ansiktet med glasvisiret framför. Ansiktet blev brusigt, tappade reflektion och skuggan och speculären blev konstig vilka inställningar vi än provade. Därför fick vi rendera ut henne utan visiret framför, och sen rendera ut visiret för sig, med varsit z djup pass för att kunna få rätt skärpa och oskärpa på både henne och visiret. För att det skulle compas ihop bra så renderade vi ut visiret med en svart surface shader på allt som var bakom och skulle refracteras. Annars hade hennes ansikte med dålig shading likväl synts i visir lagrets refraction och det ville vi ju inte. I comp så Adderar man reflektion, därför använde vi en svart(dvs 0 RGB) surface shader för att inget mer än reflektionen och diffusen från visiret skulle Adderas på compen. Vi använde röda, gröna och blåa Mattes för att enkelt kunna maska till våra render layers och för att kunna styra gradingen med masker för bättre kontroll. Allt renderades i EXR med 32bits float för att vi inte skulle tappa någon information. Eftersom kortfilmen utspelar sig i mörker så vill man inte hamna i en situation där svart är 0, utan man vill att det fortfarande ska finnas information även om det ser svart ut. Annars kan man inte ljusa upp det i efterhand, det som är svart kommer få förbli svart eller gradeas till något som ser fel ut. 7
Animation Ansiktsanimation Animation riktat mot ansikten är väldigt olikt den mot resten utav kroppen. Användaren måste tänka på de små rörelser i musklerna i ansiktet som arbetar tillsammans för att få de ansiktsuttryck man kan utföra. Därmed så kan man välja olika metoder för att få detta resultat. Antingen med en jointbaserad rig, vilket kräver mycket joints som samarbetar med varandra för att skapa det resultat man vill använda sig utav, eller att skapa dem via blendshapes som är färdiga uttryck som kan skapas i valfritt 3D program. Riggning I detta projekt arbetade Anton med en joint baserad ansiktsrigg som var anpassad till de ansiktsuttryck som behövdes. Extra funktioner i Ansiktsriggar För att få en extra trovärdig ansiktsanimation användes Sticky Lips och Fleshy Eyes effekter. Sticky lips ger effekten att läpparna på karaktären sitter fast i varandra innan de släpper då karaktären öppnar sin mun. Processen att skapa denna effekt tog vi hjälp utav olika skript till Maya. Rivet, som skapade en lokator mellan två kanter på geometrin och håller lokatorn på mellanpunkten i all animation, och en Attractor deformer, som man kunde placera på valfritt objekt i scenen och gav den en attraktion mot ett annat valfritt objekt. Vi valde att fästa en kurva mot de punkter som Rivet skriptet hade skapat och behövde då enbart arbeta med ett fåtal attribut för att få önskad effekt. För Fleshy Eyes effekten användes funktioner som Maya hade. En sculpt deformer som deformerar geometrin med en primitiv form, i mitt fall en sfär som omgav ögonen. Problem som kunde uppstå med denna deformer var att den enbart flyttar geometrin den kolliderar med och ignorerar möjlig tjocklek som fanns i ögonlocken. Detta löstes med att ta användning utav en lattice deformer för att skapa en mer anpassningsbar deformation. Blendshapes Programmet som vi använde oss utav krävde att vi enbart arbetade med blendshapes för alla uttryck. De uttryck som skapats med riggen gick vidare till programmet Zbrush. Där bearbetade vi dem så de passade bättre för karaktären. Dessutom att karaktären var symmetrisk så behövdes enbart skapa ena hälften av ansiktet. Man kunde enkelt skapa den motsatta sidan genom ReSym verktyget, här kunde vi också lägga till asymmetri i de olika uttrycken om det behövdes. 8
Faceshift Det program Anton valde att sätta sig in i för att lära sig om ansiktsanimation. De hade utvecklat ett system som kände igen nyckelpunkterna i ens ansikte utan att behöva markera ut dem för programmet, det enda man behövde göra var att lära programmet hur den skulle bete då man gjorde olika miner. Programmet krävde att man skulle använda sig utav en karaktär som hade blendshapes för varje uttryck vilket den sedan använde för de rörelser en karaktär skulle kunna göra. Processen var simpel och programmet hade en bra dokumentation om vad som behövdes för att få en fungerade karaktär in i programmet. Efter att programmet har lärt sig hur ens ansikte beter sig går kan man arbeta med att skapa all animation till karaktären. Här tog vi hjälp utav en klasskamrat som skulle skådespela för karaktären. De problem som kunde uppstått under inspelning, ljuset är antingen för ljust eller för mörkt för se de nyckelpunkter i ansiktet för att kunna arbeta. Skådespelaren är för långt eller för nära kameran, kameran som användes räknar in djup i scenen och om skådespelaren skulle vara utanför denna vidd skulle inget spelas in. För män så bråkar programmet mycket med dem som har skägg då kameran försöker räkna ut djup och skägg kan orsaka problem. Med materialet vi fick från Faceshift så fanns det ett fåtal problem. Faceshift var osäker hur ögonen bettedde sig och kunde bara läsa av dem då skådespelaren riktade ögonen uppåt. Detta problem kan lösas med bättre ljussättning. Implementera i kortfilmen För att få materialet tillbaka till Maya så kunde man enkelt exportera från Faceshift till ett fbx klipp. Det som då bara saknades var huvudrörelse och övrig rörelse, vilket blev handanimerat. Geometry Cache För att bli av med onödig data som joints och kontroller för animation valde vi att göra all animation till geometry caches. Detta gjorde att vi enkelt kunde organisera dem i Mayas Trax Editor. 9
3. Resultat Resultat Resultatet blev en kortfilm som svarade på de frågor vi ville få svar på. Vi fick en bild på hur stort ett arbete med en film verkligen är då det är ett flertal roller som måste samarbeta för att få ett bra resultat. 10
4. Referenser [1] Artistic Anatomy, Paul Richer, 2005, Watson Guptill Publications Inc., ISBN: 0823002977 [2] D'artiste Character Modeling 2, Kevin Lanning, Zack Petroc, Timur Baysal, 2007, Ballistic Publishing, ISBN 1921002352 [3] Blender Studio Projects: Digital Movie Making, Tony Mullen & Claudio Andaur, 2010,Wiley, ISBN: 9780470543139 [4] MEL Scripting a Character Rig in Maya, Chris Maraffi, 2009, ISBN 10: 0321383532 Mjukvara: Autodesk Maya 2014 FaceShift : http://www.faceshift.com/ Softimage 2014 FaceRobot Pixologic Zbrush 4 The Foundry s Mari The Foundry s Nuke Photoshop CS5: http://www.adobe.com/photoshop 11