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:
Software
Quartz Composer: základy
24. května 2005, 00.00 | V podstatě a s trochou zjednodušení můžeme říci, že Quartz Composer je jakýsi "automator pro grafiku a animace": podobně, jako v Automatoru sestavujeme pracovní postupy z jednotlivých akcí, můžeme v aplikaci Quartz Composer sestavovat komplexní grafické animace z jednoduchých operací.
V minulém článku, jenž uváděl tento miniseriálek, jsme se věnovali celkovému přehledu aplikací, jež sice jsou součástí "vývojářského" balíku, avšak mohou přinést zajímavé služby všem uživatelům. Slíbili jsme si také, že se nadále více soustředíme na aplikaci Quartz Composer – a dnes začneme tím, že si podrobněji vysvětlíme, ao co vlastně jde.
V podstatě a s trochou zjednodušení můžeme říci, že Quartz Composer je jakýsi "automator pro grafiku a animace": podobně, jako v Automatoru sestavujeme pracovní postupy z jednotlivých akcí, můžeme v aplikaci Quartz Composer sestavovat komplexní grafické animace z jednoduchých operací, tzv. "patchů". Ačkoli Quartz Composer je o něco málo "techničtější" než Automator, jeho základy není vůbec těžké pochopit.
Aplikace
Aplikaci Quartz Composer nalezneme (po instalaci Xcode Tools, viz. úvod minulého článku) ve standardní složce /Developer/Application/Graphics Tools:
Po prvním spuštění nám aplikace nabídne možnost volby typu komposice (=grafické animace), již chceme vytvořit. V současnosti Composer obsahuje standardně několik vzorových komposic, zahrnujících i několik typů screensaveru; to je příjemné proto, že většina laiků bude nejspíše Quartz Composer využívat právě pro generování elegantních screensaverů.
My si pro první seznámení s aplikací vybereme "Basic Composition", jež obsahuje ikonu aplikace a rotující text; po výběru jména pro nový soubor a jeho polohy aplikace otevře nové okno, obsahující vzor zvolené komposice (a také okno náhledu, v němž je komposice hned animována, a v němž uvidíme dynamicky jakoukoli změnu, jíž v komposici uděláme – oknem náhledu se však budeme zabývat až později):
Povšimněme si hned základní podobnosti s již zmíněným Automatorem: v levé části okna je seznam "toho, z čeho můžeme sestavovat výsledek" – v Composeru zde tedy vidíme seznam "patchů" stejně, jako v Automatoru seznam akcí. Stejné je i dokumentační okénko v dolní části seznamu, jež zobrazuje popis vybraného objektu.
Podobně také v pravé, hlavní části okna vidíme sestavený výsledek. Na první pohled je zřejmé, že Quartz Composer je malinko složitější, nežli Automator – zatímco seznam akcí v pracovních postupech Automatoru je lineární, Composer sestavuje své "patche" do obecné sítě, provázané navzájem nejen dvojicemi "datových zobáčků z předchozí k následující", nýbrž libovolným množstvím "trubek", jež přenášejí data mezi "patchi" jakkoli je zapotřebí: každý "patch" může mít libovolný počet vstupů (v levé části) a výstupů (vpravo), a my je můžeme propojit jak se nám zachce. Na minulém obrázku je tedy kupříkladu vidět, že výstup "Image" patche "Image Importer" je spojen se vstupem "Image" patche "Billboard", nebo že výstup "Result" patche "Interpolation" je spojen se vstupem "Y Rotation" patche "Sprite".
Jak to funguje?
Začneme tím, že si trochu pohrajeme s ukázkovou komposicí. Nejprve si ukážeme, jak změnit obsah rotujícího textu: podívejte se na obrázek; tam je zhruba uprostřed u dolního okraje okna patch se zeleným titulkem "Image With String" (jaký smysl mají barvy titulků si řekneme příště, až se budeme bavit o různých typech patchů). Označíme jej klepnutím myši, a pomocí tlačítka v liště příkazů (vpravo nahoře) otevřeme panel inspektoru. V něm pak můžeme v panelech "Settings" a "Input Parameters" upravit nastavení jakkoli se nám jen líbí:
Alternativně jsme mohli jen poklepat přímo v okně na malý kroužek u argumentu "String" (hned vlevo nahoře v patchi, hned pod nadpisem "Image With String") – Quartz Composer by nám umožnil změnit hodnotu přímo v hlavním okně.
Chceme-li dosáhnout nějaké úpravy, na niž nastavení z Inspektoru nestačí, můžeme do datové cesty, representované "trubkami", vložit další filtry. Ukážeme si dva jednoduché příklady; v prvém nalezneme patch jménem "Color Monochrome" – nejjednodušší je napsat "mono" do vyhledávacího pole v levém horním rohu okna – a vhodíme jej do prostoru komposice. Pak jen pomocí myši "přetáhneme" trubku, vedoucí z atributu "Image" patche "Image Importer" na kolečko u "levého" atributu "Image" nového patche, a naopak z jeho "pravého" atributu "Image" natáhneme trubku k jedinému atributu "Image" patche "Billboard" – může to vypadat nějak takto:
V okně náhledu ihned uvidíme, jak obrázek Composeru "vybledne" do sépiových barev (protože výchozí nastavení patche "Color Monochrome", jež samozřejmě můžeme opět měnit pomocí inspektoru, obsahuje hnědou barvu v atributu "Color").
Ještě si ukážeme malinko složitější trik: co kdybychom chtěli namísto statického řetězce v rotujícím textu v dolní části komposice zobrazovat nějakou generovanou hodnotu? Inu, nic snazšího: namísto zapsání konstantní hodnoty v Inspektoru prostě můžeme na atribut "String" patche "Image With String" natáhnout trubku z nějakého jiného patche, který hodnoty generuje.
Vhoďme třeba do komposice patch "System Time", a natáhněme trubku z jejího jediného atributu "Time" na atribut "String" patche "Image With String" – nějak takto:
Hned vidíme, že namísto původního textu rotuje aktuální systémový čas... jenže v dost nečitelném číselném tvaru. Co s tím? Nic snazšího: vhodíme do komposice patch "Date Formatter", a "nataháme trubky" tak, abychom jej vložili mezi "System Time" a "Image With String":
Pohrejte si mezitím s dalšími možnostmi Composeru; příště si trochu podrobněji vysvětlíme "co se to tam vlastně děje", a seznámíme se s typy patchů a jejich funkcí.
Obsah seriálu (více o seriálu):
- Mac OS X Tiger - Vývojářské aplikace nejen pro vývojáře!
- Quartz Composer: základy
- Quartz Composer: co je to "patch"
- Quartz Composer: typy patchů
- Makra Quartz Composeru
- Speciální služby Quartz Composeru
- Quartz Composer pro programátory