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

Relevanta dokument
C-UPPSATS. Matte painting with fysical models

C-UPPSATS. Visualisering av en miljö i 3D

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

C-UPPSATS. Revitalize classic art using realtime game technology

Character creation for web based games

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

C-UPPSATS. Cinematic Animation in a Production Pipeline

C-UPPSATS. Animation för spel

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

C-UPPSATS. Titelscenen till filmen Pyramiden

C-UPPSATS. Realistisk modellering för film

Projektrapport. Till Projektet Bluetoothstyrd bil

C-UPPSATS. En jämförelse mellan ett spelutvecklingsföretag och ett postproduktionsföretag

Koordinatsystem och Navigation

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

The Awakening Short Film

C-UPPSATS. Konceptuell 3D i praktiken

Texturerade 3D-modeller

Effektivt arbetsflöde för att skapa en CG karaktär för film och reklam

DLI - Konsten att bygga en kub. Ett projektarbete av Ola Jansson GK3A under hösten/vintern/våren 2009/10

HAND TRACKING MED DJUPKAMERA

Teknisk kartläggning kring plattformsval och arbetet med att skapa en app med Augmented Reality

3d är för dem som vill lära sig nya saker

C-UPPSATS. Om en videoreporter

Procedurell Terräng med LOD i OpenGL 4

Institutionen för kommunikation och information Examensarbete i medier: Dataspelsutveckling 30hp C-nivå Vårterminen 2008.

C-UPPSATS. Modellering och texturering för filmproduktion

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

Retuschera och laga bilder med Photoshop

Mina listor. En Android-applikation. Rickard Karlsson Rickard Karlsson - rk222cu Linnéuniversitet rk222cu@student.lnu.

C-UPPSATS. Rigga en karaktär för agent FX

C-UPPSATS. CG cinematic - från början till slut. Fredrik Lindbom. Luleå tekniska universitet

Grafiska pipelinen. Edvin Fischer

Rumslighet, vinklar och realism Examensarbete, Computer Graphics Design, YRGO Anna Liljedal, 2015

Din idé Vår verklighet VIRTUELLT

Fotorealism, animering, SW resurser


Skapande av en modifikation till Crysis

Game-art for Dummies

Erik Lundgren GarageLoppisen.se. Projekt i kursen Individuellt Mjukvaruutvecklingsprojekt, 1dv430

Killen i baren - okodad

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

FEBRUARI JVM-Distans. den 22 februari 2012

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

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

BERGAPORTEN BERGAPORTEN

fångar Eva våren Eva Blixmans fotoblogg är minst sagt välbesökt upp

3D skulptering Cinema4D

C-UPPSATS. Concept Art and Texturing for Games

EXAMENSARBETE. 3D för TV. Evelina Kolovou. Teknologie kandidatexamen Datorgrafik

med mig lite grejer som jag kunde använda till att bygga en hydda med. Jag hittade löv några stockar och träd.

MARTIN ERIKSSON. Boken om Martin

LOVELIEST 2014 PORTRÄTT FRÅN FOTOKURSEN

Giraffen & ballongen

VRay för Max Camilla Ravenna / André Ravenna Alto Punto 2012 Alto Punto Askims Stationsväg Askim

Fotodagbok med mobilkamera eller enklare kamera. Här får du träna att ta bilder som har ett sammanhang.

Projektredovisning- Animationstest, Stopmotion och 3D skrivare Jacob Petersson, Cristoffer Ålund, Jakob Arevärn

Kv. Ogräset. Martin Stenmarck,

Kamera&Bild Nr Galleri, Bildbehandlarna

Utblick av Aleksandra Stratimirovic. Förslag till konstnärlig gestaltning av Nipängens äldreboende, Bispgården

Omtentamen TNM077, 3D datorgrafik och animering (samt även TNM008, 3D datorgrafik och VR)

[SLUTRAPPORT: DRAWPIXLZ (ANDROID-APP)] Slutrapport. Författare: Zlatko Ladan. Program: Utvecklare av Digitala Tjänster 180P

Den Magiska dörren av Tilde och Saga Illustrationer av Tilde

Ljussätt med studioljus. Tobias Fischer

Curriculum Vitae Erik Benerdal

Kardinal Synd Umeå - Inspelningsinstruktioner -

De gröna demonerna. Jorden i fara, del 2

C-UPPSATS. Miljöer för spel

Första dagboken: ATT HANTERA EN TSUNAMI. Onsdag 19 januari

Rune Tennesmed. Oskar Norling 1DV430. Individuellt Mjukvaruutvecklingsprojekt 1DV430 Webbprogrammerare H12 Oskar Norling

Danderyds Fotoklubb 2014/2015 klubbmästerskapen 4 Domare: Sanna Sjöswärd sid 1 (7)

RAPPORT. Vad har du fått för reaktioner på din konsert? Leader Bergslagen Box Skinnskatteberg Besöksadress: Kyrkvägen 7

Lära och utvecklas tillsammans!

FÖRKORTA DIN VÄG PÅ BANAN

Massage i skolan - positiva och negativa effekter

Fotografera under vattnet. Likheter och olikheter

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

Timo Tidtavla Marcus Reldin Industridesign 2007

EXAMENSARBETE. Tekniker för fotorealistisk rendering. Christoffer Lindvall. Teknologie kandidatexamen Datorgrafik

Panorama och VR teknik


STADSLEDNINGSKONTORET

Grundredigering i Photoshop Elements

Mother Bear Sweden. Inledning

Bonusmaterial Hej Kompis!

Copyright 2007 Team Lars Massage

Karlsängskolan - Filminstitutet

3. Välj den sprajt (bild) ni vill ha som fallande objekt, t ex en tårta, Cake. Klicka därefter på OK.

Projekt Rapport. RaidPlanner. Jeanette Karlsson UD10

Procedurell renderingsmotor i Javascript och HTML5

Kevin Lane Kungliga Tekniska Högskolan Introduktionskurs i Datateknik (II1310) TIEDB0. [NXT Legorobot] [Programmering och felsökning]

Årsberättelse

Stockholm Waterfront

bilder för användning

Wireframe när, vad, hur och varför?

Tema TID. Lyckåkerskolan Visby. Fritids, avd Alen. Ht Konstnär och projektledare: Berit Ångman Svedjemo. Foto: Maritha Spanier

Kombinationer och banor i agilityträningen

Innehållsförteckning


...du är lite bättre än jag trodde i detta eminenta hjärnspel, så helt tom i bollen är du nog inte.

Transkript:

C-UPPSATS 2010:125 Revitalizing classic art using real-time game technology - environment modeling and texturing Mathias Berg Luleå tekniska universitet C-uppsats Datorgrafik Institutionen för LTU Skellefteå Avdelningen för Fritid och Underhållning 2010:125 - ISSN: 1402-1773 - ISRN: LTU-CUPP--10/125--SE

Revitalizing classic art using real-time game technology Environment modeling and texturing Mathias Berg Luleå Tekniska Universitet C-uppsats Datorgrafik Institution för fritid och underhållning

Förord Som examensarbete har jag tillsammans med 4 andra skapat en tavla som kan interagera med dess åskådare med hjälp av en kamera. Gruppen bestod av mig (Mathias Berg) som modellerat och texturerat miljön, Mattias Eriksson som modellerat och texturerat karaktären, Magnus Marklund som har animerat karaktären, Joel Marklund som har gjort att kameran kan känna igen hudfärg och tolka vissa rörelser, Fredrik Rutström som har programmerat karaktärens beteende. Idén att göra en interaktiv tavla kom från Arash Vahdat på LTU Skellefteå som även har varit min och de andra grafikernas handledare under projektet. Jag skulle vilja tacka Arash Vadhat för möjligheten att jobba på detta projekt. Jag vill även tacka de övriga projektmedlemmarna Mattias, Magnus, Joel och Fredrik för deras stöd och arbete.

Abstract The goal of this eight week project was to create a interactive painting, where a character in the painting with help from a web-camera is able to interact with the paintings viewers. This report will focus on how you can create the environment for a painting like this using real-time game graphics. Sammanfattning Detta projekt gick ut på att under åtta veckor försöka utveckla en interaktiv tavla, där en karaktär i tavlan med hjälp av en monterad web-kamera skulle kunna interagera med tavlans åskådare. Rapporten kommer handla om hur man kan gå till väga för att skapa miljön till en sådan tavla, anpassad för realtidsspelgrafik.

Innehåll Förord... 0 Abstract... 0 Sammanfattning... 0 Inledning... 4 Gruppen... 1 Problemställning... 1 Bakgrund... 1 Syfte... 1 Förkortningar och ordförklaringar... 2 Förarbete... 3 Produktion... 4 Modellering... 4 Texturering... 7 Ljussättning... 9 Hunden... 10 Referenser... 12

Inledning Detta projekt utfördes under åtta veckor av 5 studenter från utbildningarna Datorgrafik och Datorspelsutveckling på LTU Skellefteå. Målet med projektet var att försöka skapa en interaktiv tavla, där det med hjälp av en web-kamera skulle vara möjligt att interagera med tavlans motiv. Gruppen Mattias Eriksson (Datorgrafik): Karaktärsmodellering och texturering Magnus Marklund (Datorgrafik): Karaktärsanimering Mathias Berg (Datorgrafik): Miljömodellering, texturering och ljussättning Joel Marklund (Datorspelsutveckling): Kameraprogrammerare Fredrik Rutström (Datorspelsutveckling): Karaktärsbeteende Problemställning Hur kan man gå till väga för att återskapa en klassisk tavla med realtids spelteknik och vad tillför det tavlan? I detta arbete försöker jag att hitta en bra metod att återskapa miljön till en klassisk tavla med realtids 3D grafik, att göra det så likt originalet som möjligt och göra det möjligt för en karaktär i tavlan att interagera med omgivningen. Bakgrund Medans vi höll på med inriktningsprojektet i datorgrafik och spelutveckling så blev jag och några andra kontaktade av Arash Vahdat. Han hade en idé som gick ut på att göra en interaktiv tavla. Det skulle vara en klassisk tavla med en karaktär som med hjälp av en kamera skulle kunna interagera med åskådare. Och allt skulle göras med realtidsgrafik. Vi tyckte alla att det lät som en väldigt spännande och kul idé och valde att försöka realisera detta som vårat examensarbete. Syfte Syftet med projektet är förutom att skapa en interaktiv tavla, undersöka metoder för att återskapa en värld från en tavla med realtidsgrafik, få det att se så likt ut som möjligt och se om det kan tillföra någonting till tavlan. 1

Förkortningar och ordförklaringar Rendering = Att göra bilder av 3D objekt UV-mappning = Ett sätt att bestämma hur en textur ska fördelas över en geometri. Radon Labs = Ett tyskt spelföretag Nebula2 = En spelmotor Clone stamp = ett verktyg i photoshop som klonar färger från en plats till en annan. Vertis = En punkt som beskrivs i X-, Y- och Z-led i en 3D värld. 2

Genomförande Förarbete Vår första uppgift var att hitta en tavla som passade projektet. Vi ville ha en tavla med max en eller två karaktärer i en någorlunda rolig miljö. Vi ville inte ha fler karaktärer för att det skulle bli för svårt att hinna animera. Vi valde tavlan the Sentry (figur1) målad av den Holländska konstnären Carel Fabritius år 1654 Figur 1: tavlan. the sentry, målad av Carel Fabritius år 1654 När tavlan hade valts så satte vi oss ner och planerade hur vi ville att tavlan skulle agera och vad vi skulle behöva göra efter det. Det blev ett ganska stort träd med states som förklarade vad karaktären skulle göra och hur man skulle trigga allt. Dom states som påverkade mig var att karaktären skulle kunna springa bakom pelaren och världen skulle kunna förmörkas om man täckte över kameran. 3

