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



Relevanta dokument
Grafiska pipelinen. Edvin Fischer

Skinning and Animation

Avalanche Studios. OpenGL. Vår teknik. Våra spel. Lite inspiration... Stora, öppna spelvärldar. Sandbox-gameplay. Hög audiovisuell standard

Koordinatsystem och Navigation

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

Spelutveckling - Scenegrafer. Scenegrafer Optimeringar Culling

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

Bézierkurvor och parametriska objektrepresentationer

Procedurell grottgenerator och eld i GLSL. Marcus Widegren

Bemästra verktyget TriBall

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

Bemästra verktyget TriBall

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

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

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

Skinning. Ännu fler koordinatsystem att hålla reda på. SUPPLEMENT 2 till "So How Can We Make Them Scream?" 1. Olika metoder för kroppsanimation

RTG-formatet Gustav Taxén,

Tentamen TNM077, 3D datorgrafik och animering

Kort introduktion till POV-Ray, del 1

Grafiska pipelinens funktion

DGI/SUDOA Den historiska utvecklingen. Globala - lokala belysningsmodeller. Lokala belysningsmodeller. Rendering equation

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

Här är ett väldigt bra tidpunkt att spara scenen. Jag har valt att bygga ett litet pyramidtorn.

Shaders. Renderingssystem. Renderingssystem. Renderingssystem. Hårdvara för 3D-rendering. Hårdvara för 3D-rendering

Procedurell renderingsmotor i Javascript och HTML5

Vad skall vi gå igenom under denna period?

Fotorealism, animering, SW resurser

C-Uppsats i Datavetenskap. Skinning på GPUn. Med dubbel kvaternioner. Författare: Björn Overå Handledare: Martin Blomberg Termin: VT12 Kurskod: 2DV40E

Procedurell Terräng med LOD i OpenGL 4

Parabeln och vad man kan ha den till

Grafik raytracing. Mattias Axblom.

TANA17 Matematiska beräkningar med Matlab

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

Leta också reda på gratisprogrammen Audacity - för att spela in ljud och Gimp - för att skapa bilder.

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.

Robotarm och algebra

Kapitel 7 Skorsten, trappa och inredning... 3

3D-TEKNIKENS GRUNDER JOHAN JÖNSSON

Tentamen TNM061 3D-grafik och animering för MT2 och DAV1

Transformationer i 3D. Gustav Taxén

Rendera med mental ray

Omtentamen. TNM077 3D-datorgrafik och animering kl 8-12 Inga hjälpmedel. (samt även TNM008 3D-datorgrafik och VR)

Innehåll. Kamerabaserad interaktion Del 3 3D och AR. Världen genom datorn. Vad är AR? AR vs. VR. Potential

TNM022 Proceduella Bilder Rendering av proceduell päls i realtid

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

Fönster och dörr. Kapitel 3 - Fönster och dörr... 3

Fotorealistisk 3D Datorgrafik

Shaders. Gustav Taxén

OPTIK läran om ljuset

Modul 1: Komplexa tal och Polynomekvationer

En jämförande studie mellan Mental Ray och V-Ray

I rastergrafikens barndom...gjorde man grafik genom att skriva i ett videominne. Operationer på buffert och pixlar. Idag... Varför grafikkort?

Fotorealistiska bilder 1 PV360 kap 1 7: Grunder samt material och dekaler i Photoview 360

VISUELLA FÖRHÅLLANDEN

C-UPPSATS. Animation för spel

Procedurell 3D-eld på grafikkortet

Geometriska transformationer

En samling exempelfoton SB-900

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

4. Allmänt Elektromagnetiska vågor

Artikel: Reflektionsoptimerad pulverlack för belysningsarmaturer

Metoder för rörelsemätning, en översikt.

Mekaniska metoder för att mäta objekt och/eller rörelser kan bestå av:

Metod för termografisk mätning VV Publ. Nr 2006: Innehållsförteckning:

Rumsuppfattning är förmågan att behandla sinnesintryck av former

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

Institutionen för matematik och datavetenskap Karlstads universitet. GeoGebra. ett digitalt verktyg för framtidens matematikundervisning

