keyframe: kýfrejmTakéKeyframing, Klíčování animace, Keyframe animace, Animace pomocí klíčůPokročilý
Definice
Animace klíčových snímků je technika, při které animátor zadá hodnoty vlastnosti (polohu, rotaci, barvu, průhlednost) jen v několika vybraných časech a software dopočítá všechny mezilehlé snímky interpolací. Klíčový snímek tedy nese stav v daném okamžiku, křivka mezi klíči určuje rychlost změny a výsledkem je plynulý pohyb bez ručního kreslení každého snímku.
Nezaměňujte: V kontextu videokodeků znamená „klíčový snímek“ něco jiného: I-snímek, od kterého lze začít dekódovat, nikoli ručně zadanou hodnotu animační vlastnosti.
Příklady z praxe
Pulzující tlačítko v CSS
Upozorňující tlačítko má mezi klíči 0 %, 50 % a 100 % definované měřítko. Prohlížeč dopočítá mezistavy a časovací funkce ease-in-out zajistí, že se pohyb na okrajích zpomalí. Změna trvání animace nevyžaduje zásah do klíčů.
@keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.08); } 100% { transform: scale(1); } } .cta { animation: pulse 1.6s ease-in-out infinite; }Skok postavy v 3D
Animátor nejdřív naklíčuje tři pózy: příprava v podřepu, vrchol letu a dopad. Teprve potom v graf editoru upraví tečny tak, aby výstup ze země byl prudký a vrchol letu se přirozeně zdržel. Kanál rotace pánve přepne na kvaternionovou interpolaci, aby se při otočce neobjevil nechtěný přemet.
Časté omyly
- MýtusČím víc klíčových snímků, tím plynulejší animace.
- Ve skutečnostiPlynulost určuje tvar interpolační křivky a snímková frekvence renderu, ne počet klíčů. Hustě naklíčovaná křivka se naopak často vlní a jde jen obtížně opravit.
- MýtusKlíčový snímek je prostě jeden snímek videa.
- Ve skutečnostiV animaci je klíčový snímek zadaná hodnota vlastnosti v čase, ne hotový obrázek. Stejný pojem ve videokodecích označuje I-snímek, tedy soběstačně dekódovatelný snímek, což je jiná věc.
- MýtusLineární interpolace je neutrální, takže je nejbezpečnější volba.
- Ve skutečnostiLineární průběh znamená okamžitý start i zastavení, což lidské oko vnímá jako mechanické. Neutrálním výchozím bodem pro pohyb objektů je spíš mírné zrychlení a zpomalení.
Časté dotazy
- Kolik klíčových snímků potřebuje jednoduchý pohyb?
- Jednoduchý pohyb, například posun panelu nebo otočení ikony, si obvykle vystačí se dvěma klíči: počátečním a koncovým stavem. Vše mezi tím dopočítá interpolace. Třetí klíč přidávejte teprve tehdy, když potřebujete změnit směr, zdržet pohyb ve vrcholu nebo vytvořit dojezd. U složitějších postavních animací se pracuje s hlavními pózami, ne s pravidelnou mřížkou klíčů. Praktické vodítko: pokud jde klíč odebrat, aniž by se pohyb viditelně změnil, patří pryč.
- Jak souvisí ease-in-out s klíčovými snímky?
- Ease-in-out popisuje tvar interpolační křivky mezi dvěma klíčovými snímky. Klíč sám určuje jen hodnotu v daném čase, zatímco časovací funkce nebo tečné úchyty v graf editoru rozhodují o tom, jak rychle se hodnota mezi klíči mění. Ease-in znamená pomalý rozjezd, ease-out pomalé doznění, ease-in-out obojí. Právě tady vzniká rozdíl mezi animací, která působí přirozeně, a animací, která vypadá strojově, i když má obě stejné klíče.
- Proč se v 3D doporučuje pro rotace kvaternionová interpolace?
- Kvaternionová interpolace řeší problémy, které vznikají při interpolaci tří Eulerových úhlů zvlášť. Jednotlivé osy se mění nezávisle, takže výsledná dráha rotace může jít oklikou nebo se objeví gimbal lock, kdy se dvě osy překryjí a jeden stupeň volnosti zmizí. Sférická interpolace kvaternionů vede po nejkratší dráze na kouli rotací a chová se předvídatelně. Nevýhodou je horší čitelnost hodnot v editoru, proto řada nástrojů nabízí oba režimy podle kanálu.
- Kdy použít pružinovou animaci místo klíčových snímků?
- Pružinová animace se hodí všude, kde musí pohyb reagovat na vstup uživatele v průběhu. Klíčové snímky mají pevnou délku a pevný cíl, takže při přerušení uprostřed buď skočí, nebo se musí složitě přepočítávat. Pružinový model naproti tomu pracuje s aktuální polohou a rychlostí, takže dokáže plynule změnit cíl uprostřed pohybu. Typicky jde o táhnutí prstem, drag and drop nebo přepínání stavů rozhraní. Pro lineární sekvenci ve videu nebo filmové animaci zůstávají klíče vhodnější.
Zdroje
- CSS Animations Level 1(otevře se v novém okně)
- Using CSS animations(otevře se v novém okně)
- Web Animations(otevře se v novém okně)
- Blender Manual: Animation & Rigging(otevře se v novém okně)
- Key frame(otevře se v novém okně)