KAPITOLA 12
Pokročilé techniky počítačové animace Souhrn Naprostá většina pokročilých technik animace, s nimiž se setkáte v této kapitole, je úplně jiná než techniky využívající tradiční přístup prostřednictvím klíčového snímku. Tyto techniky, jimiž se budeme zabývat, se používají pro simulaci složitých či realisticky vypadajících pohybů objektů a postav. Řada těchto technik ve skutečnosti začíná zachycením pohybu reálných herců a jejich pohyb se pak přenáší na animované postavy. Tato kapitola vám rovněž představí tzv. hybridní prostředí, v nichž se vždy používají některé pokročilé techniky animace společně s jinými. V této kapitole budeme dosti často zdůrazňovat koncepci práce ve vrstvách či kanálech. Zřejmě jedním z nejdůležitějších faktorů, proč používat hybridní techniky animace, je skutečnost, že přirozený pohyb je sám o sobě dost složitý na to, aby se dal postihnout jednou technikou animace. Například pohyb trojrozměrných modelů se dá do detailu zvládnout pouze tehdy, když programu pro inverzní kinematiku poskytneme umístění a úhly natočení – potíž je v tom, že jejich pohyby vůbec nebudou odpovídat fyzikálním zákonům. Stejně tak tomu bude i u pohybu modelů. Když budeme jejich dynamiku pohybu simulovat pomocí sil, které na ně působí, budou jejich pohyby vypadat realisticky, na druhou stranu ale bude obtížné u složitějších modelů získat některý konkrétní pohyb.
STRUČNÝ OBSAH Inverzní kinematika .........................375 Provedení animace a záznam pohybu.........................378 Simulace dynamiky .........................386 Procedurální animace ....................394 Animace obličeje ..............................402 Animace skupiny ..............................406 Interaktivní animace .......................409
Inverzní kinematika Pro animaci složitých modelů či pohyb rigů s velkým počtem kloubů se s výhodou používají techniky inverzní kinematiky (IK). Na rozdíl od kinematiky vpřed, která je jejím přesným protipólem, určují techniky inverzní kinematiky pohyb kostry postavy pomocí koncových úhlů některých z klíčových kloubů, jež definují pohyb. Inverzní kinematika potřebuje, aby byly trojrozměrné modely, které se mají animovat, postaveny jako hierarchické struktury. Techniky inverzní kinematiky se obvykle používají na pospojované postavy, které jsou definovány jako hierarchické kostry pevných částí spojených klouby, přičemž každý z nich má vlastní omezení pohybu. Hierarchické kostry se skládají z mnoha spojených řetězců seskupených do hierarchie.
KAPITOLA 12: POKROČILÉ TECHNIKY POČÍTAČOVÉ ANIMACE
K1746.indd 373
12.1 Předchozí stránka: Woody a Buzz Lightyearovi, nezapomenutelné postavičky z Toy Story (Příběh hraček), což byl první animovaný film vyrobený pouze s využitím technik trojrozměrné počítačové animace. (Obrázky jsou majetkem společnosti The Walt Disney Company. © Disney Enterprises, Inc. All rights reserved. Obrázek nahoře je ve vlastnictví Framestore/Monster.) 373
22.3.2011 12:43:32
Kostry se používají pro řízení deformací povrchů, které je pokrývají, a také pro pohyb dalších geometrických částí, jež se k nim dají připojit. Techniky inverzní kinematiky dokáží práci s animováním postav do značné míry zjednodušit, a to zejména tehdy, pokud se má jednat o složité pohyby nebo o pohyby, které mají vypadat realisticky. Pokud se například pokusíte animovat běžícího tygra pomocí kinematiky vpřed, pak zjistíte, že je to práce spočívající v neustálém zkoušením metodou pokus – omyl, což je práce časově velmi náročná. To platí především tehdy, pokud má tygr běžet po nerovném povrchu s překážkami. Stejná úloha se však dá zjednodušit, pokud použijete inverzní kinematiku, protože tato technika animace využije pro animaci celého zvířete do další pozice pouze poslední polohu kloubu tlapy tygra. Mezi součásti potřebné pro použití inverzní kinematiky patří hierarchický rig, klouby, definice omezení pohybu a efektory. Pospojované postavy s hierarchickými řetězci mohou současně pohybovat všemi jejich 10˚ částmi, ovšem vždy v souladu se zadanou hierarchií. Spojený hierarchický řetězec se skládá z kořene řetězce, určitého počtu 12.2 Koncovým efektorem spokloubů a efektoru. Kořenový řetězec je obvykle prvním kloubem v prvním jeného řetězce odpovídajícího segmentu jednoduchého spojeného řetězce. Kořen řetězce je obvykle předpaži je obvykle ruka nebo konekem všech segmentů a kloubů ve spojeném řetězci. Pod pojmem efektor, ček prstu nebo také koncový efektor, se v hierarchickém řetězci rozumí ten kloub, který se používá pro určení umístění pohybujícího se řetězce pomocí inverzní kinematiky. Když se efektor v řetězci posune, zavolá se inverzní kinematika a automaticky se spočítají otáčení kloubů. Například pro ruku, která KOŘENOVÝ má stisknout tlačítko, bude koncový efektor umístěn v ruce nebo v konečku ŘETĚZEC prstů (viz obrázek 12.2). Pro většinu pohybů rukou se koncový efektor ve skutečnosti umisťuje do ruky nebo do konečků prstů. Kloub se definuje pomocí kloubového spojení, což je místo, kde se potkávají dva segmenty spojeného řetězce. U většiny programů pracujících s inverzní kinematikou se dá klouby v řetězci otáčet v libovolném směru, samozřejmě do té doby, dokud pro kloub nenadefinujeme nějaká omezení pohybu. Pokud nejsou definována žádná omezení pohybu, může hierarchický řetězec sledovat pohyb koncového efektoru mnoha způsoby (viz obrázek 12.3). Použití inverzní kinematiky pro animaci složitých spojených postav je velmi vděčné, protože když má postava správně nastaveno omezení poNOVÁ POZICE hybu, stačí použít jednoduchý koncový efektor k tomu, aby se určilo, jak se musí pohybovat ostatní klouby postavy. Dá se říci, že pohyb celé postaKONCOVÝ EFEKTOR vy vychází z pohybu koncového efektoru. Pokud bylo omezení pohybu kloubu nastaveno logicky tak, aby vedlo k požadovaným pohybům postavy, 12.3 Sekvence inverzní kinemapak vám inverzní metody kinematiky v rámci animace ušetří spoustu času. tiky, která začíná (A) bez pohybu nebo s omezením pohybu, může Na druhou stranu někdy použití kinematiky vpřed přináší během procesu v situaci, kdy je koncový efektor animace daleko větší a takřka okamžitou kontrolu umístění kloubů (viz přemístěn, vyústit v nekonečný obrázek 12.5). Ale i přesto je v naprosté většině případů použití inverzní počet možností pohybu. (Část B kinematiky při animaci složité pospojované postavy daleko efektivnější než obrázku 12.6 na další straně.) použití kinematiky vpřed (viz obrázek 12.4).
374
K1746.indd 374
ČÁST IV: ANIMACE A EFEKTY
22.3.2011 12:43:39
12.4 Házení míče pomocí inverzní kinematiky. V tomto případě stačí zadat jen výchozí a konečnou polohu.
KONEC
ZAČÁTEK
A
B
90˚
12.5 Házení míče pomocí kinematiky vpřed. V tomto případě je nutno definovat všechny úhly kloubů.
UZAMKNUTÍ POLOHY
45˚ 45˚
Naprosto nezbytné je definování omezení pohybu pro každý kloub. Jde o to, omezit výsledky, pokud se koncový efektor řetězce ocitne v nové pozici (viz obrázek 12.6). Animace hierarchického řetězce se stejným koncovým efektorem a bez omezení pohybu může vést k rozličným výsledkům (viz obrázek 12.3). Omezení pohybu se často nastavuje prostřednictvím stupňů volnosti a úhlů otáčení. Hierarchie v kostře složité pospojované postavy jde přerušit za účelem zjednodušení animace části postavy nebo končetiny, která nemá následovat pohyb kořenového řetězce. To může nastat třeba tehdy, když se hýbe postava, jejíž nohy musí zůstat na zemi nebo jejíž ruce se musí stále držet nějakého objektu, právě když se hýbe kořenový řetězec, který je obvykle umístěn někde v boku nebo na trupu. Během přerušené hierarchie (broken hierarchy) jsou buď jen některé, nebo žádné končetiny ovládány KAPITOLA 12: POKROČILÉ TECHNIKY POČÍTAČOVÉ ANIMACE
K1746.indd 375
12.6 Tři sekvence inverzní kinematiky pro jednoduchý hierarchický řetězec. Ve všech případech je koncový efektor stejný, ale odlišnost spočívá v různém omezení pohybu včetně omezení vícenásobné rotace (A) a omezení na jednu polohu (B).
375
22.3.2011 12:43:40
kořenovým řetězcem, ale mají svůj vlastní kořen. V přerušené hierarchii pak například ruka není přímo ovládána trupem prostřednictvím ramene (viz obrázek 12.7). Inverzní kinematika představuje účinnou techniku pro rozvržení operací nastavením klíčových poloh u každého klíčového snímku, nejprve pohyby primární a poté sekundární. Když animujete hierarchický model těla podobného lidskému (viz obrázky 12.8 a 12.9), je nejlepší animovat v hierarchii směrem dolů – začnete zcela zřejmými pohyby a pokračujete druhými, přičemž animujete směrem zevnitř ven, nejprve trup a teprve pak hlavu či paže. Tento přístup pak lze doplnit technikami, jež představíme v následující části této kapitoly.
Provedení animace a záznam pohybu
12.7 Body otáčení v kostře, která řídí pohyb ruky, jsou zde zobrazeny jako diamanty (viz nahoře). Žluté diamanty a síťová struktura mezi palcem a ukazováčkem představují pružné spoje, které se chovají jako pružiny. Červená koule na dlani je bod otáčení, který připojuje hierarchický kořen kůže ke kostře. Vrásky na kloubech prstu jsou modelovány na síti (viz prostřední obrázek) a ID materiálu použitého na síť tvořící nehty je odlišné od materiálu použitého na kůži. (© 1999 Mondo Media, San Francisco, California)
376
K1746.indd 376
Záznam pohybu (angl. motion capture) v reálném čase představuje pokročilou techniku animace, jež umožňuje animátorům snímat živý pohyb pomocí přístroje a pak tento pohyb použít na postavy vytvořené pomocí počítačové animace. Záznam pohybu (používá se pro něj i zkratka mocap, která pochází z anglických slov stejného významu – motion capture) je něco úplně jiného než klasická animace pomocí klíčových snímků, protože zaznamenává všechny pohyby živých herců. Technika záznamu pohybu se dá rovněž použít i pro vytvoření základních stop pohybu. Ty se následně obohatí nasazením dalších technik animace. Ostatně na využití technik záznamu pohybu je v animacích založena celá řada sekundárních pohybů, jako je kupříkladu detailní animace rukou, prstů, výrazů tváře, jež jsou obvykle přidávány k základním stopám primárního pohybu (viz obrázek 12.13). Data popisující pohyb se snímají a ukládají jako polohy kloubu v souřadnicovém systému os XYZ, přičemž je možné je upravovat, popřípadě použít přímo například na kostru, a to přes inverzní kinematiku. Některé metody záznamu pohybu jsou vhodnější pro kontrolu animovaných postav v reálném čase, jiné jsou zase vhodnější pro situace, které vyžadují složité pohybové sekvence s více vrstvami pohybu. Pokud se v případě dat shromážděných pomocí nějakého systému pro záznam pohybu nejedná o data používaná pro řízení živého pohybu, podrobují se často v programu pro počítačovou animaci nejrůznějším úpravám a vylepšením různého rozsahu. Jde totiž o to, že hrubý pohyb, který se nasnímá, často obsahuje tolik šumu, že je třeba jej odstranit, anebo není dostatečně vhodný k tomu, aby na animované postavě vytvořil přesně námi požadovaný druh pohybu. Zřejmě největším lákadlem pro použití technik záznamu pohybu je vytvoření animace za velmi příznivou cenu, ale pouze tehdy, pokud se věnovala odpovídající pozornost počátečnímu nastavení. V závislosti na druhu projektu dokáží techniky pro záznam pohybu zautomatizovat poměrně velkou část pohybu postavy, a také tedy nahradit ruční práci využívající klíčové snímky. Techniky záznamu pohybu se začaly hojněji využívat v 80. letech 20. století, kdy se hodně experimentovalo s potenciometry připojenými na lidské tělo, kdy se měřily úhly kloubů. Pro měření úhlů kloubů se rovČÁST IV: ANIMACE A EFEKTY
22.3.2011 12:43:42
něž používaly světelné diody (LED) a mechanická zařízení. Většina raných aplikací pro ovládání pohybu byla omezena na animování jednoduchých postaviček z tvrdého papíru, popřípadě na animaci hlavy a obličeje, rozhodně se nejednalo o animaci celého těla. Tyto živé animace pak byly často kombinovány s živou akcí. V řadě případů se pro snímání výrazu tváře a pohybu těla herce používaly nerůznější helmy a další výstroj. Třebaže se dnes techniky animace využívající záznam pohybu stále ještě vyvíjí, je na záznamu pohybu založen stále větší počet animací postav. Takříkajíc skladem jsou k dispozici balíčky obsahující řadu nasnímaných pohybů, takže stačí tato data vzít a přenést je do systému pro animaci. Dokonce panuje předsudek, že ovládání pohybu touto technikou je vhodné pouze pro ty, kdo neumí vytvořit animaci „starým dobrým způsobem“, a to ručně. I tento předsudek přispívá k tomu, že se uvedený názor na tuto techniku bude v daném ohledu měnit jen velmi pomalu. Použití techniky záznamu pohybu vyžaduje jednoho nebo několik živých herců, kteří vytvoří pohyby pro jednu či více postav (viz obrázek 12.12). Příprava skutečných živých herců a animovaných postav – virtuálních herců – pro proces záznamu pohybu spočívá ve dvou svým způsobem na sobě nezávislých sériích kroků: jde o nastavení bodů, které se na hercově těle budou snímat, a nastavení hierarchických struktur, které ovládají herce virtuálního. Přesné umístění bodů snímání je závislé na typu požadovaného pohybu. Nicméně vždy je nutné vytvořit závislost mezi body snímání u skutečných herců a klouby u animovaných postav. Pokud tato závislost mezi body snímání a klouby u animovaných postav nebude logická (logicky správná), pak není divu, že výsledky, které získáte, budou svým způsobem nečekané a možná i zábavné. Představte si pohyb animované postavy, jejíž klouby krku budou animovány pomocí bodů snímání umístěných na ocase! KAPITOLA 12: POKROČILÉ TECHNIKY POČÍTAČOVÉ ANIMACE
K1746.indd 377
12.8 Držení těla a různé akce se nejlépe animují ve směru zevnitř ven, přičemž se začíná širokými pohyby ramen, trupu a boků, pokračuje se pohyby hlavy, paží a nohou a končí se výrazy tváře, rukama, chodidly, vlasy a ocasem. (Madagascar: Escape 2 Africa™ (Útěk do Afriky) a © 2008 DreamWorks Animation LLC, obrázek použit s příslušným svolením.)
377
22.3.2011 12:43:52
HORNÍ ČÁST HLAVY
KONEČEK PRSTU NA PRAVÉ RUCE
ZÁPĚSTÍ PRAVÉ RUKY
HORNÍ ČÁST KRKU
PRAVÉ RAMENO
KLÍČNÍ KOST LEVÉ RAMENO
STŘED HRUDNÍKU
LOKET PRAVÉ RUKY
LOKET LEVÉ RUKY
PAS
STŘED
ZÁPĚSTÍ LEVÉ RUKY
PRAVÝ KYČEL
KONEČEK PRSTU NA LEVÉ RUCE
LEVÝ KYČEL
KOLENO PRAVÉ NOHY KOLENO LEVÉ NOHY
KOTNÍK PRAVÉ NOHY
KOTNÍK LEVÉ NOHY
PALEC PRAVÉ NOHY PALEC LEVÉ NOHY
STŘED
PRAVÝ KYČEL
LEVÝ KYČEL
PAS
KOLENO PRAVÉ NOHY
KOLENO LEVÉ NOHY
STŘED HRUDNÍKU
KOTNÍK PRAVÉ NOHY
KOTNÍK PRAVÉ NOHY
KLÍČNÍ KOST
PALEC PRAVÉ NOHY
PALEC LEVÉ NOHY
HORNÍ ČÁST KRKU
PRAVÉ RAMENO
LEVÉ RAMENO
HORNÍ ČÁST HLAVY
LOKET PRAVÉ RUKY
LOKET LEVÉ RUKY
ZÁPĚSTÍ PRAVÉ RUKY
ZÁPĚSTÍ LEVÉ RUKY
KON. PRSTU NA PRAVÉ RUCE
KON. PRSTU NA LEVÉ RUCE
12.9 Jednoduchý spojený model a jemu odpovídající schéma
378
K1746.indd 378
Záznam pohybu se často používá pouze na zachycení primárního pohybu, a proto se body pro snímání umisťují na hlavu, trup a končetiny. Sekundární pohyby, kam patří třeba výrazy tváře či gesta rukou, se často přidávají k primárním pohybům pomocí jiných technik animace. Velmi důležité je zajistit, aby hierarchické struktury reálných i virtuálních herců byly strukturovány tak, aby zaznamenaný pohyb přinesl kýžený efekt. Projekty vytvářené pomocí počítačové animace mají celou řadu požadavků, jež se týkají minimálního počtu snímacích bodů a kloubů v postavě. Není absolutně nutné, aby byly hierarchické struktury zcela stejné, nicméně pokud jsou hierarchie skutečných a virtuálních herců strukturovány jinak, pak je zřejmé, že výsledný pohyb ani nemůže být přímým překladem zaznamenaného pohybu. Pak je nutno pohyb nějakým způsobem filtrovat a upravovat. (Zvláštním požadavkům na modelování počítačové animace založené na technikách záznamu pohybu včetně souvislých povrchů podobných kůži či oděvu se věnuje kapitola 5.) Některé systémy pro záznam pohybu na úrovni vyšší třídy se dají i koupit, a to včetně integrovaných, funkčních a k použití připravených součástí. Najdete v nich například pro počítač s dostatečným počtem vnějších portů pro příjem dat možnost získávat data z pohybových senzorů, a to při dostatečně vysokých vzorkovacích frekvencích. Pokud však budete sestavovat nějaké laciné systémy pro řízení pohybu z částí, které byly kupovány samostatně, pak pokud chcete mít funkční systém, je nutno mít na paměti několik faktů. Ty se týkají zejména umístění pohybových senzorů na hercích, zařízení použitého pro záznam pohybu a typu technologie pro záznam pohybu. Počet pohybových senzorů používaný pro záznam pohybu celého těla se pohybuje od 70 u systémů vyšší třídy až po 12 senzorů u jednotek nižších tříd. Přesná poloha senzorů je záležitostí, kterou ovlivňuje spousta faktorů – například počet dostupných senzorů, druh použité technologie záznamu pohybu, druh pohybu, který se bude zaznamenávat, typ dat (úhly otáčení nebo poloha v souřadnicovém systému os XYZ) odesílaných do programu pro počítačovou animaci a konečně i druh omezení pohybu používaný v programu pro počítačovou animaci. Senzory se nezávisle na jejich počtu připevňují na tělo herce přilnavými nebo elastickými materiály, popřípadě kombinací obojího. Záznamem pohybu pro animaci obličeje se budu zabývat v této kapitole později. Obrázek 12.11 znázorňuje minimální konfiguraci pro záznam pohybu pomocí dvaceti senzorů. Sedm senzorů se nachází v horní části těla – tři jsou umístěny na hlavě (čelo, brada a zadní část krku), po jednom senzoru je na každém rameni a na každé straně zad. Čtyři senzory se nacházejí na pažích – po jednom na předloktí blízko zápěstí každé ruky a po jednom na zadní části ruky. Uprostřed těla jsou tři senzory – po jednom na každém boku a jeden na bederní straně zad nebo na pánvi. Naposledy jmenovaný senzor se používá pro zjištění polohy a směru pohybu těla vzhledem k podlaze. Konečně šest senzorů je na nohou a chodidlech – po jednom senzoru je na každém koleni, holenní kosti a na horní části chodidel. Při tomto nastavení nejsou pokryty ještě některé další významné klouby, a pak se jejich pohyb odvozuje pomocí technik inverzní kinematiky. V tomto nastavení
ČÁST IV: ANIMACE A EFEKTY
22.3.2011 12:44:04
se rovněž ztrácí i jemnější pohyby trupu a krku, a to kvůli nedostatečnému počtu senzorů umístěných na těle herce. Na obrázku 12.14 je vidět použití systému pro záznam pohybu s dodatečnými senzory – jedná se o senzory podobné těm, které měla herečka Angelina Jolie v celovečerním filmu Beowulf (2007) animovaném mocapem. Ve srovnání s konfigurací na obrázku 12.11 je vidět, že systém s dodatečnými senzory dokáže snímat větší počet pohybů kloubu a také větší detaily týkající se pohybu trupu, hlavy a obličeje. Tato konfigurace pro záznam pohybu předpokládá dodání sekundárních pohybů přímo na tento počáteční záznam pohybu. Tato konfigurace pak obsahuje přibližně 120 senzorů místěných na obličeji, 12 senzorů na hlavě, 20 senzorů na obou pažích a ramenou, nejméně 12 senzorů na rudníku a na zádech, do 10 senzorů v pase, téměř 40 senzorů na zápěstích a na rukou a do dvaceti senzorů na nohou a chodidlech.
12.10 Davy Jones ve filmu Pirates of the Caribbean (Piráti z Karibiku) uvedl v život kombinaci techniky animace pomocí klíčového snímku se záznamem pohybu a dynamikou pohybu. (© Disney Enterprises, Inc., a Jerry Bruckheimer, Inc. All rights reserved. Počítačová animace vytvořena firmou Light & Magic.)
Technologie pro snímání pohybu v reálném čase Pro snímání pohybu v reálném čase se používá několik technologií. Každá z nich má své výhody a nevýhody, které je tím pádem předurčují pro specifické účely týkající se záznamu pohybu – například pro snímání pohybu pro sportovní hry (se spoustou akce) nebo pro dramatické celovečerní filmy (spousta detailních záběrů). Mezi faktory, jež jednu technologii odlišují od druhé, patří přesnost dat, vzorkovací frekvence, volnost pohybu, kterou poskytují hercům, počet snímacích bodů a počet herců, jejichž pohyb lze zaznamenávat najednou. Počet bodů pro snímání jsme řešili v předchozí podkapitole. Prakticky použitelné vzorkovací frekvence začínají někde na 30 vzorcích za sekundu a vyšších. Pro snímání jednoduchých pohybů vystačíme s malou oblastí snímání, pro snímání dvou a více herců, kteří spoKAPITOLA 12: POKROČILÉ TECHNIKY POČÍTAČOVÉ ANIMACE
K1746.indd 379
12.11 Systém pro snímání pohybu s dvaceti pohybovými senzory
379
22.3.2011 12:44:05
12.12 Postavy z filmu Duel animované pomocí snímání pohybu (nahoře). Dole je síť z polygonů ve hře Quarterback Club Team™ řízená daty ze snímání pohybu. (Majetek Acclaim Entertainment, Inc. All rights reserved.)
lu navzájem komunikují, je ale potřeba pro snímání daleko větší plocha. Pak není nutno pohyby přerušovat, a minimalizuje se tak i nutnost jejich dalších úprav. Mezi základní technologie pro snímání pohybu patří technologie protetická, zvuková, magnetická a optická. Technologie protetického snímání pohybu poskytují přesná data o úhlu otočení a využívají při tom potenciometrů, což jsou zařízení, jež dokáží měřit elektromotorickou sílu, která je založena na množství energie prošlé zařízením v důsledku otočení kloubu. Tato technologie má ovšem i své omezení, jehož příčinou je přílišná objemnost potenciometrů, a tedy i omezení typu pohybu, jejž může osoba, která je používá, vykonávat. Technologie protetického snímání pohybu již nějakou dobu existují a používají se třeba v lékařství, kdy se měří nebo simulují pohyby pacientů s omezením pohybu. Technologie akustického snímání pohybu využívají transpondéry, které určují polohu objektu v prostoru vysíláním rádiových signálů z každého snímacího bodu. Techniky magnetického snímání pohybu využívají přijímače, které dokáží zjistit přítomnost magnetických polí. Jak akustické, tak i magnetické technologie snímání pohybu potřebují stanice, které nevysílají žádné rušivé frekvenční vlnění nebo šum, jenž by mohl nějakým způsobem ovlivňovat nasnímaná data. Co se týče frekvenčního vlnění, typickým případem může být vysoce vyleštěný povrch okolo stanice, který může vytvářet nadměrnou ozvěnu. Co se týče šumu, pak pokud se v okolí stanice nachází kovové objekty, třeba i kovové sloupky ve zdech a stropech, hrozí tu nebezpečí vytváření nebo naopak stínění magnetických polí. Pokud tedy používáte technologii snímání pohybu využívající magnetické pole, je nutno nad stanicí vytvořit konstrukci, která ponese dráty spojující pohybové senzory s počítačem, a také je vést mimo prostor pohybu herců. Technologie optického snímání pohybu využívá pro určení polohy v trojrozměrném prostoru světla, kamery či odrazové body. Optické snímání pohybu je zcela běžné, protože herci mohou provádět prakticky libovolný pohyb, kterého jsou schopni. Optické technologie tak jsou naprosto bezkonkurenční, pokud se jedná o současné snímání pohybu více než jednoho herce. Na obrázku 12.15 vidíte vysoce výkonný optický systém používající 50–70 senzorů a několika kamer. Tento systém je schopen snímat pohyb dvou herců současně. Klasickým problémem při používání optických technologií pro snímání pohybu je skutečnost, že některé ze snímacích bodů mohou být nedopatřením zastíněny pohyby herců, což platí zejména při snímání pohybu dvou a více herců současně. Řešením je zvýšení počtu kamer používaných pro sledování snímacích bodů. Toto řešení je schopno zaznamenat pohyb velmi přesně, na druhou stranu samotný proces snímání pohybu je poměrně složitý.
Rotoskopie Tato metoda vznikla již na počátku 20. století, v období políčkové animace, a používala se jako narovnání ručně kreslených postaviček k sekvenci snímků podle nějaké živě provedené akce, takže pohyby postav na podtiskové desce vypadaly daleko realističtěji. Jedná se o jistou formu zpoždě380
K1746.indd 380
ČÁST IV: ANIMACE A EFEKTY
22.3.2011 12:44:12
ného snímání pohybu. Rotoskopie se v současnosti využívá při vytváření různých vizuálních efektů a animaci postav, kdy se mají zachytit jak hrubé, tak jemné akce. Rotoskopie má dvě varianty – dvojrozměrnou a trojrozměrnou. Dvojrozměrná rotoskopie, označovaná také jako 2D roto, používá statické snímky sekvence nějaké živé akce, kdy se přes ně ručně nebo automaticky nakreslí obrázek. Tyto kresby s jednotlivými fázemi pohybu se buď mohou srovnat a použít jako hotový výsledek, nebo jen jako prostředek pro zjednodušení například pro umístění dvojrozměrných ručně animovaných postav v trojrozměrných pozadích či souborech. Trojrozměrná rotoskopie používá statické snímky ze živé akce pro přibližné zarovnání kloubů trojrozměrné postavy přes klouby živého herce ze živé akce. Pokud se vše povede tak, jak má, jsou výsledky 3D roto skutečně velmi přesvědčivé (viz obrázek 13.9).
12.13 Kombinací výkonného záznamu pohybu a animace pomocí klíčového snímku se dá dosáhnout naprosto jedinečně stylizované animace. (Monster House /V tom domě straší/. © 2006 Columbia Pictures Industries, Inc., a GH One LLC. All Rights Reserved. Majetek Columbia Pictures.)
Ovládání pohybu živého herce Pohyb živých herců se může nasnímat a pak v reálném čase použít na animované postavy – to tehdy, pokud je cílem zábava v přímém přenosu, když třeba má v televizi v reálném čase komunikovat počítačem vytvořený host s živým hercem. V tomto případě se data mocap používají pro animaci postav, které se okamžitě matují do vlákna živého videa. V řadě případů se jedná o animované postavy v podobě kresby s jednoduššími obrysy, než jaké se používají pro filmovou produkci (viz obrázek 1.30). Zde je cílem procesu záznamu pohybu zachycení divadelního pohybu s rozvláčnými gesty, která nakreslenou postavu oživí – nějaké detaily týkající se pohybu v tomto případě nejsou až tak významné (viz obrázky 12.16 a 12.18). Obecně vzato živé kreslené postavy vypadají nejlépe, pokud se animují se záznamem pohybu, který je poněkud přehnaný a rázný, což je způsob, kterého je možné dosáhnout zručnými loutkáři a herci. Tito profesionální umělci dokáží přenášet emoce a výraz prostřednictvím pohybů nasnímaných citově chladným vstupním zařízením. Jsou situace, které si žádají více než nějakou manipulaci se vstupními zařízeními, jež mají řídit pohyb postavy. Tato periferní zařízení kupříkladu mohou obsahovat jednu část pro ovláKAPITOLA 12: POKROČILÉ TECHNIKY POČÍTAČOVÉ ANIMACE
K1746.indd 381
12.14 Přibližné umístění pohybových senzorů používaných pro záznam provedení Grendelovy matky v celovečerním filmu Beowulf.
381
22.3.2011 12:44:15
dání rtů, jednu část pro nastavení dráhy pohybu, která řídí chození, a jednu část pro otáčení kloubů končetin.
Úprava zaznamenaného pohybu
12.15 Dva herci kteří mají na těle optické senzory pro záznam pohybu, v průběhu současného snímání pohybu dvou osob. (Majetek Acclaim Entertainment, Inc. Advanced Technologies Group.)
12.16 Dva herci provádí živou animaci postavy Moxy zobrazenou na obrázku 1.30. Jeden herec má na starost vytvoření hlasu postavy, druhý pracuje na pohybu hlavy a rukou, přičemž používá jednoduchý systém pro záznam pohybu. (Vytvořeno formou Colossal Pictures ve spolupráci s Cartoon Network. 1993 Cartoon Network, Inc. All rights reserved. Majetek firmy Colossal Pictures.)
Výsledkem jedné relace je několik sérií (stop) pohybů, které odpovídají různým částem těla animované postavy. Každá taková série (stopa) je přiřazena jednomu kanálu, který má obvykle na starosti jeden určitý kloub nebo několik vertexů. Data odpovídající pohybu v kanálech se obvykle zobrazují v programu pro počítačovou animaci jako křivky funkcí (viz obrázek 12.19). Po příslušných úpravách dat pohybu a přenosu do příslušných kanálů je možné je přiřadit v kostře postavy získané inverzní kinematikou různým kloubům, což je operace, kterou dnes většina mocapů zvládá bez problémů. Pro zobrazení náhledu dat mocap v sadě existuje několik možností. U většiny systémů se v současnosti poskytuje jen omezený náhled toho, jak byla data mocap navzorkována a namapována k různým kanálům animované postavy. Výsledkem je dobře fungující proces přípravy dat, který se následně velmi dobře zpracovává; jedná se o jednu z částí při používání počítačové animace. Většina funkcí na vyšší úrovni, která je založena na mocapu, byla dosud vytvořena buď s omezeným, nebo minimálním náhledem. Existují vývojáři softwaru, kteří se pokouší uspokojit touhu tvůrců po okamžitém a úplném náhledu relace mocap, a to v naprosto ideálním provedení pozorovatele, který vidí virtuální herce v reálném čase, jako by se díval hledáčkem ruční kamery. Tohoto stavu se zatím sice dosáhnout nepodařilo, ale vzhledem k rychlému vývoji technologií se nedá vyloučit, že v nedaleké budoucnosti budou k dispozici systémy mocap, které budou zvládat plnohodnotné zobrazení náhledu v reálném čase. Pokud si chcete být skutečně jisti, že data získaná snímáním pohybu se budou moci na kostrách IK použít, budete muset před vlastní tvorbou animace dobře plánovat a provést několik dalších kroků. Jde o to, že kostry IK musí mít takovou stavbu, aby bylo možné provádět i jemné pohyby zaznamenané v podobě vícenásobných otáčení v souřadnicovém systému XYZ a aby se prováděly na tom správném kloubu. Pokud navíc má pohyb vypadat přirozeně a co možná nejdokonaleji, určitě bude nutná určitá forma sloučení pohybu mezi kanály. Slučování pohybu mezi kanály zachová odpovídající informace mocap a zjednoduší vrstvení další animace, například synchronizaci pohybu rtů, pohyby rukou a výrazy obličeje definované pravidly.
Animace s využitím kanálů Animace s využitím kanálů umožňuje snímat všechny typy informací v reálném čase, a to díky velkému počtu periferních zařízení připojených k počítači. Data záznamu pohybu, ale i jiná, se nachází v kanálech, jež se dají použít pro řízení různých parametrů animace, jako je třeba intenzita osvětlení, hustota vzorku, velikost gravitační síly či rychlost objektu. Soubory dat přinesené do systému se pak přiřazují jednomu nebo několika 382
K1746.indd 382
ČÁST IV: ANIMACE A EFEKTY
22.3.2011 12:44:21
kanálům v záznamu pro tvorbu animace a používají pro ovládání parametrů animace řízených těmito kanály. Kvůli usnadnění práce se pak zaznamenaná data zobrazují jako parametrické křivky neboli křivky funkce (viz obrázek 12.19). Pro vložení vstupních dat závislých na čase se mohou použít všechny druhy vstupních zařízení. Patří sem vstupní periferní zařízení, jako je joystick, mikrofon, keyboard, trackball, nejrůznější přístroje pro záznam pohybu, ale třeba i systém pojízdného kola pro ovládání virtuální kamery (viz obrázek 12.13). V každém případě je ale nutno pro program počítačové animace instalovat příslušný ovladač zařízení, aby mohl program pro počítačovou animaci se zařízením vůbec komunikovat. První a základní operací při animaci s využitím kanálů je identifikace zapojených vstupních zařízení a následné přiřazení jednoho nebo několika kanálů, a to podle počtu stupňů volnosti, otáčení a posunů, jichž je zařízení schopno. Tak například joystick s jedním tlačítkem má tři stupně volnosti, protože se jím může pohybovat podél dvou os a tlačítkem se může klepat. Zařízení pro záznam pohybu může vytvořit spoustu stupňů volnosti – závisí to jen na počtu bodů pro určení polohy, které má zařízení k dispozici (mohou jich být desítky, ale i stovky). Každý takový bod má XYZ stupňů volnosti. Jakmile je každému stupni volnosti v zařízení přiřazen nějaký kanál, pak je možné pokračovat další etapou animace s využitím kanálů, kterou je přiřazení každého kanálu pohybu objektu. Na obrázku 12.21 vidíte dialogová okna pro řízení procesu slučování kanálů a pro přenos pohybu mezi postavami. KAPITOLA 12: POKROČILÉ TECHNIKY POČÍTAČOVÉ ANIMACE
K1746.indd 383
12.17 Postava Gluma byla animována firmou WETA Digital, a to kombinací animace pomocí klíčového snímku a technik pro záznam pohybu, přičemž se vycházelo z pohybů herce Andyho Serkyse. Vyjadřování emocí postavy a výrazů obličeje se animovaly pomocí Facial Action Coding System (viz obrázek 10.31). (The Lord of Rings: The Two Towers Pán prstenů: Dvě věže © MMI, New Line Productions, Inc.™ The Saul Zaentz Company d/b/a Tolkien Enterprises pod licencí New Line Productions, Inc. All rights reserved. Fotografie je majetkem firmy New Line Productions, Inc.)
383
22.3.2011 12:44:30
Výstup MIDI
12.18 Data získaná snímáním pohybu tanečníků American Ballet Theatre byla použita pro animaci některých postav v Barbie and the Nutcracker (Barbie v Louskáčku). (BARBIE a s ním spojené obchodní značky a vzhled jsou majetkem a byly použity se svolením firmy Mattel, Inc. © 2003 Mattel, Inc. All rights reserved.)
Další účinnou metodou pro vytvoření animace využívající kanály a řízenou procedurálně je používání hudby jako zdroje pohybu. Na rozdíl od digitálního nahrávání určitého zvuku nebo hudby obsahuje protokol Musical Instrument Digital Interface označovaný zkratkou MIDI řadu kanálů s informacemi o tom, jak hrát či interpretovat dané noty. MIDI obsahuje informace o právě hraných notách a klíčích, jejich délce, síle, nástroji a ještě další parametry týkající se interpretace hudby. MIDI se obvykle používá v syntezátorech, jež dokáží interpretovat instrukce ve formátu MIDI v reálném čase, a výsledkem je tedy přehrávání skladby. Na obrázku 12.38 je k dispozici ukázka dat MIDI použitých pro řízení animace. V tomto případě se data MIDI zpracovávají pomocí patentovaného softwaru pro vytváření pohybových sekvencí pro danou hudbu. Tento software používá standardní parametry MIDI, jako jsou noty, hlasitost, pitch-bend (ohnutí tónu), modulace či pedál pro dozvuk. Všechny tyto parametry se následně používají pro nastavení polohy, otáčení, změny velikosti či intenzity osvětlení. Nejzajímavějších pohybů se dá dosáhnout nasazením míchání různých algoritmů pro mapování dat MIDI do dat pro trojrozměrné souřadnice. Pro software vytvářející animace z MIDI je například celý proces animace zcela jasný. Hluboké noty se mapují na velké a pomalu se pohybující objekty, vyšší noty se zase mapují na menší a rychle se pohybující objekty. Pohyb paličky na buben se dá odvodit pomocí techniky připomínající plánování pohybu robota. Další pohyby, jako je třeba trajektorie pohybu míčku a pád objektu, se dají spočítat pomocí klasické fyziky. Jakmile se hudba změní, automaticky se změní i pohyb. Ostatně kanály s generovanými parametry využívají i komerční programy pro animaci, a to prostřednictvím technologie zásuvných modulů (plug-inů).
Simulace dynamiky
Obrázek 12.19 Detailní snímek okna programu pro editaci, kde jsou vidět kanály s daty pro otáčení a posun jedné kosti ve spojované kostře. (Majetek Acclaim Entertainment, Inc. Advanced Tehcologies Group).
384
K1746.indd 384
Techniky simulace dynamiky, pro něž se často používá i označení dynamika pohybu, vytváří realistický pohyb pevných těles či kapalin simulací jejich fyzikálních vlastností a přírodních zákonů pro fyzikální pohyb. Techniky dynamiky zohledňují vlastnosti pevných látek (například jejich hmotnost, složení, ohebnost či setrvačnost), kapalin i plynů (například jejich hustotu, viskozitu, přilnavost nebo i soudržnost), ale navíc i vnější vlivy, jako je teplota, rychlost pohybu, tlak, tření či gravitace, a dokonce i kolize s jinými objekty. Simulace dynamiky se dají kombinovat i s jinými technikami animace, jako je kupříkladu inverzní kinematika či jednoduchá animace pomocí klíčových snímků. Simulace dynamiky pevného tělesa počítá pohyb objektů v závislosti na čase tak, že příslušnému softwaru poskytuje informace o jeho fyzikálních vlastnostech, zejména složení, popřípadě údaje o silách, které na těleso působí (viz obrázek 12.23). Hmotnost objektu se vypočítá jako součin objemu objektu a jeho hustoty (hmotnost = hustota × objem). Síly zase mají určitou velikost či intenzitu a směr. Zjednodušeně řečeno simulace dynamiky počítá zrychlení objektu s určitou hmotností, když na něj působí síla (síla = hmotnost × zrychlení). Pohyb objektů se počítá přes ČÁST IV: ANIMACE A EFEKTY
22.3.2011 12:44:39
12.20 Statický snímek z instalace multimediálního umění, v němž jsou lidé–tanečníci vyobrazeni jako ručně nakreslené postavičky pohybující se v trojrozměrném prostoru. Celé to vzniklo předvedením krátkých pohybů, jejich nasnímáním a následným zvýrazněním a umístěním za virtuální choreografie jako celku. Polohy světlocitlivých senzorů připojených ke klíčovým bodům na těle tanečníka se načítají optickými kamerami, přičemž se tyto body nahrávají jako souřadnice v trojrozměrné sadě dat. Data ze snímání pohybu byla upravena firmou Charakter Studio, a to za použití patentovaného postupu využívajícího krokem řízený klíčový snímek. (Ghostcatching © 1999 Bill T. Jones, Pul Kaise a Shelley Eshkar.)
účinky zrychlení na objekt pomocí rychlosti a času, čímž se definuje rychlost a poloha objektu v závislosti na čase. Simulace dynamiky tekutin dokáže simulovat pohyb látek, které nejsou pevné, například pohyb kapalin či plynů v závislosti na čase a poloze. Přitom se používají různé hodnoty tlaku a teploty, jež mají znázornit změny hustoty, hmotnosti a viskozity. Mezi některé zvláštní stavy a efekty proudění řešené pomocí simulací dynamiky tekutin patří turbulence se svými průvodními znaky – víry, perturbace, recirkulace, komprese, expanze a difuze. Simulace dynamiky tekutin se obvykle počítají na proudnicích nebo na povrchu kapek. Poslední oblasti technického vývoje v oblasti simulace dynamiky tekutin zahrnují nenewtonovské tekutiny, jako jsou třeba emulze nebo lepkavé tekutiny, a také efekt tekutin na površích, které tekutiny absorbují – například houby. Dynamické simulace se počítají na základě časového intervalu určité velikosti a pak se vzorkují na určitou rychlost v počtu snímků za sekundu. V ideálním případě by se měly dynamické simulace vzorkovat minimálně na 24–30 snímků za sekundu, což je rychlost natáčení filmu a videa a zároveň rychlost, s níž se hrají hry. Simulace dynamiky se standardně spouští na všech prvcích, které se v trojrozměrném prostředí vyskytují. Kamery a světla se v simulaci musí vypnout, aby neovlivnily její průběh. V opačném případě se kamerami dá hýbat pomocí simulovaných sil, přičemž pohybující se světla určitě svým způsobem konečnou simulaci ovlivní.
KAPITOLA 12: POKROČILÉ TECHNIKY POČÍTAČOVÉ ANIMACE
K1746.indd 385
(Postavičky Shakes a Speedy z filmu Speedy. © Tim Mistery, 2008.)
385
22.3.2011 12:44:42
Fyzikální vlastnosti objektů
12.21 Program pro úpravu pohybu lze použít pro vytvoření katalogu pozic postavy, a to kopírováním a vkládání vhodných pozic z libovolné stopy v řídicím rigu. Pozice jsou na postavě nezávisle a lze je tedy nasadit na libovolnou postavu (viz horní část obrázku). Některé prvky inverzní kinematiky umožňují převzít pohyb z libovolného zdroje a použít jej na libovolnou postavu. Pomocí řídicích rigů se dá animovat přes zdroj pohybu beze změny původní animace. Tato skutečnost dává animátorům do rukou výkonný prostředek pro ovládání animace s nutností provádění minimálních úprav (viz střední část obrázku). Dvě překrývající se omezení, jež se týkají stejné postavy, se mohou například zkombinovat do nového pohybu (viz spodní část obrázku). (Dialogové okno programu Motion Builder. Jedná se o majetek firmy Kaydar Inc.). 386
K1746.indd 386
Hmotnost jako fyzikální veličina popisující objekt ovlivňuje simulaci dynamiky nejvíce. Jak jsem se již zmínil dříve, lze hmotnost objektu snadno zjistit pomocí objemu a hustoty. Objem trojrozměrných objektů dokáže většina programů pro počítačovou animaci spočítat automaticky, a proto je často hustota objektu tou jedinou hodnotou, kterou musí animátoři zadat, aby program vypočítal hmotnost objektu. Aby byla animace objektu co možná nejrealističtější, je vhodné zadat i další charakteristiky. Například pružnost a pevnost se dá použít pro definování pevnosti či ohebnosti objektu zejména při kolizích (viz obrázek 12.25). Pevná tělesa se po kolizi neodrazí a jejich povrchy se nijak moc nepohnou, pokud vůbec. Pevná ocelová koule je příkladem pevného tělesa, který je skutečně velmi tvrdý a při dopadu na většinu povrchů se nijak nedeformuje. Nicméně po dopadu na povrch přesto mírně odskočí, protože je minimálně, ale přece jen trochu elastická. Pružné objekty se naopak při kolizi s jiným objektem odrazí poměrně daleko. Výsledkem kolize je i značná deformace takových objektů a objekt se často ještě nějakou chvíli i pohybuje. Například objekty z tvrzeného kaučuku či želatiny velmi dobře ilustrují obrovský rozdíl ve vlastnostech pevných látek – od pružných až po velmi tvrdé. Kupříkladu pevná koule vyrobená z tvrzeného kaučuku je poddajný objekt, který je elastický. Po dopadu na zem se odrazí, ale protože je velmi pevná, takřka se nedeformuje. Na druhou stranu koule vyrobená ze želatiny není pružná ani trochu. Po dopadu na zem se odrazí jen minimálně, pokud vůbec, a zcela zřetelně se zdeformuje, protože není vůbec pevná. Schopnost pružných objektů absorbovat energii kolize deformací tvaru se v dynamických simulacích obvykle řídí aplikací sil do pružné mřížky, která ovládá vertexy v objektu. Při použití této techniky se ohyb a deformace povrchu objektu filtruje v závislosti na tom, jak body mřížky řídí vertexy objektu. Některé systémy pro počítačovou animaci řeší tvrdost pomocí funkcí, které simulují stav, jako by mezi vertexy na povrchu objektu byly pružiny. Pružiny mají svoji klidovou polohu, do které se vrací pokaždé, když je stisknete. Navíc stisknutá pružina neustále kmitá mezi polohou stlačenou a polohou volnou, a to tak dlouho, dokud se opět nedostane do polohy rovnovážné. Někdy je pevnost pevného tělesa a síla kolize taková, že reálný objekt tuto kolizi nevydrží a rozpadne se nebo se rozbije. Dynamická simulace rozbíjejícího se objektu je daleko složitější než simulace objektů, které se nerozbijí, protože zjednodušeně řečeno je nutno výsledky kolize vedoucí k rozbití tělesa promítnout do tisíce střípků, a nikoliv do jednoho objektu (viz obrázek 12.30).
ČÁST IV: ANIMACE A EFEKTY
22.3.2011 12:44:47