Animace

Kurz počítačové grafiky

Autor: Jiří Hnídek / jiri.hnidek@tul.cz

Druhy animace

  • Animace může být součástí interaktivní aplikace (simulátory, hry) nebo neinteraktivní (2D/3D video sekvence: filmy, vizualizace, atd.)
  • Animaci můžeme dělit na nízkoúrovňovou (např. klíčování) a vysokoúrovňovou (simulace davů)

Story board

Stop motion

  • Nemá většinou moc souvislost s počítačovou grafikou
  • Loutky jsou fotografovány snímek po snímku
  • Vyžaduje precizní přípravu a trpělivou práci
  • Příklad: animované filmy Fimfárum, Omega

Obnovovací frekvence (Frame Rate)

  • Hodnota se udává v FPS (Frames per Seconds)
  • Udává kolikrát za vteřinu je zobrazen snímek animace
  • Typické hodnoty jsou: 24, 25, 30, 50, 60
  • Video sekvence může být tzv. prokládaná
    • Animace je ukládaná/přenášena s poloviční frekvencí než je obnovovací frekvence
    • Každý snímek obsahuje v sobě jakoby dva snímky (lichá řádky první, sudé druhý)
    • Dříve používáno při přenosu televizního signálu

Keying alias Klíčování

  • Termín vznikl ve 20. letech 20. století ve studiu Walta Disneyho
  • Základ animace je vytvořen pouze v klíčových snímcích
  • Mezilehlé snímky vytvářeli dříve méně talentovaní/zkušení kreslíři
  • Dnes mezilehlé snímky dopočítává počítač

Animování rastrové grafiky

  • Spíše připomíná stop motion
  • Pokud animační program dokáže nakreslenou čáru převést na lomenou/hladkou čáru, tak lze provádět klíčování a interpolaci tvaru křivky.

Interpolace parametrů

  • Hodnota poslední klíčové hodnoty
  • Lineární interpolace
  • Interpolace polynomem (často Bézierova křivka)

Extrapolace parametrů

  • Hodnoty klíčovaných parametrů před prvním a posledním klíčovým stavem je nutné nějak definovat
  • Konstantní funkce
  • Přímka se směrnicí odpovídající tečnému vektoru v prvním/posledním klíčovém stavu
  • Cyklické opakování klíčových stavů
  • Cokoliv dalšího, co kreativní hlavička vymyslí

Animace transformace objektů

  • Jednoduchý případ animace kdy se animuje pouze poloha, rotace a velikost objektů
  • Lze použít klíčování a mezilehlé snímky lze snadno dopočítat
  • Příklad: první krátké animované filmy studia Pixar: Luxo aneb i s malým kašpárkem lze hrát velké divadlo.

Deformace tvaru objektu

  • Tvar objektu lze deformovat mnoha způsoby
  • Nejjednodušší způsob spočívá v tom, že máme objekt se dvěma stavy souřadnic vertexů a mezi těmito stavy provádím jednoduchý blending pomocí lineární interpolace.

Deformace objektu mřížkou

  • Prostorová mřížka obepínající objekt
  • Deformace mřížky deformuje i objekt(y)
  • Objekt mimo mřížku není deformovaný (průchod objektu deformovanou mřížkou)

Animační křivky

  • Může to být v podstatě libovolná parametrická křivka $Q(t)$
  • Parametr $t$ zde chápeme jako čas animace. Při změně $t$ dochází i ke změně polohy objektu.
  • Aby se objekt i natáčel ve směru pohyby, tak je potřeba spočítat tři vektory.
  • Z tečného vektoru $\vec{q}'(t)$ reprezentující rychlost a druhé derivace $\vec{q}''(t)$ reprezentující zrychlení spočítáme binormální vektor $\vec{b}(t) = \vec{q}'(t) \times \vec{q}''(t)$
  • Orientaci nelze určit v inflexním bodě, kde $\vec{q}'(t) = k \vec{q}''(t); k \neq 0$

Animace postav

  • Předpokládejme, že postava je vytvořena jako 3D objekt s ploškovou reprezentací
  • Pro její snadnou animaci se většinou používá vnitřní hierarchická kostra
  • Kostra je tvořena jednotlivými kostmi, které mohou mít mezi sebou vztah rodič-potomek
  • Poslední kost, která nemá žádného potomka se nazývá koncový efektor
  • Mezi kostmi mohou být definovány další vazby, které snižují stupeň volnosti kostry.

Dopředná kinematika

  • Výsledná animace tvaru kostry je určena postupným natáčením jednotlivých kostí
  • Jak interpolovat rotaci kostí mezi klíčovými stavy? Robustní řešení poskytují kvaterniony.

Inverzní kinematika

  • Klíčuje se pozice koncového efektoru a natočení ostatních kostí vůči sobě se dopočítává.
  • Nejednoznačné: pro koncový stav efektoru existuje více řešení.
  • Jisté řešení poskytují vazby a omezení na rotaci kostí vůči sobě.

Dynamika postav

  • Především interaktivní aplikace
  • Nezáleží pouze na tvaru kostry, ale i na hmotnosti a působících silách.

Simulace chování svalů a měkkých tkání

Fyzikální simulace

Kolize objektů

Simulace pružných/měkkých objektů

Simulace látek

Částicové systémy

Simulace kapalin

Simulace ohně a kouře

Simulace davů

Děkuji za pozornost. Nějaké otázky?