CINEMA 4D R15 – úvod do scriptování - Grafika.cz - vše o počítačové grafice

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

CINEMA 4D R15 – úvod do scriptování

23. září 2013, 19.44 | Co mám opravdu rád na Adobe Photoshopu, jsou akce a dávky. Pravda, tyto technologie ovládá nejen Photoshop (míněno z bitmapových editorů; z patra mne napadá Photoline). V oblasti CINEMY 4D je situace samozřejmě trochu komplikovanější už kvůli komplexnosti aplikace a také několika různým možnostem, jak automatizaci zpracovat. Od XPressa, přes Python až po Coffee. My použijeme Coffee.

 

Jaké je téma návodu? Velmi praktické. Zrychlení práce, to je totiž často klíčové téma. Čas je lepší trávit něčím užitečným, a ne robotickou prací, která je všechno, jen ne kreativní.

 

Představme si tedy, že máme objekt MoText a ten chceme konvertovat na editovatelný objekt. To není až tak snadné, protože po první konverzi vznikne poměrně komplexní struktura s množstvím písmen, která jsou stále generovaná objektem Vytažení a textovými křivkami. Je tedy nutné vše opět vybrat a znova zkonvertovat. Pak musíme vybrat celou hierarchii a teprve potom vše spojit (a smazat).

 

A teď si představte, že takových notoricky se opakujících operací je progressu řekněme 10 až 20 procent. To už je docela dost času, který by se mohl využít jinak.

 

Než začneme se skriptováním, pojďme se podívat na Správce příkazů. V tomto správci si můžeme vyhledat a také spustit jakýkolli příkaz, který má CINEMA 4D k dispozici. Zajímavé na tom je, že každý tento příkaz má také své ID číslo, pomocí kterého jej můžeme vyvolat.

 

Calling.... Vyvolat? No jistě. Tedy Call – a co? Příkaz, tedy Command. Tedy CallCommand a známe první a jediný příkaz Coffee, který dnes použijeme.

 

Pokud tedy chceme vyvolat nějaký příkaz, musíme zjistit jeho ID a následně jej vyvolat ze systému.

 

Vše tedy bude vypadat například takto:

 

CallCommand(12236);

 

Převedeno do uživatelského jazyka, Převést na polygony (C).

 

Dobrá tedy, víme jak. Pojďme se podívat na to, kde... Práce se skriptem nám je umožněna pomocí okna Skript/Správce Skriptu. Pokud by vám skript nefungoval, je dobré zapnout konzoli, ve které se zobrazí případná chyb a také poloha chyby (řádek, místo). To není vždy úplně přesné, zvláště pokud se jedná o chybu v pojmenování příkazu. Stalo se mi, že jsem namísto CallCommand napsal Callcommand (tedy malé druhé „C“) a konzole nalezla chybu až za příkazem, nikoli v jeho těle. Mimochodem, dejte si prosím pozor na to, jak příkaz zapíšete. Konzoli najdeme ve Skript/Konzole.

 

Zpátky k našemu příkladu. Otevřeme si správce skriptu a přejdeme rovnou do Coffee záložky. Zde dáme pomocí hlavního menu Soubor/Nový a vytvoříme nový skript. Můžeme si jej rovnou pojmenovat a je vhodné je pojmenovat pro všechny jazyky, které jsou nainstalované (jinak se použije pro daný jazyk výchozí generované jméno a to není zrovna vhodné).

 

Ve spodní části je výchozí skript a ten můžeme přepsat. Použijeme tedy již zmíněný příkaz:

 

CallCommand(12236);

 

Tím se převede objekt na polygonový tvar. Ale co když má další podřízené objekty? Pak je nutné tyto podřízené objekty také vybrat a následně převést. Výběr podřízených objektů má ID 100004768.

 

Po vybrání chceme vybrané opět převést, tedy sekvence bude vypadat takto:

 

Použití: převedení generátoru na objekt – například objekt Pole. Vytvoří se podřízené kopie původního generovaného tvaru. Pokud jsou tyto kopie generované, převedou se (druhý příkaz 12236).

 

CallCommand(12236);

CallCommand(100004768);

CallCommand(12236);

 

Pokud si pomůžeme popisem, pak PŘEVĚĎ, VYBER PODŘÍZENÉ, PŘEVĚĎ.

Jenže, ani to v případě vícevrstevné hierarchie nemusí stačit. Zrovna MoText s Klonováním je dobrý příklad, protože takto by se nám celý objekt nepřevedl dobře. Tedy musíme vše ještě jednou zopakovat. To, že bude sekvence zbytečně dlouhá pro jiné objekty, ani tak nevadí, na nich se to neprojeví.

 

Použití: Klonování duplikuje MoText, převede se hlavní objekt, vznikne hierarchie s kopiemi objektu MoText, ty se vyberou, převedou, vzniknou objekty Vytažení, ty se následně opět vyberou a převedou. Vzniklá vytažení a uzávěry nejsou spojená!

 

CallCommand(12236);

CallCommand(100004768);

CallCommand(12236);

CallCommand(100004768);

CallCommand(12236);

 

Tedy: PŘEVĚĎ, VYBER PODŘÍZENÉ, PŘEVĚĎ, VYBER PODŘÍZENÉ, PŘEVĚĎ

 

To už by stačilo vše vybrat a spojit (a případně Optimalizovat). Řetězec by tedy byl:

 

CallCommand(12236);

CallCommand(100004768);

CallCommand(12236);

CallCommand(100004768);

CallCommand(12236);

CallCommand(100004768);

CallCommand(16768);

 

Poslední příkaz je Spojit a Smazat.

 

Chcete ještě hierarchii zoptimalizovat? Není problém. Dodáme ještě jeden poslední příkaz pro optimalizaci:

 

CallCommand(12236);

CallCommand(100004768);

CallCommand(12236);

CallCommand(100004768);

CallCommand(12236);

CallCommand(100004768);

CallCommand(16768);

CallCommand(14039);

 

Zábavné že. Faktem je, že člověk nemusí umět programovat, aby si vyrobil vlastní pluginek. A to mne těší! Stačí jen vyrobit ikonku a vše uložit. Nastavit zkratku a případně vložit do layoutu.

 

CINEMA 4D R15 – úvod do scriptování

 

Video na Vimeo.com: CINEMA 4D R15 – úvod do scriptování.

 

Pavel Zoch, Ph.D.

 

 

 

Obsah seriálu (více o seriálu):

Tématické zařazení:

 » Rubriky  » 3D grafika  

 » Rubriky  » Software  

 » Rubriky  » 3dscena  

 

 

 

 

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

Uživatelské jméno:

Heslo: