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
Tvorba kulečníku v CINEMĚ 4D R6 a pluginu Fizz
5. dubna 2004, 00.00 | V článku o pluginu Fizz jsme si tento velmi silný nástroj popsali. Není ale nad to si jej vyzkoušet na nějakém demonstrativním příkladu. Třeba při tvorbě sofistikovaně se chovajícího kulečníkového stolu a koulí, které se na něm zvesela prohánějí.
V článku o pluginu Fizz, který vyšel na serveru grafika.cz jsme se podrobně seznámili s tím, co nám plugin nabízí. Pravdou ale je, že méně zkušený uživatel může být i tak poněkud nerozhodný jak tento vskutku výborný plugin použít. A právě takovým uživatelům je určen dnešní článek, ve kterém se podíváme na to, jak Fizz využít pro tvorbu zcela reálně se chovajícího kulečníku, tedy lépe řečeno karambolu.
V prvé řadě však musím jako autor upozornit, že mimo automobilismu se taktéž přespříliš nevyznám v parametrech těchto barových sportů a tak prosím omluvte zřejmě špatné barvy koulí v mém ukázkovém příkladu a taktéž zcela jistě chybnou velikost. Nemám to v oku….
No ale to by stačilo. Přejdeme k věci. Naším cílem bude vytvoření scény reálně se chovajícího kulečníkového stolu, ve které se bílá koule začne pohybovat po šťouchu tága, načež po nárazu na sestavu ostatních koulí se tyto koule reálným způsobem "rozprchnou" po stole, přičemž se budou reálně odrážet jak sami od sebe, tak od okrajů stolu. Při tom je zachována podmínka, že koule "nevystřelí" mimo stůl.
Tolik k podmínkám. Nyní k tomu, co pro takovou scénu budeme potřebovat. V prvé řadě objekt tága, stolu a všech koulí, přičemž velikost všech těchto objektů ponechám na Vás, protože jak jsem řekl, nemám lidově řečeno ani páru o tom, jak by měly být tyto objekty veliké. V prvé řadě si musíme specifikovat, jak jednotlivé objekty vytvoříme. Je nasnadě, že objekty tága a stolu budou běžnými polygonovými objekty, přičemž v případě stolu doporučuji využít dva objekty, jeden jednoduchý pro tvorbu "odrážeče" a druhý složitější, který bude viditelný ve finálním renderu, který bude mít zaoblené hrany a jeho tvar bude přesněji odpovídat originálu. To vše proto, že jednodušší objekt se často rychleji počítá při generování dynamických kolizí a v tomto případě je celkový tvar pracovního "odrážeče" velmi podobný tvaru finálnímu.
Určitě si všichni pamatujeme, že kolize částic se daly v pluginu Fizz vytvořit jen tak, že na sebe reagovaly částice emitované nějakým generátorem částic. Jinými slovy Fizz neumí vytvářet dynamické interakce mezi běžnými objekty. Z toho důvodu si musíme pro každou jednu kouli kulečníku vytvořit emitor, který vytvoří právě jen tu jednu kouli na jednom specifickém místě.
Začneme ale tvorbou stolu. Pro základ ke stolu můžeme použít například objekt Krychle. Vložíme si tedy do scény objekty Krychle (Objekty > Primitiva > Krychle), ve Správci objektů poklepeme myší na jeho ikonu a nastavíme velikost například (a teď přijde první rozladění kulečníkových mistrů) třeba 1000*100*1600. Celou krychli se převedeme na polygony, nejlépe pomocí zkratky C (Struktura > Převést na polygony, zkratka C). Přejdeme do režimu editace polygonů (Nástroje > Polygony) a za využití výběrového nástroje si vybereme vrchní pouze polygon. Klikneme pravým tlačítkem myši a z menu vybereme příkaz Vytažení uvnitř (Struktura > Vytažení uvnitř, zkratka I) a interaktivně tažením myši vtáhneme do původního polygonu polygon nový, který bude o něco menší. Znova klikneme pravým tlačítkem do plochy a vybereme příkaz Vytažení (Struktura > Vytažení, zkratka D). Nyní potáhneme nový polygon směrem dolu, to bude deska stolu. Využijeme Správce souřadnic, kde zadáme hodnotu Y=0. Tím jsme si vytvořili tvar kulečníkového stolu, který se nám bude podílet na generování dynamiky koulí. Bude li někdo chtít si vytvořit finální stůl pro render, ať využije kopii tohoto "polotovaru" a u výsledného stolu nastaví pomocí dvojtečky ve Správci objektů viditelnost při renderu (šedá/zelená barva ve spodní tečce, červená v horní). Naopak u pomocného stolu ať nastaví viditelnost pouze v editoru (šedá/zelená v horní tečce, červená ve spodní)….
Vložíme si tedy do scény objekt Polygon (Objekty > Primitiva > Polygon). Poklepeme ve Správci objektů na ikonu nově vytvořeného objektu a nastavíme jej. Aby byl náš vytvořený trojúhelník rovnostranný, musíme vycházet z rovnice Šířka = Výška x 1,1547. Zároveň si můžeme stanovit velikost průměru koule a říci si, že koule je v základně trojúhelníka obsažena přesně 3 x. To vychází z úvahy, že ? koule je mimo tento vytyčující trojúhelník na každé straně (jednotlivé generátory a tedy i koule budeme umisťovat podle os, díky tomu bude vždy polovina koule přesahovat mimo vytyčený obrazec. Osobně jsem si stanovil poloměr koule na 29 jednotek. Díky tomu můžeme říci, že Šířka = Poloměr x 6, přičemž 2 x poloměr je průměr a ten má být do šířky 3 x. Jestliže obě tyto triviální rovnice spojíme, pak máme výraz Poloměr x 6 = Výška x 1,1547, kdy Poloměr je hodnota, která by měla odpovídat poloměru námi vytvořených kulečníkových koulí. Pokud bychom dosadili hodnotu, kterou jsem zvolil já, pak by nám vyšlo 29 x 6 = Výška x 1,1547. z tohoto výrazu je Výška = 150,69. Vypočítáme li ještě parametr Šířka, pak ten bude 29 x 6 = 174. Do nastavení objektu Polygon tedy zadáme vypočítané hodnoty, parametr Počet segmentů nastavíme na 3 (díky tomu bude vytvořená mřížka odpovídat počtu koulí), parametr Orientace nastavíme na +Y a zapneme volbu Trojúhelníky, díky které se nám po převedení objektu na polygony vytvoří pouze trojúhelníky a struktura tak bude zřetelnější.
V tento okamžik máme vlastně vše, co pro tvorbu chování z objektů jako takových potřebujeme. Nyní budeme tedy pracovat jen s nastavením kolizí a prostředí dynamického chování. V prvé řadě do scény vložíme objekt Gravitace, který nám zajistí, že nám jednotlivé koule nemohou nereálně ulétnout. Objekt Gravitace vložíme z Objekty > Částice > Gravitace. Objekt Gravitace by měl být minimálně stejně veliký, jako velikost stolu. Tedy v námi popisovaném příkladu minimálně se základnou 1000*1600 a o něco větší výškou, například 200. Objekt Gravitace umístíme na stejné místo, na kterém máme stůl a koule.
Celková animace ke stažení, velikost cca 2,5 MB. Pro ty, kteří nechtějí čekat na stažení souboru, přikládám několik obrázků z animace…
Tématické zařazení:
-
23. dubna 2014
Konica Minolta přenesla výhody velkých zařízení do kompaktních modelů
-
11. května 2014
-
23. května 2014
Epson na konferenci Droidcon Berlin ukázal nové možnosti čekající na vývojáře OS Android
-
24. listopadu 2014
-
13. května 2014
Samsung NX3000: retro styl, špičkový výkon a snadná konektivita v jednom přístroji
-
30. listopadu 2014
Nový fotoaparát α7 II: první plnoformát s pětiosou optickou stabilizací obrazu na světě
-
15. prosince 2014
Konica Minolta pomůže živnostenským úřadům s digitalizací dokumentů
-
11. května 2014
-
26. listopadu 2014
Canon Junior Awards již posedmé ocení mladé fotografy v rámci Czech Press Photo
-
21. srpna 2014