Novinky ve světě Blenderu a v animačním systému verze 2.5 - 3D grafika - 3Dscena.cz: 3D grafika jako na dlani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



3D grafika

Novinky ve světě Blenderu a v animačním systému verze 2.5

8. listopadu 2010, 00.00 | Po delší odmlce vás, vážení čtenáři, vítám u dalšího článku o nové verzi Blenderu. Pokud se k vám ještě nedostaly žádné zprávy o Sintelu – posledním OpenMovie projektu Blender Foundation, vězte, že je již hotový. Kromě letmého seznámení s tímto projektem se tak dnes zaměříme na relevantní téma – prakticky kompletně přepracovaný animační systém "dvapětky". Spíše než praxi se tak budeme věnovat především teorii.

Pár novinek na úvod

Dříve, než se podíváme na samotný animační systém, bych chtěl upozornit ty z vás, kteří o tom ještě nevědí, že vyšla další betaverze, a sice 2.55. Stahovat můžete z http://www.blender.org/download/get-255-beta/ nebo kliknutím na obrázek:

Co se týče Sintelu, jedná se o krátký (ehm) patnáctiminutový animovaný film, který byl kompletně vytvořen ve verzi 2.5 a demonstruje schopnosti nové verze Blenderu napříč několika oblastmi - vlasy, kouř, simulace kapalin nebo simulace látky. Vývojáři díky tomuto projektu posunuli Blender ještě o několik úrovní výš, než byl doposud, a nelze se tak divit, že tvorba Sintelu zabrala týmu kreativců celý poslední rok. Oficiální stránky projektu jsou zde:

http://www.sintel.org/

Sintel

Sintel si pak můžete stáhnout ve vysokém rozlišení zde nebo se můžete podívat na youtube, kde má Sintel po čtyřiadvaceti dnech od uveřejnění již přes jeden a třičtvrtě milionu shlédnutí.

Další novinkou ze světa Blenderu je ukončení Blender World Cupu - soutěže, která probíhá od roku 2007 jednou ročně a první tři vítězové získávají hodnotné ceny. Tématem pro letošek bylo "Larger than life (Stop Motion)" - jedním ze sponzorů byl Indigo renderer, a proto téma pokrývá určitou část reálného světa. Na zaslané příspěvky se můžete podívat na http://bwc.blenderartists.org/2010/entries.php.

Animujme s chutí

No a teď už konečně k samotnému animačnímu systému. Jedním z hlavních cílů vývojářů bylo "udělat vše animovatelné". V rámci možností odvedli skvělou práci (na tomto místě bude víc než vhodné uvést, že člověkem zodpovědným za drtivou většinu nového kódu je Joshua Leung), protože vskutku dosáhli svého cíle. Jako náročný uživatel bych si sice dokázal představit ještě o trochu více (např. možnost přepínat v průběhu animace různé rodičovské objekty), ale některé záležitosti pravděpodobně představují překážku z programátorského (potažmo logického) hlediska. Nebo možná jen bude stačit počkat si na oficiální 2.6 :).

Dřívější způsob vkládání klíčových snímků (klávesa I->výběr animovaného atributu) sice zůstal, podléhá však trochu odlišným zákonitostem. Mnohem pohodlnější způsob pak představuje najetí myši na atribut, který chceme animovat, a stisknutí stejné klávesy - tedy I. Když takto zaklíčujeme atribut, šedé políčko zežloutne, protože se nacházíme na snímku, kde je keyframe. Pokud se posuneme na jiný snímek, políčko atributu bude zelené (jen pro orientaci, abychom věděli, které atributy animujeme a které nikoli).

Žlutá - klíčový snímek, zelená - snímek animovaného atributu

Tímto způsobem lze pohodlně animovat téměř vše - od klasických transformací přes materiály a shape keys až po hodnoty v Node Editoru.

Action Editor je mrtev, ať žije DopeSheet

Action Editor není v pravém slova smyslu mrtev, jen se stal součástí většího DopeSheetu - editoru, který umožňuje odděleně editaci akcí, scény a hodnot Shape Keys.

DopeSheet

Na headeru DopeSheetu pak nalezneme roletkové menu pro přepínání mezi jednotlivými podeditory.

Podeditory DopeSheetu

K jednotlivým podeditorům netřeba nic moc dodávat - Action Editor funguje stále stejně, Shape Key Editor pracuje stejně jako Action Editor, ale s tím rozdílem, že zpracovává pouze Shape Keys, a DopeSheet shrnuje veškerá animační data ve scéně:

Suma sumárum

Co nás bude zajímat podrobněji, je header DopeSheetu - máme zde některá nová nastavení:

Header DopeSheet Editoru

  • Summary - nad všechny keyframy přihodí nový řádek, v němž jsou přehledně zobrazeny veškeré pozice klíčových snímků
  • Ikonka kurzoru - zobrazí se pouze keyframy vybraných objektů
  • Ikonka ducha - zobrazí keyframy skrytých objektů, popř. objektů v nezobrazených vrstvách
  • Ostatní ikonky - určují, jaké atributy se budou zobrazovat (ikonky samy o sobě jsou dost výmluvné, a kdyby ne, najetí kurzoru na ně prozradí víc)

Pravá část headeru DopeSheetu pak nabízí ještě několik dalších možností:

Header DopeSheet Editoru

  • Ikonka s objekty - aktivuje možnost zobrazení pouze keyframů z určité skupiny; po aktivaci tohoto tlačítka se zobrazí kolonka pro vepsání názvu této skupiny
  • Roletkové menu - určuje, kam se budou přitahovat jednotlivé keyframy při jejich transformacích jako posun nebo scaleování (na nejbližší značku, nejbližší snímek, na celé snímky nebo na nic)
  • Poslední dvě ikonky - kopírování a vkládání keyframů, lze použít i notoricky známé CTRL+C a CTRL+V

Jako malou zajímavost na okraj bych uvedl, že když vkládáme první keyframe nějakého atributu a neučiníme tak přes I->výběr atributu, ale najedeme na atribut (pozice, rotace, ...) a stiskneme I, v Action Editoru se nám tyto hodnoty uloží do separátních řádků, místo aby se skryly pod jeden řádek s názvem objektu (kosti), který animujeme. Na obrázku se v řádku kosti ik skrývá změna její pozice a rotace, kdežto u kosti s1.l byl první keyframe vložen tak, jak je popsáno výš:

Různě interpretované akce

Tahle záležitost možná nebude úplně každému sedět, protože při opomenutí tohoto faktu lehce znepřehledňuje práci - výsledné atributy se nedají spakovat do jediného řádku. Co se týče číselných hodnot vpravo od názvu atributu, jde také o novinku, tyto Slidery se dají vypnout přes View->Show Sliders.

Sbohem, IPO

Nové filozofie se dočkaly i animační křivky - v prvé řadě se již nejmenují IPO (InterPOlační), ale F-Curves, v druhé řadě se nenacházejí v IPO Editoru, ale v Graph editoru, a v třetí řadě se s nimi dají dělat četné psí kusy.

Graph Editor

Novinkou je, že všechny křivky se nacházejí na jednom místě a lze je deformovat podle nového 2D kurzoru (zelený kříž), který lze vypínat/zapínat přes View->Show Cursor. Při stisknutí klávesy N (nebo kliknutí na ikonku + vpravo nahoře v Graph Editoru) se dostaneme na další množství nastavení:

Graph Editor properties

View Properties:

  • Show Cursor - shodné jako Show Cursor ve View menu
  • Cursor from Selection - zarovná kurzor k výběru
  • Cursor X, Y - pozice 2D kurzoru
  • To Keys - přesune vybrané body křivek na kurzor na jeho X nebo Y souřadnici

Active F-Curve:

  • eval_time - název vlastnosti, kterou F-Curve ovlivňuje, v tomto případě rychlost pohybu po křivce ve 3D okně
  • RNA Array Index - identifikátor křivky (využíváno např. pro skriptování)
  • Display Color - umožňuje měnit barvu křivky, pokud je v roletkovém menu nastaveno User defined; Auto XYZ to RGB vždy nastaví buď červenou, modrou nebo zelenou (v závislosti na atributu)

Active Keyframe:

  • Interpolation - typ interpolace vybraného klíčového snímku: beziérova, lineární nebo konstantní
  • Key - souřadnice vybraného keyframu
  • Handle 1, 2 - souřadnice obou táhel bodu

Modifiers jsou zcela novou volbou, obdobně jako meshům můžeme nyní i křivkám přidávat různé modifikátory (a v případě potřeby je kdykoli později smazat); tímto lze jednoduše nasimulovat např. harmonické kmitání nebo třes kamery. Mezi nejzajímavější patří např. šum (noise) nebo sinusoida, k nalezení jsou zde ale i další trigonometrické funkce, a v případě znalosti Pythonu si jiné můžeme doprogramovat:

Modifikátory F-Curves

Řiď jako řiď

Nového umístění se dočkaly i Drivery neboli atributy řídící jiné atributy. Pro zopakování uvedu jednoduchý příklad: pokud chceme animovat např. mimiku obličeje, je celkem nepohodlné vkládat různé hodnoty pro každý Shape Key zvlášť (samozřejmě za předpokladu, že animujeme přes Shape Keys:)). Namísto toho si zvolíme jiný ovládací prvek -například posun pomocné kosti - který bude změnu Shape Key řídit.

A proč došlo k takovému přesunu? Inu, odpověď je nasnadě - nezřídka se stávalo, že když byly křivky driverů na stejném místě jako křivky ovládající animaci, animátor je v horlivém zápalu tak říkajíc úplně zeslonil a pak bylo potřeba opět volat příslušného riggera pro nápravu. Obdobně jako DopeSheet obsahuje tři podeditory, ani Graph Editoru nezůstal pozadu, a tak roletkové menu na headeru přepíná mezi editorem F-Curves a Driverů:

Podeditory Graph Editoru

Drivery se nyní přidávají podobně jako klíčové snímky, pouze s tím rozdílem, že po najetí na atribut je třeba zmáčknout klávesu D. Přidejme si v nové scéně např. Driver pro rotaci kamery a přepněme se do příslušného podokna Graph Editoru. Pokud vybereme jednu z křivek (kupříkladu rotaci podél osy Z) a stiskneme N, na pravé straně editoru se nám objeví stejná nastavení jako u F-Curves, ale s další tabulkou Drivers:

Drivers
  • Update Dependencies - pokud Drivery nefungují tak, jak mají po změně jejich vlastností, toto tlačítko by mělo pomoci
  • Remove Driver - odstraní Driver (pro vybranou křivku)
  • Type - typ Driveru, čili jakým způsobem se získá výsledná hodnota řízeného atributu z proměnných
  • Expr - je použitelná pouze při použití typu Scripted Expression, viz dále
  • Show Debug Info - ukazuje hodnoty atributů na cílovém driveru pro konkrétní vlastnost (např. X souřadnice); díky tomuto lze ladit chyby
  • Add Variable - přidá driveru proměnnou hodnotu (bez ní by byly drivery nepoužitelné)

Co se týče jednotlivých typů driverů, rozlišujeme jich celkem pět:

  • Maximum/Minimum Value - vybere vždy největší nebo nejmenší hodnotu ze všech proměnných
  • Sum Value - sečte všechny proměnné
  • Average Value - vytvoří aritmetický průměr všech proměnných
  • Scripted Expression - díky tomuto lze do políčka Expr zapsat jakýkoli příkaz Pythonu obsahující správnou syntaxi (max. 255 znaků)

Přidejme si nějaký další objekt (kupříkladu opičku Suzanne), jehož pohyb po ose X bude řídit rotaci kamery. Nyní přidáme proměnnou (Add Variable), v roletkovém menu vybereme Transform Channel, jako cílový objekt vybereme Monkey a nastavíme X Location:

Proměnná driveru

Voilà, pohyb opičky po ose X ovlivňuje rotaci kamery po ose Z. Důležité je vědět, že údaje o rotaci se udávají v radiánech. Co se týče jednotlivých typů proměnných, k dispozici máme celkem čtyři:

Typy proměnných
  • Transform Channel - umožňuje vybrat jeden z transformačních kanálů cílového objektu (přesun, rotace, změna velikosti, vše pro X Y a Z, tedy celkem devět možností)
  • Single Property - do nového políčka Path vepíšeme název vlastnosti, která bude řídit atribut (location.x, rotation_euler.y a spousta dalších - příslušné názvy lze zjistit najetím myši na atribut)
  • Rotational Difference - rozdíl mezi rotacemi dvou kostí, ideální např. v kombinaci se Shape Keys při ohýbání kloubů
  • Distance - vzdálenost mezi dvěma objekty

Poslední, co nás u Driverů bude zajímat, je předem přidaný modifikátor Generator, který není ničím jiným, než lineární funkcí zapsanou ve tvaru y = a + bx. Přes tuto funkci určujeme strmost (b) a vertikální posun (a) přímky. Narozdíl od minulých verzí Blenderu zde totiž nefunguje CTRL+LMB pro vytváření křivek.

Generátor přímky

Lineární funkce není jedinou, kterou můžeme vytvořit. Přidáváním polynomů (Poly Order) můžeme vytvářet i kvadratické nebo další mocninné funkce:

Mocninná funkce třetího řádu

No a pomalu se již blížíme ke konci dnešního dílu. NLA Editor byl též vizuálně upraven, ale co je hlavní – vše, co je nyní animovatelné, lze dále zpracovávat v NLA Editoru (opakování akcí, jejich překrývání, ...)

Poslední, co si dnes zmíníme, jsou Keying sets neboli sady keyframů. Princip je jednoduchý - do sady keyframů přidáme několik atributů (pravý klik na atribut->Add to keying set) a pokaždé, když vložíme keyframe, automaticky zaklíčujeme všechny atributy v sadě. Bohužel se ale zdá, že tahle možnost ještě není příliš funkční, a tak nezbývá, než čekat na 2.6. Každopádně z vlastní zkušenosti mohu najisto říct, že s novým animačním systémem se pracuje mnohem jednodušeji a rychleji, za což patří vývojářům velký dík. Těším se u příštího dílu nashledanou.

Tématické zařazení:

 » 3D grafika  

Poslat článek

Nyní máte možnost poslat odkaz článku svým přátelům:

Váš e-mail:

(Není povinný)

E-mail adresáta:

Odkaz článku:

Vzkaz:

Kontrola:

Do spodního pole opište z obrázku 5 znaků:

Kód pro ověření

 

 

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: