Spaced Out En rymdsaga Gullberg, Eric erigu801@student.liu.se Gustafsson, Björn bjogu419@student.liu.se Hedman, Henrik henhe894@student.liu.se Hellsten, Jonas jonhe289@student.liu.se
Idé Relativt tidigt i planeringsfasen togs beslutet att vi skulle göra en film som utspelar sig i rymden. Utformningen skulle vara som en preview till en långfilm. Den primära anledningen till detta var möjligheten att kunna använda utvalda delar som ser bra ut utan att lägga ner stor möda på övergångar och kontext. För att kunna samordna ett filmprojekt var det viktigt att bygga upp en gemensam definition och begreppsgrund för hur vi vill att filmen skall se ut samt vilka miljöer och stämningar som skall råda. Genom att ta hjälp av externa skildringar av rymden i konstverk och film, samt långtgående beskrivningar kunde vi bygga upp en vision och idé om miljön. Då vi inte ville brista i originalitet så har vi gjort en medveten avvägning mellan klassiska rymdfilmer, som tjänat som referensverk. Till de stora inspirationskällorna hör S. Kubricks 2001 A Space Odyssey G. Lukas Star Wars. I övrigt har utformningen av objekt och modeller karaktäriserats av en strävan mot att inte efterlikna befintliga och speciellt kommersiella filmer. En storybord och gemensam definition har fått tjäna som riktlinje för scenerna. I övrigt har projektdeltagarna personligen ägt det yttersta ansvaret för de olika modellerna och miljöerna. På så sätt har beslutsgången fått ett naturligt flyt och med regelbundna möten har veckornas alster utvärderats i grupp. Scenerna har grupperats efter följande uppdelning: Introscen med det goda skeppet som figurerar i en känd rymdmiljö Scen med figurerna inuti det goda skeppet Titelscen Scen med asteroidfält vari det onda skeppet lurar Scen inuti det onda skeppet Jaktscen mellan de onda och goda Slutscen Eftertext Som ovanstående scener förtäljer är det en klassisk uppdelning mellan ont och gott. En idé som förelåg tidigare var att figurernas röster skulle utgöras av lärare och andra kända karaktärer på universitetet. Dock slopades den tanken eftersom det fanns en tidsbrist och att det skulle bli väl omständigt. Istället fick våra egna röster användas och en musikproducent anlitades för inspelning och mixning av rösterna. Vi vet att ljudutformningen är ett viktigt komplement som bidragsgivare till stämning och upplevelse i filmer, därför har musiken i trailern valts ut noggrant.
Design Karaktärer Från idéfasen visste vi att två av de stora sakerna vi skulle modellera var utomjordingar och rymdskepp. På utomjordingarna ville vi ha mjuka runda former och valde därför att göra polygonmodeller och sedan använda subdivision surfaces (meshsmooth) för att få det organiska utseendet. Alternativet att använda NURBS eller Patches avfärdades då dessa är svårare att arbeta med. Dessutom gjorde detta att vi kunde animera den lågupplösta polygonmodellen och göra modellen mjuk först vid rendering. Detta gjorde animeringen mer lättjobbad. För att få en mer slemmigt känsla lade vi till bumpmappat material med en svag falloff-textur för self-illumination. Figurerna är animerade med bensystem och skin-funktionen för att länka polygonmodell och ben. Munnarna och ansiktsrörelser är animerade med morph-funktionen. Skepp För att skeppet skulle bli kantigt och fint användes polygonmodellering. För att få ökad detaljnivå på skeppet användes dessutom Greeble vilket är en gratisplugin som gör extrude och bevel med viss slumpmässighet på utvalda polygoner. Miljöerna Eftersom vi skulle ha karaktärer behövde vi också miljöer att ha karaktärerna i, vi ville ha en ljus och trevlig miljö för de goda karaktärerna och en mörk miljö för de onda. Vi bestämde oss också för att inte använda någon radiosity, främst därför att det skulle ta för lång tid. Eftersom vi upptäckte att miljöerna gick ganska fort att rendera valde vi att lägga dit reflekterande material på vissa ställen för att det är läckert. Vi har använt reactor för att simulera två saker i miljöerna, dels duken i den goda miljön, och dels lampan som faller ner. Dessutom har vi använt volume lighting för att tydligt kunna se lampans ljusstråle. Förutom miljöer för karaktärerna att vistas i behövde vi också miljöer för rymdskeppen. Dessa miljöer var ganska enkla att modellera då det mest rörde sig om sfäriska planeter med ett material på. Effekter Vad skulle en rymdfilm vara utan specialeffekter? De flesta av de specialeffekter vi har använt oss av är baserade på partikelsystem. Dessa påminner mycket om varandra då det hela tiden rör sig om facing-partiklar med ett halvgenomskinligt material på. Partikelsystemen är använda till motoreffekter, kanoner, hyperspace-effekter, missilspår och solar. På vissa ställen har vi också använt modeller med animerade, halvgenomskinliga material för vissa effekter. Vissa eftereffekter såsom glow och lensflare har använts.
Plugins Vi har använt ett flertal gratisplugins för att utöka 3dstudios funktionalitet. Dessa är: Milkyway Pavel Kuznetsov Gör en fin stjärnhimmel med motionsblurade stjärnor Greeble Tom Hudson För ökad detaljrikedom på modeller Electric BlurBeta En vacker noise-liknande material Texporter Cuneyt Ozdas Exporterar en bild av UV-koordinaterna Solidify Andrew Zmievski Gör modeller solida Color correct Cuneyt Ozdas Korrigerar färgerna i texturer Optimering För att få lidliga renderingstider blev vi tvungna att göra ett flertal kompromisser vad gäller kvalité. Ett problem var ljussättningen, vi blev tvungna att använda shadow-maps på de flesta ljuskällor med undantag för de primära ljuskällorna i rymdscenerna. Dessutom lyser alla sekundära ljuskällor endast på de närmaste objekten. En intressant observation vi gjorde var att advance raytracing var många gånger snabbare än vanlig raytracing för skuggenerering. Detta observerades vid två olika tillfällen, och vi har ingen förklaring varför det är på detta vis. Vi beslöt dessutom att inte använda radiosity eftersom det skulle ta betydligt längre tid. Av samma anledning har raytracing använts sparsamt. Vi har dessutom gått över våra modeller och reducerat eller ökat antalet polygoner så vi varken har för många eller för få. För vissa scener har vi använt dummy objekt som ersättning för att förenkla animeringen. För den onda miljön är reactor-simuleringen av lampan egentligen utförd på objekt som endast liknar de renderade objekten. Annars hade simuleringen gått så långsamt att det varit omöjligt att bibehålla någon grad av interaktivitet i systemet. Detta har dock sina brister, vid ett par bildrutor går lampan igenom ledstången, men vi bedömde att det var mycket svårt att upptäcka. För att kunna rendera allting under rimlig tid har vi använt flera datorer samtidigt och renderat scener så fort de blivit färdiganimerade.
Brister När man arbetar med ett så pass stort och komplext program som 3dstudio är det oundvikligt att man stöter på buggar och oförutsägbart beteende. En av de första saker vi upptäckte var att Inverse Kinematics-systemet inte fungerade tillfredställande med vårt bensystem. Benen var ibland svåra att röra på vilket gjorde att vi istället fick använda forward kinematics. Dessutom släppte kopplingen mellan skin-funktionen och bensystemet, detta var dock relativt enkelt att avhjälpa. En annan betydande bugg i programvaran är att när man sammanfogar två 3dstudio Max filer så blir objekt som använder lathe funktionen ofta felaktiga, om man tar bort denna funktion och applicerar den på nytt är problemet löst. Partiklar för motorer och kanoner ändrade plötsligt riktning vid vissa tillfällen och vi vet inte riktigt varför detta hände. Vi upptäckte att om man stängde av Object motion inheritance så avhjälptes problemet. När vi renderade filmen renderade vi ut det till sekvenser av png-bilder, när vi betraktade dessa upptäckte vi att flera bildrutor saknades, vi misstänker att det blivit fel i överförningen av bilderna. Detta problem har vi löst genom att rendera om just de bildrutorna. Eftertanke Något som vi skulle vilja göra om är ljusmodellerna för vissa miljöer. Till exempel har vi inte använt radiosity, vilket skulle vara önskvärt vid flera scener i filmen. En annan önskvärd sak är likriktning i detaljnivån i modellerna då vissa delar är väl enkla och andra delar är nästintill infamt högdetaljerade. I övrigt skulle vi vilja använt en mer korrekt läppsynkronisering. Alla dessa saker skulle vi kunna göra i mån av tid, men eftersom projektet endast svarar för två högskolepoäng känns det i sammanhanget irrelevant. Naturligtvis kan man i efterhand reflektera över vad man kan ha gjort bättre och utvärdera projektförloppet på klassiskt Malténvis. Vi skulle ha gjort en rad saker annorlunda om vi fick påbörja projektet igen. Dock vill vi så här med facit i hand framhäva omständigheten att projektet trots allt har varit ett inlärningsprojekt, där alla deltagare haft olika kunskapsgrunder, ambitioner och föreställningar om vad grafik är och hur det borde vara. Med tanke på det så är det anmärkningsvärt att projektet överhuvudtaget gick att genomföra så pass smärtfritt som det trots allt har gjort. Troligtvis är det den kreativa dimensionen som lyft detta projekt från många andra obligatoriska moment och gjort att det oftast känts bra att arbeta med.