Jämförelse av animationslager och trax-editor

5 Linjär algebra. 5.1 Addition av matriser 5 LINJÄR ALGEBRA

Modeller. Modeller, animering och fraktaler. Lokala koordinatsystem. Abstraktion. Hierarkiska koordinatsystem. Består-av -hierarki

Parabeln och vad man kan ha den till

Att göra spel med Game Maker. Rum. Grundläggande delar. Gamemaker, dagens föreläsning. Programmeringsmodell

Ljus och färg - Lite teori

3. Ljus. 3.1 Det elektromagnetiska spektret

Förberedelser. Svenska

. b. x + 2 y 3 z = 1 3 x y + 2 z = a x 5 y + 8 z = 1 lösning?

Kort introduktion till POV-Ray, del 3

λ = T 2 g/(2π) 250/6 40 m

Kapitel 3 Fönster och dörr... 3

Föreläsning 3: Radiometri och fotometri

11 övningar som gör dig mindre stel. Här får du ett program som mjukar upp dina höfter. Och som ger dig större rörelsefrihet.

Algebra och Geometri SF1624

After Effects Lathund

3.0. Tips och Trix Sida 1 av 18

Realtidsalgoritmer för ljusets spridning och absorption mot partiklar i luften P E T E R L Ö N N Q U I S T

Fotografera under vattnet. Likheter och olikheter

Geometrisk optik. Syfte och mål. Innehåll. Utrustning. Institutionen för Fysik

Högskolan i Halmstad Multimedia och visuell kommunikation Övning 1 Adobe Flash, grundfunktioner & interpolering. Efter övningen förväntas du kunna:

Inledning. Kapitel Bakgrund. 1.2 Syfte

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

Föreläsning 14 och 15: Diffraktion och interferens i gitter, vanliga linser, diffraktiv optik och holografi

Microsoft PowerPoint

Nyheter i Topocad 17. Mätdata. Nya beräkningsfunktioner. Mätdataprotokollet

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

Lösningsförslag - tentamen. Fysik del B2 för tekniskt / naturvetenskapligt basår / bastermin BFL 122 / BFL 111

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

Datorgrafik Ray tracing. Mattias Ekström, Västerås,

TAIU07 Matematiska beräkningar med Matlab

Uppgifter. Uppgifter. Uppgift 2. Uppgift 1

David Johansson Ljusdesigner, WSP Ljusdesign

Transkript:

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

Grunderna för 3d-grafik Positionering, transformationer Projektion, kameran Objekt i en 3d-värld Ljusmodeller för 3d-grafik Ljuskällor, lampor/lights Ljussättning lighting och shading

Positionering Koordinatsystem med 3 dimensioner x,y,z Allt positioneras med transformationer Objekt, lampor, kameran, osv Vanligen implementerade med matriser Matriser är effektiva att multiplicera ihop Byggs ofta upp i hiearkier En transformation är relativ till dess förälder Ordningen är viktig! Tre vanliga, oftast kombinerade Translation förflyttning /position Rotation Skalning

Projektion kameran En kamera är en vanlig liknelse Har en position och en orientering På samma sätt som 3d-objekt och lampor Var allt befinner sig relativt till kameran bestämmer vad som ritas ut på skärmen... plus en projektionsvolym FOV Field of View Near- och Far-clipping Perspektiv/ortografisk... och en viewport Det område på skärmen som grafiken ritas till

Objekt i 3d Solida objekt Övriga exempel: partiklar, dimma Består av en geometri/mesh och ett material Eller kombinationer av flera av dessa Positionerad i 3d med transformation(er) Geometri/mesh, består av Vertices, punkter i 3d-rymden (en vertex) Positioner relativt till objektets transformation Edges, kanter som förbinder punkterna Faces, polygoner Definieras utifrån de vertices som utgör hörnen

Material Vanligen ett material per objekt/mesh Definierar hur ljus reflekteras av en yta Färger och variabler för olika typer av ljus Vanligen multipliceras materialets färg för en typ av ljus med färgen på inkommande ljus Mer under Ljusmodeller snart Bestämmer ytans utseende tillsammans med eventuella texturer

Material Texturer En bild mappas till en eller flera polygoner Texturkoordinater (UV-koordinater) Finns vanligen ett antal standard- mappingar att använda i modelleringsprogram Varje vertex motsvarar en postition i bilden Kan genereras procedurellt Både bild och texturkoordinater Kan vara dynamisk Även andra effekter än direkt färg Tex bump-mapping för att ge ytan extra 3d-känsla

Ljusmodeller för 3d-grafik Ljuset brukar delas upp i tre klasser Ambient, diffust och spekulärt ljus Färgen på en pixel på skärmen bestäms av hur ljus reflekteras från den yta man ser Via materialet på ytan/objektet Allt ljus har fäger som beskrivs med RGB En kombination av rött, grönt och blått Ljuskällor förenklas till punkter Verkliga ljuskällor har en yta/volym

Ambient ljus En approximation av ljus från omgivningen Ljus som reflekteras från andra objekt runt Lyser upp ytor som inte belyses direkt av någon ljuskälla Dessa hade annars varit helt svarta Oberoende av position och riktning Ambienta ljuskällor påverkar allt lika Interagerar med material Kan ha en ambient färg eller reflektions-faktor

Diffust ljus (diffuse) Reflekteras diffust/jämnt i alla riktningar Intensiteten beror på vinkeln mellan ytans normal och det inkommande ljuset Större vinkel innebär mer utspritt ljus Interagerar med material Den diffusa färgen är grunden för ett material N θ N θ N Inkommande ljus

Spekulärt ljus (specular) Används för att simulera blanka ytor Reflekteras mer i den speglade riktningen Ger upphov till en highlight Interagerar med material Material har en spekulär färg Beskriver (tillsammans med ljuset) vilken färg en highlight får Samt faktorer för hur blank ytan är Tex shininess, hårdhet eller styrka Blankare yta ger mer mindre highlight

Ljuskällor Olika typer Directional, konstant styrka i en riktning Positional, effekt utifrån relativ position Spot-light, ljus fokuserat i en kon Vanligt för begränsade skuggor En eller flera färger Vanligen diffuse, specular och ambient Dvs en färg per typ av ljus enligt tidigare Motsvarar samma färger hos material Attenuation Hur snabbt dör ljuset med avståndet?

Ljussättning Räknar ut en total färg baserad på Materialet De lampor som belyser ytan Vypunkten, kamerans relativa position Vinklarna mellan ljuset, ytan och kameran Lägger ihop de olika typerna av ljus Ambient Diffuse Specular Ambient Diffuse Specular

Shading Hur applicerar man ljussättningen på en mesh? Dyrt att räkna ut för varje pixel Möjligt idag, med shaders Alternativ är att räkna ut färgen per polygon eller per vertex Normalen är viktig! Bestämmer hur diffust och spekulärt ljus reflekteras Finns eg bara en normal per polygon

Shading Man kan sätta/räkna ut normaler per vertex Tex genom att ta medlet på normaler för angränsande polygoner Ger möjlighet att använda Gouraud-shading, finns alltid Räkna ut färgen för varje vertex och jämna ut färgen över ytan Phong-shading, via shaders Jämna ut normalen över ytan och räkna ut ljuset för varje pixel

Blender Navigera miljön Skapa objekt Positionera objekt Editera mesh Material Texturer Textur-mappning Lampor Kameran

Animering Baseras på key frames och interpolering En animering består av ett antal frames IPO-kurvor i Blender (InterPOlering) Position och rotation vanligast Character animation Modellering i lager Vertex blending / skinning Direkt/invers kinematik

Modellering i lager Skelettlager Hierarki av ben och leder Rotationer och transformationer relativa förälder Skinnlager Geometrier och material Muskellager Knyter skinnlagret till skelettlagret

Skelettlager Trädstruktur Varje nod innehåller Namn Referens till förälder Translation relativ förälder Rotation relativ förälder Referenser till alla barn Rotnod Känd i globala koordinatsystemet Ev information om maximala rotationer Constraints, ges vanligtvis i Euler angles

Positionering av skelett Direkt kinematik (Forward kinematics) Explicit ange rotationen för varje nod Trädet traverseras från rotnod till lövnoder En kombination av alla transformationer och rotationer på vägen ger lövets transformation Pose Vector Alla noders rotationer vid en viss tidpunkt Definierar den fullständiga ställningen för en karaktär

Skelettanimering En animering behöver inte påverka alla ben Kombinera animeringar som påverkar olika ben T ex springrörelse på nedre delen av kroppen och kaströrelse på överkroppen Blanda flera animeringar på samma ben Motion blending Tex peka i en given riktning Genom att kombinera två pekrörelser med kända riktningar, och blanda dem med rätt vikter Övergångsanimeringar mellan två animeringar En blandning av de två som övergår från slutet av animering 1 till början av animering 2 Tex resa sig från sittande innan man börjar gå

Skelettanimering En animering består av key frames Key frames för skelettanimering Bara benens rotation behöver finnas med Benens längd/storlek finns lagrad i skelettet Motsvarar en (del av en) pose vector Delas upp i tracks eller motsvarande Ett för varje ben som berörs av animeringen

Skelettanimering Svårt producera realistiska rörelser Särskilt för människor Vi är extremt bekanta med människans rörelser Motion Capture Spela in verkliga rörelser Från tex en person Matcha inspelade punkter mot punkter på en modell Kan användas för att styra ett skelett som i sin tur att styra valfri modell

Skinn- och Muskellager Skinnlager Den geometri/mesh som utgör figurens yta Med tillhörande material Måste knytas till skelletet för att följa rörelser Muskellager Knyt varje vertex till ett ben Ange position och normal relativt till benet Varje vertex kommer att följa benet direkt Innebär defekter nära lederna Vi vill ha något bättre

Skinn- och Muskellager Knyt varje vertex till flera ben Samma vertex kan påverkas av flera ben Övergången mellan benen blir mjukare Geometrierna ser mer naturliga ut Kallas vanligen för skinning eller vertex blending

Muskellager Vertex Blending Varje vertex knyts till ett eller flera ben i ett modelleringsprogram Varje association har en vikt Alla vikter summerar till 1 Varje vertex har en position och normal relativt varje ben Beräkna position och normal genom att summera över alla ben v' v' n w v i i M i n i i 0 ( w M v resulterande hörnposition antalet ben i i i skalärvikt för ben i ) hörnetsposition relativt ben i transformationsmatri s för ben i

Muskellager Vertex Blending Kan komma till korta vid leder som kan vridas mycket Tex armbågen Använd viktutjämning Se till att hörn nära varandra bara har små skillnader i viktning Inte anpassat för grafikkortens standardhårdvara Tar en matris för varje vertex Vertex shaders kan användas Kan simulera en palett med matriser som varje vertex kan influeras av med en viss vikt Kan kombineras med pixeleffekter, såsom bump mapping Problem med kollisionsdetektion och skuggor eftersom bara grafikkortet har tillgång till den slutgiltiga geometrin

Invers Kinematik Invers kinematik ( Inverse kinematics, IK ) Motsatsen till direkt kinematik Position/rotation av lövnod ( end effector ) känd, lös rotationerna för noder mellan rotnod och lövnod När lämpar sig invers kinematik vid figuranimering? Interaktion Om en figur ska ta upp ett föremål, trycka på en knapp, etc Dvs, vi vet slutposition för handen, men inte hur vi ska sträcka armen för att ta oss dit Motion capture Låt säga att vi bara har tillgång till två sensorer, en för varje hand, men vill veta hur armbågen är böjd för att kunna rendera både armar och händer Modelleringsprogram Förenklar oerhört mycket för animeraren

Invers Kinematik Ett invers kinematikproblem kan ha noll, en eller flera lösningar Overconstrained Inga lösningar Underconstrained Flera lösningar Reachable workspace Den volym som end effector kan nå

Blender Animering Frames Keys Interpolering IPO-kurvor Character animation Armatures Bones Vertex groups Actions

Slut?