Produktion I detta projekt användes spelmotorn Nebula2 utvecklade av det tyska företaget Radon Labs. Denna motor är ett par år gammal och saknar därför en del funktioner som vi gärna hade velat ha, som te.x. reflektioner, fina skuggor, bra fysikhantering mm. Vi valde denna motor på grund av att alla i gruppen redan hade erfarenhet med den. Särskilt för programmerarna som under detta projekt skulle få göra en hel del saker som de aldrig testat innan, kändes det säkrast att använda en motor som de redan kunde. Vi använde även ett sidoprogram till Nebula kallat mangalore. Mangalore används för att lättare kombinera olika element i en scen som environment och karaktärer. Min del i projektet bestod i första hand av att skapa miljön i tavlan vilket är fokus i den här rapporten. I slutändan så försökte jag även rigga och animera hunden och finjustera karaktärstexturen litegrann. Jag går kort igenom hur jag försökte och misslyckades att animera hunden i slutet av detta kapitel. För all modellering och texturering användes Maya och Photoshop. Modellering Min första utmaning när jag började modellera var att hitta rätt perspektiv. Jag testade tre olika sätt innan jag lyckades modellera så det stämde överrens med tavlan utan att det såg konstigt ut när karaktären började röra på sig. Första försöket så modellerade jag allt som om jag hade modellerat efter en konceptbild eller skiss. Jag byggde upp objekten som skulle vara med och placerade dom som så som jag tolkade dom att de stod i tavlan. Detta visade sig vara väldigt svårt. Det gick inte att passa in muren och trappan med mera så de stämde överrens med tavlan utan att vinkla och deformera modellerna. Andra försöket så använde jag tavlan som en imageplane på min mayakamera och modellerade allting efter den. Jag extrudade edges och flyttade verticer för att kopiera tavlan. Resultatet blev att det såg perfekt ut i rätt vinkel och utan en karaktär i bilden. Men bytte man perspektiv på kameran så såg allt skevt och vint ut. Det medförde även att det såg fel ut så fort det kom in en rörlig karaktär i bilden, vilket gjorde att jag fick testa något annat. 4

Figur 2: modellering med tavlan som mall Sista metoden jag testade innan jag blev nöjd var att jag modellerade muren och pelaren så de hade bra proportioner. Därefter så placerade jag kameran med min imageplane så att den modellerade muren passades in på tavlans mur. När det stämde så kunde jag modellera resten efter bilden utan att tänka på proportioner och perspektiv. Eftersom karaktären endast skulle interagera med muren, pelaren och bänken så var det bara de som var viktiga att de var rätt proportioner. Resten skulle aldrig märkas att de var fel eftersom ingenting interagerar med det. Trappan och valvet hade jag egentligen kunnat låta vara ett texturerat plan. 5

Figur 3:färdigmodellerad miljö Figur 4: tavlan med min modelwireframe Buskaget på muren och pelaren la jag till senare som plan med alpha texturer. 6

Texturering När projektet startade så trodde jag att textureringen skulle bli det svåraste jobbet för mig. Jag planerade att måla alla texturer för hand och försöka efterlikna tavlans penseldrag i photoshop. Med min lilla erfarenhet av sådant arbete så trodde jag att det kunde bli ett problem. Tidigt i projektet så började jag fundera på om jag inte skulle kunna använda den riktiga tavlan som textur till de flesta objekt. Eftersom kameran var statisk så behövdes inte texturer på mer ytor än vad som syns på tavlan. Så jag tog bort all geometri som låg utanför tavelramen och skapade mina UV sets direkt från kameran (figur5). Figur 5: vänster: projicerad bild på geometrin, höger: UV-set på bild Så jag utgick från detta och plocka in tavlan i photoshop. Där använde jag clone stämpeln, healing brush med mera för att måla bort karaktären och hunden från bilden (fig6). Jag fick göra lite olika varianter på bilden där jag målade bort olika saker för att få till smådetaljer. 7

Figur 6:tavlan till vänster, tavlan med bortclonad karaktär till höger För att förhindra att karaktären skulle kunna gå över och skymma konstnärens signatur gjorde jag ett plan framför kameran där jag satte signaturen som en alphatextur (figur7). Figur 7:signatur framför objekt 8

Ljussättning Vi ville ha realtidsskuggor på karaktären. Detta kan man i Nebula få genom en directional light. Tyvärr så blir skuggan väldigt blek och ju fler lampor man använder desto blekare blir den (figur7). Figur 8: blek skugga Vi ville försöka få skuggan att se ut mer som tavlans skuggor. Mörkare och med mjukare kanter. En av programmerarna hade som uppgift att försöka ändra hur skuggan renderades. Tyvärr så fann han ingen lösning. Så när jag ljussatte scenen så försökte jag använda så få lampor som möjligt. Eftersom jag använt tavlan som textur och det därmed fanns skuggor inmålade i texturen redan så behövde jag inte försöka replikera tavlans ljussättning utan jag behövde bara se till att hela scenen blev belyst lika mycket och ha en lampa som agerade sol och kastade skugga på karaktären. Nebula kan endast hantera directional lights och volume lights. Till det här projektet använde jag endast directional lights. Jag placerade ut fyra stycken i olika riktningar för att få en jämn belysning på geometrin så de fick samma färg som tavlan. 9

Hunden På grund av tidsbrist och problem med vår motion capture data så kom Magnus fram till att han inte skulle hinna animera hunden i tavlan. Jag som kände att jag hade lite mer tid tog då på mig att försöka göra det. Detta var ett par veckor in i projektet och jag har väldigt liten erfarenhet med riggning, och ingen erfarenhet alls med quadroped riggning så jag valde att använda en färdig rigg figur(9) som går att ladda ner gratis från creativecrash.com. En fullständig länk till riggen finns i referenserna. Figur 9: moddad hundrigg från creative crash Med lite moddning av riggen och lite med skinning av Magnus så fick jag riggen att funka bra i Nebula. Men när allt väl funkade så bestämdes det att vi skulle börja använda mangalore. Mangalore är ett sidoprogram till Nebula som användes för att bygga ihop alla delar i ett projekt. Mangalore kräver att man ska använda sig av något som kallas character kit. Charakter kitet binder ihop skelettet, meshen och animationsclip från Maya till Mangalore. Jag fick problem med detta p.g.a. att character kitet vill ha skelettet uppbyggt på ett speciellt sätt som min gratis rigg inte följer. Bland annat så får man inte ha grupper i skelett hierarkin vilket mitt skelett hade en hel del av. Jag satt ett par dagar och försökte få det att funka men fick se mig besegrad när kontroller och skelettet gång på gång gick sönder. Så vi tog beslutet att vi endast skulle posera hunden i sovandes position och lägga han där han inte skulle vara i vägen för karaktären. 10

Resultat Under examensarbete har jag varit med och skapat en prototyp till en interaktiv tavla. Karaktären i tavlan visar intresse av åskådare genom att ställa sig upp från sin sittandes position när någonting händer framför kameran. Om man vinkar till karaktären kommer han vinka tillbaka. Det vi har åstadkommit är ganska långt från vad vi hade hoppats på, men jag tror att det med mer tid går att göra någonting väldigt intressant av det här konceptet. Min del som var att skapa miljön gick ganska så lätt. I och med att kameran var statisk så behövde jag inte måla egna texturer utan använde tavlan som textur och på så sätt blev miljön väldigt lik tavlan. Skulle man göra samma projekt där man på något sätt utöver att agera med karaktären i tavlan även kunna interagera med världen så blir det nog svårare att få det att se likadant ut. Figur 10: resultatet så som det ser ut i Nebulas previewer 11

Referenser www.wga.hu : galleri över konstnärer och deras konstverk www.radonlabs.com : Skaparna till Nebula2 http://www.creativecrash.com/maya/downloads/character-rigs/c/great-dane : Hundriggen jag försökte använda. 12