Přehled nových funkcí v Blenderu (11. část): Částice (1/3) - 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:



Střední formát

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 Ikonka Particle buttons. Nyní stačí přidat nový částicový systém tlačítkem Add New:

Přidání nového částicového systému
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é:

Nastavení částicového systému
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:

Particle System panel

  • 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
Některá nastavení se zobrazí jen u určitého druhu částic. Pojďme se nyní podívat na odlišné typy čá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 %)
Všechny parametry ve sloupečku napravo se týkají emitování a rozmístění particlů. Pojďme se podívat, jak budou změny na oněch parametrech působit v praxi. Plane, který jsme si přichystali, rozřežeme Loop Cutem na více částí:

Rozřezaný plane

Pokud nyní spustíme ALT+A animaci, uvidíme, jak se částice budou emitovat postupně z každého face zvlášť:

Emitované particly

Připomeňme si ještě Particle System panel:

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ů:

Distribuce particlů bez Even

Distribuce particlů bez Even

Pokud zatrhneme volbu Even, částice se nám budou distribuovat rovnoměrněji:

Rovnoměrná distribuce

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ě:

Particle System panel podruhé
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.

Bake panel

Physics

Tento panel určuje typ fyziky použitý k výpočtu pohybu částic. Vybírat můžeme z roletkového menu:

Physics panel

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:

Physics panel podruhé

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
Global effects
  • 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:

Objekt

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:

Spousta objektů

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:).

Anim settings panel

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:

Vše natočeno v jednom směru

Ještě jednou si připomeňme Particle System panel, konkrétně část Rotation:

Physics panel podruhé

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

Žádné natočení
Natočení podle ničeho (ve skutečnosti podél osy X)
Natočení podle normál
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:

Změna fáze

  • 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í:

 » Rubriky  » VSE  

 » Rubriky  » 3dscena  

 » Rubriky  » Go verze  

 » Rubriky  » 3D grafika  

 

 

 

 

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

Uživatelské jméno:

Heslo: