Fizz 1.31 pro CINEMU 4D R6.x až R8.x - 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

Fizz 1.31 pro CINEMU 4D R6.x až R8.x

fizz

24. února 2004, 00.00 | Před několika dny se v diskuzi na tomto serveru rešil problém s rozšířením možností částicových systémů v CINEMĚ 4D R6 (a vyšší). Jedním z řešení je skvělý, volně stažitelný plugin Fizz 1.31, který byl před několika dny počeštěn a tak se podrobně podíváme na to, co umí. A umí toho hodně....

Před několika dny jsem v diskusi na tomto serveru narazil na zajímavý dotaz. Zněl v tom smyslu, zda jsou v CINEMĚ CE 6 k dispozici i nějaké jiné typy odražečů, než plošné. Dotaz poměrně zajímavý a rozhodně ne neopodstatněný. Je totiž pravdou, že s plošným odražečem člověk "díru do světa" zrovna neudělá. Tato situace není v dalších verzích programu zas až tak podstatná, má li uživatel modul Dynamics, či Thinking Particles, ale ostatní se mohou cítit trochu ochuzeni. I když nemusí, a o tom bude dnešní článek.

Na serverech zabývajících se programem CINEMA 4D (například domovské stránky www.maxon.net, či www.c4d-treff.de) je totiž k nalezení velmi zajímavý plugin. Je volně ke stažení a jmenuje se Fizz 1.31f. Nejde přitom o nějakou novinku, ale vzhledem k výše uvedenému dotazu si myslím, že nebude marné, pokud se na něj podíváme podrobněji. Možná o to více, že jsem k němu připravil také českou verzi. Ta je zdarma ke stažení na serveru www.digitalmedia.cz v uživatelské sekci (po registraci).

A co vlastně Fizz umí? Je toho poměrně dost. V prvé řadě lze pomocí Fizzu vytvořit odražeč fakticky z jakéhokoliv objektu, který ve scéně je. Přitom lze definovat i míru přitahování, či odpuzování emitovaných částic od těchto objektů, míru tření částic při pohybu po objektu, valivé tření a podobně. Další širokou škálu funkcí nabízí plugin přímo pro částice samotné. Díky Fizzu lze totiž nadefinovat minimální poloměr vzdálenosti, který mohou částice mezi sebou dosáhnout, vzájemné přitahování či odpuzování částic. Také Vás to ihned napadlo? Takhle by se přeci naprosto skvěle dala vytvořit zcela reálná voda. Mimo to také Fizz umí generovat nové částice, které vzniknou při dopadu každé jedné částice na odražeč (tedy jiné těleso). Díky tomu vzniknou při dopadu kapky na hladinu malé odražené menší kapky z místa dopadu.

Při tom všem částice za použití Fizzu stále zůstávají běžnými částicemi a tak lze stále využívat všechny klasické "ovládací" prvky částicových systémů. Lze tedy používat objekt Gravitace, Vítr, Tření atd.

Fizz není zcela dokonalý. Má jistá omezení a možná by se dalo říci že i nedostatky, ale přesto se jedná o velmi výkonný nástroj, který je vzhledem ke své ceně (zdarma) unikátní. Pokud si totiž jaksi sečteme všechny právě vyjmenované vlastnosti, pak nám Fizz 1.31 poskytuje dynamiku částic, a to zcela zdarma….

Pojďme se tedy podrobně podívat na jednotlivá nastavení pluginu. Nejdříve si ale musíme říci, jak si nainstalovat českou verzi pluginu, protože tu budeme popisovat. Máme li plugin stažený a nainstalovaný do adresáře Plugins (to se netýká těch uživatelů, kteří si nainstalovali CINEMU 4D z CD přiloženého u knihy od Computer Pressu, tam je Fizz automaticky), tak stáhneme českou verzi pluginu, rozbalíme ji a přehrajeme adresář string_cz do adresáře pluginu. Tím jsme zavedli českou verzi pluginu. Ta se automaticky inicializuje při zvolení českého prostředí a případném restartu programu do českého prostředí.



Plugin samotný se samozřejmě nachází v menu Pluginy. Jeho malé menu má položky Kolize Polygon-Částice, Kolize Částice-Částice a o pluginu. Vezmeme to pěkně po pořádku a tak zevrubně začneme objektem Kolize Polygon-Částice. Po zvolení tohoto příkazu se totiž do Správce objektů vloží funkce stejného jména, pod kterou se sdružují objekty, které mají, jednoduše řečeno, plnit funkci požadovaného "odražeče". Nutno při tom poznamenat, že uživatelé verze C4D 8 budou zklamáni, že nejde otevřít nastavení funkce pluginu ve Správci nastavení, ale jen starým způsobem poklepáním na ikonu.


Struktura jednoduché scény za využití Fizz-u

Poklepeme li tedy na ikonu, otevře se okno s nastavením funkce. To je rozděleno do 4 záložek, přičemž v každé z nich se definuje specifická část chování "odražeče" a částic, které na něj dopadnou. Projdeme si tedy to nejdůležitější.



Začneme záložkou Vlastnosti, na které je prvním parametrem Poloměr. Částice se od objektů "odražeče" neodrážejí podle své geometrie, jako je to například u modulu Dynamics, ale podle svých os. Díky tomu je nutné nadefinovat tento parametr Poloměr, který by měl být shodný s velikostí poloměru částice, která dopadne na povrch. Tento parametr je prvním z nepříjemných omezení, která plugin má. Nejde tedy použít jeden odražeč na kupříkladu dva různě veliké typy částic. Lze ale vytvořit několik hierarchických skupinek objektu Kolize-Polygon-Částice s nastaveným poloměrem "1" (2, 3, ..), pod kterým je Emitor částic s částicemi velikosti poloměru "1" (2, 3, ..) + objekty odražečů, přičemž by měla být nastavená viditelnost jen u jedné skupinky polygonových odražečů. Díky tomu se pak budou odrážet všechny různě veliké částice od ploch odražečů korektně, nelze však zajistit legitimní kolize mezi jednotlivými různě velikými částicemi (viz níže, při popisu Kolize Částice-Částice). Parametrem Poloměr se tedy definuje interní "rozšíření" objektu, od kterého se budou podle svých os částice odrážet.

Tření. Tento parametr je tím čím se tváří. Vytváří tření, tedy zpomalení částice v okamžiku, kdy je na povrchu objektu.

Valivé tření. Tento parametr je aktuální pouze tehdy, je li u generátoru částic aktivní volba Tangenciálně. Díky tomuto parametru se budou částice pohybující se po povrchu odražeče zcela reálně otáčet.

Pružnost definuje míru odpružení dopadlé částice. Jedná se tedy o hodnotu, která definuje rychlost odrazu vzhledem k rychlosti dopadu. Míra variace definuje proměnlivost pružnosti.

Odrážení definuje celkovou tuhost povrchu, tedy říká, zda objekt skrze sebe propouští částice či ne.

Následující parametry jsou poměrně spojené. Jde o parametry Rozptyl a Úhel rozptylu. Normálně se úhel dopadu částice rovná úhlu odrazu. Lze ale nastavit jiný max. úhel odrazu. To je parametr Úhel rozptylu (v úhlech). Míra, respektive podíl odražených částic jiným směrem zadává parametr Rozptyl (v procentech).



Další záložkou je záložka Fyzikální síly. Na této záložce se definuje přitažlivost, či naopak odpuzivost povrchu vzhledem k částicím. Díky tomu lze vytvořit známé efekty, kdy voda, což může být metaball tvořený mnoha malými emitovanými částicemi (bude mít tedy malý poloměr), se bude díky své viskozitě mírně "vázat" k povrchu, přes který teče. Parametry Přitažlivosti i Odpuzivosti jsou stejné. Definuje se intenzita a maximální vzdálenost působení, přičemž míru působení ovlivňuje i tvar úbytku. Tento úbytek je definován podobně jako úbytek světla.



Další velmi zajímavou záložkou je Roztříštění. Na této záložce se definuje roztříštění částice, která dopadne na povrch odražeče na další částice. Vše se tak děje díky vytvoření dalšího generátoru částic, který je charakteristicky pojmenován (například Destrukce 1). Zapne se volba Roztříštění při kolizi a do pole Z generátoru částic se vepíše jméno generátoru (tedy Destrukce 1). Následující parametry již částečně známe. Můžeme definovat počet nových částic (není tedy podstatné, kolik částic je nastaveno v samotném generátoru Destrukce 1) a variaci počtu (to aby nebyly všechny "tříště" stejné). Následuje parametr Úhel rozptylu, který definuje úhel pod kterým nové částice vyletí. Parametr Násobitel rychlosti definuje procentické vyjádření rychlosti nových částic vzhledem k rychlosti mateřské částice. Opět můžeme nastavit variaci.

Parametry následující vypovídají o své funkci již svým jménem. Další roztříštění z roztříštěného tvoří nové částice při dopadu "dceřiných částic". Volba Kolize Roztříštěných částic umožňuje, aby bylo mezi těmito částicemi zachováno dynamické chování. Poslední položkou je volba Zničit při kolizi. Díky této volbě budou dceřiné kolidující částice zničeny.



Poslední záložkou je záložka Volby. Na té se definuje kvalita převzorkování efektu (zvyšuje čas generování, ale zvyšuje přesnost) a Hloubka kolize. Osobně jsem neměl potřebu při testech tyto hodnoty nějak dramaticky zvyšovat.

Možná důležitější je volba Oboustranný, která definuje, že je objekt "nepropustný" z obou dvou stran. A také volba Zničit při kolizi, která říká, že částice dopadnuvší na povrch zanikne (a přitom bychom třeba mohli mít aktivní nastavení Roztříštění….). Volba Automaticky převést na polygony automaticky (pravděpodobně) interně převádí geometrii parametrického objektu na polygonový. Automaticky spojit interně spojuje geometrii objektů. Posledním parametrem je náhodnost, která nám pomáhá při tvorbě kopií, aby nevypadaly zcela stejně.

Tím jsme si prošli nastavení objektu, či spíše funkce Kolize Polygon-Částice. Plugin nám ale nabízí ještě jeden objekt. Tímto objektem je funkce Kolize Částice-Částice, která nám umožňuje interakci, či jinak řečeno Dynamiku mezi jednotlivými částicemi. Nutno přitom poznamenat, že většina parametrů je podobná jako u objektu Kolize Polygon-Částice. Strukturou modelů to většinou bývá tak, že objekt Kolize Částice-Částice se zařazuje pod objekt Kolize Polygon-Částice se stejným nastaveným poloměrem (tedy v případě, že je ve scéně několik různě velikých generátorů částic a tím pádem i několik "geometrií" odražečů, které mají ve svých nadřazených objektech Kolize Polygon-Částice nastavené různé poloměry podle velikostí částic, více viz výše). Pod takovým objektem Kolize Polygon-Částice je poté také zařazen příslušný generátor částic.







Stejně jako u objektu Kolize Polygon-Částice je obsah nabídky objektu Kolize Částice-Částice rozdělen do několika záložek. První záložkou jsou Vlastnosti. V té se definuje parametr Poloměr, který definuje velikost kolidujících částic (tento parametr by měl opět odpovídat velikosti emitovaného objektu). Parametry Pružnost, Rozptyl, Úhel Rozptylu a Odrážení jsou shodné se stejně pojmenovanými parametry objektu Kolize Polygon-Částice a tak je nadále popisovat nebudeme. Totéž platí i u všech parametrů záložky Fyzikální síly a roztříštění, kde však chybí volby Další roztříštění z roztříštěného, Kolize roztříštěných částic a Zničit při kolizi.



Na poslední záložce, která se jmenuje Volby se definuje hlavně velikost oblasti, ve které se částice dynamicky chovají a mřížka této oblasti. Mřížka má samozřejmě vliv na přesnost efektu. Mimo to se definuje náhodnost, možnost zničení částic při kolizi a míra převzorkování.

Prošli jsme si spolu jeden z nejlepších volně šiřitelných pluginů, který je na CINEMU 4D od verze 6 k dispozici. Fizz má jistá omezení, viz faktická nemožnost reálné kolize různě velikých částic, ale přesto se jedná o nástroj velmi dobrý. Jeho použití vidím hlavně v oblasti tvorby kapalin. Díky tomuto pluginu totiž není problém například vytvořit reálně se chovající vodu dopadající a tříštící se o obličej. Plugin je na své schopnosti překvapivě rychlý a to je další výhoda. Nutno je ale dbát na jistá pravidla. Prvním a asi nejdůležitějším je správná struktura scény, při využívání několika typů částic, respektive velikostí. Tento problém jsme již naznačili výše. Dalším pravidlem je, že velikost generátoru částic se NESMÍ upravovat pomocí nástroje Velikost. Díky tomu lze dospět při nadefinování kolize částic k neočekávaným deformacím těchto částic.

A několik velmi narychlo vytvořených ukázek. Na prvním obrázku kouř obtéká modul. Pod druhým obrázkem se skrývá malá animace, ve které je "okapem" spouštěno několik koulí, které skrze trychtýř dopadají na kouli na podstavci a podlahu. Při tom jsou nadefinované kolize mezi těmito koulemi.

A ještě jedna rada na závěr. V instalaci pluginu, respektive v jeho adresáři, je několik názorných příkladů, určitě je prozkoumejte…

Tématické zařazení:

 » Rubriky  » VSE  

 » Rubriky  » 3dscena  

 » Rubriky  » Go verze  

 » Rubriky  » 3D grafika  

 

 

 

 

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

Uživatelské jméno:

Heslo: