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
Přehled nových funkcí v Blenderu (11. část): Částice (1/3)
3. září 2008, 00.00 | Částicový systém v Blenderu prodělal od verze 2.45 jednu podstatnou změnu - byl kompletně přepsán, za což můžeme poděkovat holandskému programátorovi jménem Janne Karhu. Dnešní článek si dává za úkol tento nový systém představit a poodhalit některá z jeho tajemství.
Vítám vás u dalšího článku, bez nějakých zbytečných řečí se můžeme rovnou pustit do částic:
Ve světě grafiky je potřeba zobrazit nejen pevné objekty (jako např. kámen, látka,...), ale i kouř, vlasy či trávu. Pokud bychom něco jako trávník měli modelovat ručně, pravděpodobně bychom měli do důchodu vystaráno. Proto se k takovýmto účelům používají částice.
Pozn.: Částice vytvořené s některou ze starších verzí Blenderu nemusejí být 100% kompatibilní s verzí 2.46, proto bude možná potřeba některá nastavení upravit. Snadno to zjistíme stisknutím ALT+A - pokud se animace přehrává, vše je bez problémů.
Pokud nenecháme Blender, aby do cache uložil informace z animace, náhled na animaci uvidíme pouze pokud se budeme posouvat po animačních snímcích vždy jen o 1 vpřed. Jestliže už Blender údaje spočítal a uložil do cache, můžeme se v rámci animace libovolně pohybovat; uvidíme při tom pohyb částic.
Základem každého částicového systému je Emitor, z nějž jsou částice emitovány (ať už se pohybují či nikoli). Emitorem může být pouze mesh. Vložme nyní obyčejný Plane a přidejme mu nový částicový systém. Učiníme tak v Object buttons (F7) v Particle buttons reprezentovaných ikonkou . Nyní stačí přidat nový částicový systém tlačítkem Add New:
Pozn.: Pokud již nějaký částicový systém vytvořený máme, můžeme jej přiřadit libovolnému jinému meshi - stačí jej vybrat v roletkovém menu
V tomto momentě se nám objeví větší množství nastavení, než je obvyklé:
Pozn.: Mesh může mít libovolný počet částicových systémů. Všechny jsou poté pod sebou seřazeny v Zásobníku modifikátorů
Pojďme se podrobněji podívat na horní část Particle System panelu:
- Horní roletkové menu - výběr nebo přidání systému
- PA - název aktuálního částicového systému
- X - Smaže aktuálně vybraný částicový systém
- 1 Part 1 - slouží k přepínání se mezi systémy, první číslo udává počet částicových systémů na meshi a druhé určuje číslo systému, v němž se právě nacházíme
- Roletkové menu - určuje typ částic (Emitter, Hair a Reactor, jejich popis prozatím nechme stranou)
- Ikonka s obrázkem - určí, zda se budou částice vykreslovat na renderu
- Ikonka s mřížkou - určí, jestli se částice budou zobrazovat ve 3D okně
- Amount - počet částic
Emitter
Pokud jste s částicemi již v minulosti pracovali, tento typ vám bude zcela jistě dobře znám. Jednoduše - emituje pohyblivé částice. Pojďme se podívat na ostatní nastavení na Particle System panelu:
- Sta - počáteční snímek animace
- End - poslední snímek animace
- Life - délka života částice (ve snímcích); platí jen pokud nenastavíme Died
- Rand - náhodná variace délky života částice (0-200 %)
Pokud nyní spustíme ALT+A animaci, uvidíme, jak se částice budou emitovat postupně z každého face zvlášť:
Připomeňme si ještě Particle System panel:
Random - částice se budou náhodně generovat ze všech nastavených částí meshe
Roletkové menu Emitter element - určuje, ze které části meshe se budou particly emitovat - z vertexů (Verts), faců (Faces) či z vnitřku meshe (Volume), což je dobře viditelné v uzavřeném meshi, např. v kouli
Even - určí, zda bude rozložení částic záviset na geometrii. Pokud budeme mít plane s nepravidelně zahuštěnou sítí, emitování particlů bude vycházet z počtu faců, nikoli z jejich rozměrů:
Pokud zatrhneme volbu Even, částice se nám budou distribuovat rovnoměrněji:
Roletkové menu Distribution:
- Jittered - částice jsou rozmístěny v nepravidelných intervalech, ty jsou však na všech facech shodné
- Amount - míra roztřesení vzorkování, v praxi ale změny příliš postřehnutelné nejsou (zejména při vyšším počtu částic)
- P/F - maximální počet emitovaných částic na face
- Random - náhodné rozmístění po celém meshi
- Grid - rozmístí částice v pravidelných intervalech podle mřížky
- Resol - určuje rozlišení mřížky (nižší číslo = větší vzdálenost mezi body)
- Invert - určuje místo působnosti emitování - buď uvnitř nebo vně meshe (viditelné pouze u "třírozměrných" objektů s Volume distribucí)
Reactor
Částice z tohoto typu meshe vzniknou v důsledku reakce na události částic jiných systémů (např. když ony cizí částice zmizí, srazí se s něčím nebo se vyskytnou blízko REACTOR meshe). Particle System panel vypadá u tohoto typu trochu odlišně:
Pozn.: Blender červeně vyznačil chybný údaj
Pokud máme na jednom meshi dva a více částicových systémů, je třeba, aby byl reakční systém nastavený až po cílovém systému - aby animace cílových systémů byla spočítána jako první. Pokud možno bychom se měli vyhnout situacím, kdy na sebe vzájemně reagují dva reaktory. Pojďme se nyní podívat na odlišnosti některých atributů:
- Sta/End - pokud zbudou nějaké nevyužité partikly po nastavené reakci, za pomoci tohoto parametru můžeme určit, ve kterých snímcích se zbylé částice vyemitují
- Roletkové menu React on - určuje akce cílového systému, na něž bude mesh reagovat (smrt, srážka nebo výskyt poblíž meshe)
- Multi React - určí, zda budou reakční částice reagovat jen jednou (při "narození") nebo i v průběhu jejich života
- Shape - určuje sílu reakce v závislosti na vzdálenosti od cílového objektu (0.0 = žádná síla, 10.0 = maximální síla)
V políčku Target pak můžeme určit cílový mesh a v kolonce vedle číslo částicového systému. Reactor má i jednu speciální možnost distribuce částic - může částice nechat vzniknout na místě cílových částic (např. když zmizí) - takto bychom mohli dosáhnout třeba malé exploze když zhasne jiskra nebo výbuchu po rachejtli stejně jako kouře po ohni.
Hair
Tento typ se dá použít k vytvoření vlasů, trávy, stejně jako srsti. Jde o nepohyblivé částice (v tom smyslu, že nemění polohu vůči svému meshi - např. ohýbat a vlnit se ale samozřejmě mohou). Segments udává počet segmentů na křivce, která definuje částici. Více segmentů = více zakulacená křivka, výchozích 5 je vhodných pro srst, vyšší čísla jsou vhodná např. pro delší vlasy (jak udává blender.org). Lahůdkou je tlačítko Set Editable, díky němuž můžeme manuálně upravovat Hair partikly v novém Particle módu. Vše, co se týče částic typu Hair, si řekneme až v jednom z následujících dílů.
Bake
Zde máme (nečekaně) tlačítka pro zapékání animace - soubory se opět (obdobně jako u simulace látky) ukládají do zvláštní složky v umístění našeho .blend souboru.
Physics
Tento panel určuje typ fyziky použitý k výpočtu pohybu částic. Vybírat můžeme z roletkového menu:
První možností je None. Všechny částice tohoto systému se budou neustále držet svého meshe. Ačkoli se tato volba může zdát nepoužitelná, není tomu tak. Vezměme v potaz např. ježka se spoustou bodlin.
Dalším typem je Newtonovská fyzika (Newtonian). Ta je nejvíce podobná částicovému systému z předchozích verzí Blenderu - částice se pohybují určenou rychlostí podle nastavených sil. Reagují též na své okolí (odráží se, poskakují atp.) v závislosti na typu integrátoru. A co je integrátor? Je to určitý souhrn matematických metod, díky nimž se vypočítá výsledný pohyb částic. Integrátor lze nastavit v roletkovém menu vpravo nahoře:
Existují celkem 3 typy integrátorů:
- Euler - Nejjednodušší integrátor, částečně také proto není příliš doporučený. Všechny výpočty proběhnou sice rychleji, ale o to míň přesně a stabilně. Tento integrátor se doporučuje použít jen v případě, že jsme nastavili nějaké třecí síly. Jeho nejčastější chybou je, že po odrazu od objektu má částice ještě větší energii než předtím.
- Midpoint - nejpoužitelnější řešení ve většině případů. Je o něco pomalejší, než Euler, ale o to stabilnější a přesnější. Občas sice může docházet k nepřesnému výpočtu (větší odraz částic obdobně jako u Euler), ale to je spíš výjimka.
- RK4 - ještě přesnější (ale i pomalejší), než Midpoint. Doporučuje se používat jen v komplexních scénách, kde Midpoint nestačí.
Tlačítka, jejichž popis jsme zatím vynechali, se týkají počáteční rychlosti částic (Initial velocity). Určují, co vše ovlivní počáteční rychlost částice.
- Object - pohyb emitoru ovlivní rychlost částic (0 = bez vlivu, 1 = částice má stejnou rychlost, jako její emitor, -1 = částice má opačnou rychlost); logicky - platí jen pokud je emitor rozanimovaný
- Normal - určí krajní vzdálenost, do níž se dostane částice po normále
- Random - náhodný vektor, čím větší číslo, tím náhodněji se částice pohybuje
- Tan - tangentový vektor podél povrchu, větší číslo = částice se více snaží pohybovat po tomto vektoru
- Rot - rotuje tangentovým vektorem
- AccX, AccY a AccZ - určují sílu působící na jednotlivé částice v dané ose, směr se určuje znaménkem (kladné nebo záporné)
- Drag - odporová síla prostředí zmenšující rychlost částice (obdobně jako Damp, ovšem bere v potaz rychlost a velikost částice)
- Brownian - napodobuje Brownův pohyb (náhodný pohyb částic v kapalině či plynu)
- Damp - tření; čím větší číslo, tím pomaleji se částice budou pohybovat
Pojďme nyní prozkoumat ještě panel Rotation. Abychom si mohli vše demonstrovat, vytvoříme si objekt, u nějž budeme schopni vidět změnu rotace:
Poté přidáme Icosphere (Subdivision: 2) a přidáme jí nový částicový systém. V panelu Visualization nastavíme Object a do políčka napíšeme jméno našeho objektu. Když nyní spustíme animaci, objekty nám postupně vyplní celou oblast kolem Icosphere:
Kličové je v tomto momentě nastavení rotace šipky - to můžeme provést v Object buttons na panelu Anim settings. Doporučuji nastavit stejně jako na obrázku. Systém bude funkční i s jiným nastavením, ale výsledek bude jiný. To si může koneckonců každý sám vyzkoušet:).
Abychom naši animaci příliš nechaotizovali, stáhneme počet emitovaných partiklů na 42 (Icosphere má stejný počet vertexů) a nastavíme emitování pouze z vertexů. V panelu Visualization nastavíme Unborn, abychom viděli i ještě "nenarozené" částice. Nyní bychom měli před sebou mít něco takového:
Ještě jednou si připomeňme Particle System panel, konkrétně část Rotation:
Nastavení ani zde nejsou příliš složitá:
- Dynamic - pakliže máme aktivovanou tuto volbu, rotace částic se bude odvíjet (kromě počátečního nastavení) i od fyziky okolí
- Roletkové menu Rotation - určí, kterým směrem budou na počátku natočeny částice
- None - ve směru kladné poloosy X
- Velocity - ve směru počáteční rychlosti částice
- Random - náhodně
- Normal - podle normál
- Ostatní - podle lokálních a globálních os
Natočení podle ničeho (ve skutečnosti podél osy X)
Natočení podle normál
- Random - náhodné neměnné natočení na počátku animace
- Phase - počáteční natočení podle lokální osy X. Zvýšení tohoto čísla bude mít za následek něco takového:
- Rand - náhodné neměnné natočení kolem lokální osy X
- Roletkové menu Angular v - upřesní animaci rotace částic
- None - žádná rotace
- Spin - částice budou rotovat kolem lokální osy X rychlostí zadanou v políčku Angular v
- Random - částice budou náhodně rotovat rychlostí zadanou v políčku Angular v
Závěrem ...
Možnosti, které jsme si dnes popsali, představují jen střípek možností nového částicového systému. V příštím díle se zaměříme na Boids a Keyed fyziku, typy zobrazení a a Explode modifikátor. Těším se příště na shledanou,
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