3ds max: Animace metaballů (Blobmesh) - 3D grafika - 3Dscena.cz: 3D grafika jako na dlani

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

3ds max: Animace metaballů (Blobmesh)

9. prosince 2004, 00.00 | Tento návod vám objasní princip použití metaballů v 3ds max, jejich animaci a také základy Particle Flow. Podíváme se na napodobení pohybu husté tekutiny pomocí smíšeného objektu Blobmesh.

V tomto návodu se seznámíme s možností UOmniFlectoru (univerzální verze omniflektoru - viz dále) a jeho použití v animaci metaballů maxe, tj. BlobMesh. Blobmesh představuje smíšený objekt, který najdete v menu Create > Compound > Blobmesh, a lze jej použít zejména pro simulaci hustých tekutin. Když jsou částice Blobmesh dostatečně blízko u sebe, spojí se a utvářejí jakýsi slitý tvar. Když se od sebe naopak vzdálí, odlepí se a získají zpět svůj sférický tvar. Tento návod lze s jistými modifikacemi použít na jakýkoli tok tekutin, záleží na tom, jak si nastavíte parametry objektu Blobmesh.

A co si v tomto návodu vysvětlíme? Nastavíme částicový systém tak, aby tekutina protékala námi vytvořeným loft objektem. Budeme zde potřebovat tyto nástroje:

  • Zdroj Particle Flow (menu Create > Particles > Particle Flow Source).
  • Gravitace (menu Create > SpaceWarps > Forces > Gravity).
  • Deflektor typu OmniFlector (menu Create > SpaceWarps > Deflectors > UOmniFlect)

Nejprve vytvořte jednoduchý objekt Helix (menu Create > Shapes > Helix) a také Donut představující dvě soustředné kružnice. Vizuálním vodítkem může být následující obrázek. Helix nevytvářejte zbytečně složitý, jde o demonstraci efektu, nikoli o reálnou simulaci.

Vyberte Helix, pak klepněte na menu Create > Compound > Loft, dále aktivujte tlačítko Get Shape (získat tvar), jak ukazuje další obrázek.

Poté klepněte ve výřezu na objekt Donut a vytvoří se objekt, který bude představovat trubku, kudy bude protékat tekutina. Přibližný tvar vidíte na dalším obrázku. Donut může být větší v průměru, aby byla trubka dostatečně široká pro průchod tekutiny. Hotovou trubku vidíte na dalším obrázku. Můžete objekt Loft zkonvertovat na Editable Poly (klepněte na trubku pr.tl. myši a vyberte Convert To > Editable Poly).

Pro lepší vizuální vzhled můžete přidat trubce tloušťku aplikací modifikátoru Shell (i s jeho referenčními hodnotami), jak ukazuje další obrázek.

 

Ještě než postoupíme dále, přiřaďte trubce průhledný materiál, abychom mohli sledovat tok částic uvnitř trubky. Stiskněte tedy klávesu M (editor materiálů) a přiřaďte trubce vzorek z prvního slotu. Nastavte u něj hodnotu parametru Opacity na 30. Viz další obrázek.

Nyní máme nastavenu geometrii, stačí jen přidat částicový systém, gravitaci a deflektor a vše zanimovat. Do scény tedy přidejte v horním pohledu objekt Gravity buď z hlavního menu (viz úvod) nebo podle následujícího obrázku z příkazového panelu.

Po vytvoření nastavte sílu gravitace (parametr Strength) na hodnotu 0,4. Jako další prostorový deformátor zvolte UOmniFlect. V příkazovém panelu jej najdete podle následujícího obrázku. Tentokrát jde o deflektor ("odrážeč" částic) nikoli o silový efekt (Forces) jako je to v případě gravitace nebo například větru.

Jako poslední a nejdůležitější prvek nastavíte zdroj toku částic - particle flow source, tj. základní emitor. Vyberte ho z hlavního menu podle pokynu v úvodu a nastavte ho pomocí transformace otáčení tak, aby směřoval přímo do otvoru trubky. Všechny potřebné deformátory včetně popisků i particle flow source vidíte na dalším obrázku.

Nyní přistoupíme k provázání všech deformátorů. Základním příkazem je Bind To Space Warp (připojit k prostorovému deformátoru) a tuto ikonu najdete jako pátou zleva na hlavní nástrojové liště. Vyberte tedy PF Source 01, klepněte na ikonu Bind To Space Warp, podržte levé tlačítko myši nad PF Source 01, přetáhněte kurzor myši nad UOmniFlect a až se ukáže ikona pro svázání, pusťte levé tlačítko myši. Totéž proveďte s připojením PF Source ke gravitaci. To, že se spojení podařilo poznáte tak, že v modifikačním panelu se v zásobníku nad PF Source objeví dva záznamy o připojení, jak ukazuje další obrázek. Na pořadí těchto dvou záznamů nezáleží.

V tomto okamžiku máme deformátory pospojované, je třeba však upravit některé parametry jednotlivě. U gravitace nastavte sílu na 0,4, jak jsme řekli, a Decay (tj. parametr, který způsobuje pokles síly gravitace s narůstající vzdáleností částic od ikony gravitace. Zvyšujete-li hodnotu Decay, částice budou se vzdalováním od ikony Gravity ztrácet sílu, jíž na ně gravitace působí) na 0,01.

Dále vyberte UOmniFlect01, v modifikačním panelu klepněte na tlačítko Pick Object a ve výřezu vyberte trubku (Loft01). V modifikačním panelu se u deformátoru UOmniFlect01 objeví objekt Loft01, jak ukazuje další obrázek.

Co vlastně UOmniFlect způsobuje? Jakmile částice detekují kolizi s objektem (v našem případě s Loft01), odrazí se od jeho povrchu podle hodnot definovaných v modifikačním panelu. K těm se dostaneme nyní. Vyberte ve výřezu ikonu PF Source01 a vstupte do modifikačního panelu. V zásobníku vyberte záznam PF Source01 a klepněte na tlačítko Particle View, které vidíte na dalším obrázku.

 

Otevře se dialogové okno s nástrojem Particle Flow (dále jen PF). Jeho bližší popis přesahuje rámec tohoto návodu, odkazuji tedy na dostupnou literaturu. Zde se zaměříme na nejpodstatnější prvky pro naší animaci. Jen připomeneme, že jde o částicový systém řízený událostmi (Event-driven-PS). Jde o vynikající nástroj pro nastavování složitějších efektů, neboť zde máte celistvý přehled nad komplexními vztahy mezi deformátory. Po otevření uvidíte dvě okna (zdroj částic PF Source 01 a událost Event 01), která určují základní pravidla a nastavení našich částic. Ještě v úvodu nastavte rychlost částic na hodnotu 300 (klepněte v události Event 01 na operátor Speed 01 a v pravé vertikální části PF zadejte hodnotu Speed=300). Nastavte zde též rození částic (klepněte v události Event 01 na Birth 01 a vpravo zadejte hodnoty): Emit Start = 0, Emit Stop = 200, Amount (celkové množství částic emitovaných od snímku 0 do snímku 200) = 200. V našem případě bude každý snímek generována jedna částice.    

Následující obrázek se bude lišit od vašeho, protože jste ještě do události Event 01 v PF nepřidali dvě deformace nastavené ve výřezu. Tedy UOmniFlect a Gravity. Ty vidíte označené (a již přidané) na dalším obrázku.

Přesuňte je sem z dolní části PF (z tzv. skladu - Depot) tak, jak ukazuje předchozí obrázek. Jen pro upřesnění: modré ikony se nazývají operátory a žluté ikony představují testy. Klepněte v události Event 01 na operátor Force 01 a v pravé horní vertikální části PF vyberte pod oknem Force Space Warps na tlačítko Add a vyberte námi vytvořenou deformaci Gravity. Ta má již hodnoty nastavené "vně" PF a to v modifikačním panelu. Particle Flow vypadá po přidání gravitace jako na dalším obrázku.

Poté klepněte v události Event 01 na test Collision 01 a podobně podle následujícího obrázku nastavte deflektor UOmniFlect.

Všimněte si také, že Test je nastaven takto: Test je vyhodnocen jako "pravda", pokud částice kolidují s deflektorem. Jestli se tak stane, pak je nastavena jejich rychlost na Bounce (odrazí se). Hodnota Bounce se nastavuje u deformátoru UOmniFlect v modifikačním panelu. Nyní ve výřezu vyberte UOmniFlect01 a přejděte do modifikačního panelu. Hodnoty by měly být nastaveny podle následujícího obrázku. Nejpodstatnější jsou dva parametry - Bounce a Time Off. Prvním z nich nastavíte odrazivost částic. Tu nastavme na 0 (tekutina by se neměla tolik odrážet). Time Off, tedy konec efektu, kdy se částice přestanou odrážet od trubky, nastavíme na 200.

Podle toho nastavte i animaci. Klepněte pr.tl.myši na tlačítko Play pro přehrání scény a v dialogu Time Configuration nastavte délku (Length) animace na 200 a klepněte na OK. Viz další obrázek.

Je čas přehrát si scénu. Částice v podobě malých křížku vycházejí z PF Source 01, vnikají do trubky, odrážejí se v ní, cestují dolů a nakonec z trubky vylétnou a padají dolů. Základní efekt průtoku kapaliny máme za sebou. Nyní jen zbývá  přidat do animace metaball Blobmesh, aby částice nevypadali jako křížky (resp. v renderu), ale alespoň připomínaly slévající se částice (podobně jako rtuť). Vytvořte kdekoli v perspektivním výřezu jedním klepnutím Blobmesh z příkazového panelu podle dalšího obrázku.

Vyberte jej a v modifikačním panelu nastavte Tension na 0.3. Pozor: Hodnota Size určuje velikost (poloměr) každého Blobmeshe pro objekty jiné než částice. Velikost částic se v našem případě bude přebírat z PF, kde je definována velikost částic. V našem případě tato hodnota nemá žádný efekt. Na dalším obrázku vidíte, že objekt Blobmesh skutečně přebírá parametry částic a to proto, že jsme klepli na tlačítko Add a vybrali PF Source 01. Tím se na generované částice "nabalí" Blobmesh a ten bude přebírat vlastnosti částic. Proveďte tento krok.

Velikost částic (tudíž i Blobmesh) nastavíte v PF v události Event 01 - operátorem Shape. Ten nastavte na hodnotu 10 a typ nastavte na Sphere, jak ukazuje následující obrázek.

Vysvětlíme si nyní parametr Tension, který najdete v modifikačním panelu u Blobmeshe. Parametr variuje v rozmezí 0-1. Za jinak stejných okolností, nízké hodnoty způsobí volnější a "neslitý" vzhled Blobmeshe. Zároveň se tím mění i velikost částic (budou větší). Vyšší hodnoty parametru Tension způsobí větší tenzi mezi částicemi, vzhled bude více "těsnější, slitý a spojitý". Zároveň se tím mění i velikost částic (budou menší). Na dalších obrázcích vidíte porovnání dvou nastavení: Parametry: Shape Size u obou na hodnotě 10, vlevo Tension =1, vpravo Tension = 0,01.

 

Pokud se vám zdá, že je Blobmesh i tak veliký, snižte hodnotu Size v PF u operátoru Shape. Základem je samozřejmě experimentování a kombinace těchto hodnot. Můžete si prohlédnout ukázku animace (Shape Size = 9, Tension 1) nebo načíst zdrojový soubor a prostudovat nastavení. Přiblížili jsme tedy postup a je na vás jaké kombinace hodnot zvolíte.

Tématické zařazení:

 » 3D grafika  

 

 

 

 

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

Uživatelské jméno:

Heslo: