← späť

5 : PARTICLES

Časticové systémy

Časticové systémy sú krásny princíp vytvárania rôznych typov efektov, ako prach, trblietky, oheň, iskry, rôzne magické efekty, padajúce listy, hustá tráva, vlasy, húf hmyzu, alebo kŕdeľ vtákov. V podstate čokoľvek, na čo treba veľa drobných objektov.

Princíp je založený na tom, že máte nejaký generátor častíc, ktorý ich v pravidelných intervaloch vypľúva. Každá čiastočka má nejaký smer a rýchlosť a nejaké vizuálne vlastnosti (veľkosť/farba/vyžarovanie svetla), všetky sa môžu v čase meniť. Každá častica má tiež určenú nejakú dĺžku života, potom zmizne. Tieto vlastnosti bývajú väčšinou s nejakým faktorom náhody, aby častice pôsobili trochu chaoticky. Podľa toho, ako tieto vlastnosti nakombinujete, taký efekt dostanete.

Generovanie častíc

Vytvorte si nový súbor. Kocku zmažte a miesto nej si dajte do stredu plochu. To bude náš generátor častíc. Zapneme jej generovanie častíc – je na to špeciálna záložka vpravo. Ak pustíte animáciu, z vašej plochy sa začnú sypať častice.

Prvá otázka môže znieť, prečo sa vlastne sypú. V skutočnosti tu už máme zapojenú vyziku. V pravom menúčku v časti Scene sa dá vypnúť. Ak to urobíte, častice nám začnú pomaličky plávať dohora. Alternatívne by sme si mohli nechať gravitáciu zapnutú a zmeniť jej vlastnosti, ak by sme to chceli.

Základné vlastnosti častíc

Upravme si základné vlastnosti častíc. V časticovom menúčku vpravo v časti Emmision si vieme nastaviť:

Ja si urobím animáciu dlhú 150 framov, kde od prvého až po stý mi budú vznikať častice a posledných 50 framov budú iba umierať. Znížim si počet častíc na 200 (ak si nie ste istí výpočtovou silou vášho počítača, začnite radšej menšími počtami). Zvýšim si lifetime randomness, nech je to trošku náhodnejšie.

Ďalšia dôležitá časť v particle menúčku je Velocity. V tejto sekcii im vieme nastaviť štartovacie rýchlostné podmienky.

Normal máme na 1m/s - to znamená, že v smere normály plochy nám ich to chrlí rýchlosťou 1m/s. Preto idú dohora. ak to znížim na 0, budú sa len tak motkať na zemi.

Ďalej sú to mužnosti chrliť ich v smere dotyčnice, alebo v smeroch rôznych osí (x/y/z). Môžte si to poskúšať. Ja tam pridám nejaké Randomize, nech je to krajšie.

Ak si teraz scénu vyrendrujete, nebude nič vidno (okrem plochy). Ešte musíme Časticiam povedať, ako chceme aby vyzerali. Na to je tu tretia dôležitá sekcia – Render. Časticiam musíme urobiť nejaký vzor aby vedeli, ako majú vyzerať. Môžeme im napríklad povedať, aby vyzerali ako malé tórusy.

Pridajte si nový mesh – tórus. Časticovému systému v časti Render nastavte Render As: Object. Nižšie si vieme vybrať, ktorý objekt to vlastne bude (kolónka Instance Object).

V časti render si viete ešte nastaviť scale (čiže ako veľmi zmenšené budú častice oproti svojmu vzoru) a scale randomness. Hneď pod tým je klikátko show show Emitter – môžeme si ho zapnúť alebo vypnúť, podľa toho, či chceme vidieť aj zdroj častíc.

Skúste si to vyrendrovať ako obrázok. Blender bude rendrovať ten frame, v ktorom sa práve nachádzate. Pozor: je možné, že ak zmeníte nejaké vlastnosti vašich častíc, vyrendruje vám to nejakú blbosť (napríklad všetky častice zmiznú/alebo budú krivo/atď). Vtedy treba pustiť na chvíľu animáciu (stačí na sekundu), aby sa blender „spamätal“.

Ak teraz našemu tóru nastavíme nejaké materiálové vlastnosti, častice ich získajú tiež. Na príklade urobím nejaké náhodné.

A toto mi vzniklo:

Toto samozrejme nie je žiadna veľká výhra. Ak by sme chceli urobiť niečo naozaj pekné, je čas začať sa hrajkať s fyzikou a materiálmi.

Možnosti okolo častíc sú obrovské. V časticovom menu sme vynechali časť Physics. Napríklad Physics Type: Boids je určený na húfy zvierat. Napríklad kŕdeľ vtákov. Viete časticiam nakázať aký typ chaosu majú vytvárať, ako majú reagovať jedna na druhú, môžu napríklad mať určeného vodcu, ktorého budú nasledovať.

Na všetky možnosti tu bohužiaľ nemáme priestor, ale urobíme si jeden konkrétny príklad. Urobíme si chrlič iskier.

Iskry pomocou častíc

Vytvorte si nový projekt. Teraz pridáme Emitor častíc. Pridajte si valec (cylinder) a odstráňte z neho hornú a dolnú podstavu a niečo viac ako 3/4 plášťa. Zmenšite ho a položte ho na zem naležato. Odtiaľto budeme chrliť iskry.

Na zem, pod emitor, umiestnite väčšiu plochu (to bude naša podlaha). Pozadie zmeňte na čierne. Pre tento prípad si musíme zmeniť renderer z Eevee na Cycles, pretože niektoré funkcie, ktoré tu budeme používať v Eevee nefungujú.

Animáciu som si skrátila na 150 framov. Pre orezaný kužeľ zapnite častice. Chceme veľmi veľa častíc (20 000) ktoré žijú krátko (15 framov) a s veľkou náhodnosťou (0.9). Pokojne si poskúšajte aj nejaké iné čísla.

Teraz častice padajú, mi chceme, aby chrlili. Velocity si zvýšime na 10m/s a dáme vysoký randomness (0.9), nech to nie je také pravidelné.

Teraz sa pozrieme na to, ako budú samotné čiastočky vyzerať. Každú budeme chcieť rendrovať ako maličkú guľu, ktorá sviete. Pridáme si teda icosphere (výhoda icosphere oproti uv-sphere je, že má menej stien a teda žere menej pamäti, obvzlášť pri takýchto prípadoch, keď ich máme 20 000). Znížime jej počet stien (to sa dá tesne po vytvorení vľavo dole) aby bola čo najjednoduchšia a presunieme ju niekam, kde nám nebude zavadzať.

Teraz môžeme časticiam povedať, aby vyzerali ako naše icospheres. Časticiam v časti Render nastavíme Render as: Object a vyberieme icosphere. Ešte ju trochu zmenšíme (0.01 veľkosti oproti normálnej). Zvýšte aj scale randomness, nech je to náhodilejšie.

Teraz zabezpečíme, aby svietili. Zmažte zdroj svetla. Označte si icosphere a pridajte jej nový materiál typu emission. Silu zvýšim na 30.

Ešte by bolo fajn, keby sa nám častice neprepadávali pod podložku. To dosiahneme tak, že podložke povolíme vo fyzike kolíziu s časticami.

Teraz ak si to zrendrujete, dostanete niečo takéto. (Pozor, cycles rendruje pomalšie. Eevee ale nezvláda svietiace materiály, takže nemáme moc na výber.)

Takže máme pekne svietiace iskry, ale k realite im chýba veľmi podstatná vec, skutočné iskry nie sú stále biele. Ako postupne vyhasínajú, prejdú cez rozpačitú oranžovú k takej nejakej tmavo bordovej a zhasnú. My by sme potrebovali aby naše častice počas života menili farbu. To sa dá riešiť cez Shader editor.

Rozdvojte si spodné okno potiahnutím z nejakého rohu a zapnite si shader Editor. Ak si kliknete na vašu icosphere, mali by ste tam mať dve okienka spojené paličkami.

Celý shader Editor je vlastne hromada okienok (tzv. nodes), ktoré si navzájom posúvajú informácie (napríklad číslo, farba, atď…). Na ľavej strane okienka sú také guličky – to sú vstupy, v okienku sa informácie nejakým spôsobom spracujú a môžu ako výstup poslať informáciu ďalej cez výstupné guličky, to sú tie na pravej strane.

Jednoduchým príkladom je matematický node. Ako vstup si berie dve čísla (tie si tam vieme buť umelo nastaviť, alebo nechať poslať z nejakých iných nodes), zoperuje ich (napíklad sčítanie) a pošle ďalej výsledok. Okrem sčítania ponúka aj veľa ďalších operácii.

Ak chcete dva nodes spojiť, robí sa to ľavým tlačítkom. Ak chcete spojenie prerušiť, robí to Ctrl+pravé tlačítko.

Náš ultimátny výstup je to pravé okienko: Material Output. Ten už nemá výstupné vrcholy, pretože to je tá konečná informácia, ktorá sa posiela do objektu ako výsledný materiál. Tu si vlastne vieme vyrobiť zložitejšie materiály. Napríklad materiál, ktorý by bol závislý od polohy objektu a podobne.

Takže ak chceme aby nám častice postupne tmavli, potrebujeme zistiť, v akej fáze života sa nachádzajú a podľa toho im priradiť farbu. Tj na začiatku budú žiarivo biele, niekde v polde života budú oranžové a nakonci tmavočervené. Na vlastnosti častíc tu máme vstupný node Particle Info.

Particle info nám ponúka vek častice (Age) a celkovú dĺžku života častice (Lifetime). Ani jedno z toho nieje presne to, čo sme chceli, ale vieme to z nich získať. Urobíme si matematickú operáciu (Age)/(Lifetime) a získame tým číslo od 0 po 1, ktoré vyjadruje v akej fázi života sa nachádza. Môžeme na to použiť ten matematickú node, ktorý tam už máme vytvorený.

Teraz by sme chceli tento číslený interval [0,1] premeniť na farbu. Na to tu máme node Color Ramp.

Ten robí presne ono. Vezme si hodnotu medzi [0,1], priradí jej farbu zo svojho gradientu (0 je úplne vľavo a 1 je úplne vpravo) a pošle ďalej. Ak by sme si to nechali tak ako to máme teraz, najmladšie častice budú čierne a postupne budú blednúť.

Takže pomeňme si tie farby. Možno sa s tým budeme musieť trochu pohrať, kým bude výsledok uspokojivý, ale v zásade chceme, aby začínali z niečoho žiarivého a postupne tmavli. Kľudne ich urobte aj ružové ak chcete.

Už to začína byť celkom pekné. Posledný pekný efekt, čo vám chcem ukázať sa nazýva motion blur. Robí to presne to, motion blur. Nájdeme ho pravom menúčku v časti render properties.

Pošlite mi render, ako sa vám to podarilo. Ak máte výkonnejšiu mašinu, môžete skúsiť vyrendrovať aj video, ale inak obrázok úplne postačí.

Samozrejme, že by sa to dalo ešte o dosť zlepšiť. Mohli by sme nechať častice postupne miznúť, mohli by sme sa viac pohrať s tým, ako boli chrlené ešte náhodiljšie a podobne. To už je vec ďalšej práce, ja som chcela, aby ste mali nejakú ochutnávku toho, ako tá práca s časticami môže vyzerať.

Ak sa chcete venovať časticiam, odporúčam vám vyhľadať si tutoriály, napríklad na húf rýb, alebo na vlasy, alebo svietiace sci-fi efekty, a tak ďalej. Výhoda blendru je aj tá, že keďže je zdarma, je hojne používaný a tým pádom je k nemu veľa tutorialov.