3ds max: Simulace rozbití sklenice pomocí fracture - 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: Simulace rozbití sklenice pomocí fracture

5. října 2004, 00.00 | V tomto návodu se naučíte používat pokročilejší princip modulu reactor pro efekt rozbití sklenice pomocí nástroje Fracture. Nejdříve vymodelujete sklenici, kterou poté připravíte pro animaci v reactoru.

Tento návod je koncipován jako rozšíření možností modulu reactor v 3ds max 6, jehož základní možnosti byly popsány v již publikovaném návodu. Zde se zaměříme na pokročilejší funkci fracture, pomocí níž budete schopni vytvořit simulaci padajícího objektu (zde sklenice), který se při dopadu rozbije. Návod rozdělíme na dvě části (modelování a simulace).

  • Bude třeba připravit si následující nástroje a objekty: zemi, o níž se sklenice rozbije a samotnou sklenici. Sklenici vytvořte jednoduše pomocí profilu sklenice v podobě křivky a použitím nástroje Lathe pro vytvoření 3D sklenice. Přibližnou podobu vidíte na následujícím obrázku, kde vpravo je zobrazen profil sklenice a vlevo hotová sklenice. V tomto okamžiku však nejde o přesné modelování sklenice. Podstatnou okolností však zůstává, aby sklenice měla určitou tloušťku. Profil vytvoříte pomocí menu Create > Shapes > Line a následnou aplikací modifikátoru Lathe získáte požadovanou sklenici.

modelovaná sklenice

  • Dále vytvořte zemi - stačí objekt Plane (Create > Standard Primitives > Plane). Dříve, než přistoupíme k samotné simulaci, je nutné zapamatovat si tento fakt: Modul Fracture v rámci reactoru akceptuje pouze objekt, který je již rozdělen na části, které jsou vlastně předdefinované střepy. Jinak by simulace nefungovala. V rámci zachování interaktivity snižte počet segmentů modifikátoru Lathe na přijatelných 12 z původních 16.
  • Dále tedy zkonvertujte sklenici na typ Editable Poly (pr.tl. myši klepněte na sklenici Convert To > Editable Poly) a aplikujte na ni několikrát modifikátor Slice. Čtyřikrát to bude pro ilustraci stačit. Poté v zásobníku modifikátorů klepněte na první (spodní) Slice, vstupte do módu Sub-object > Slice Plane a pomocí řezné roviny Slice Plane veďte napříč sklenicí libovolný řez, jak vidíte na následujícím obrázku. Nezapomeňte také aktivovat volbu Split Mesh (rozdělit síťovinu), pomocí níž dojde k fyzickému rozdělení síťového modelu na dvě části.


modelovaná sklenice

  • Totéž proveďte se zbývajícími řeznými rovinami. Vyberte si libovolné řezy a vytvořte jich kolik chcete podle Vašeho uvážení. Čím méně jich bude, tím bude simulace rychlejší. S animací kusů sklenice si poradí modul reactor. Příliš se však nad tvarem střepů netrapte.
  • Až budete s řezáním všech modifikátorů Slice hotovi, vystupte z módu Sub-object > Slice Plane nejvýše položeného modifikátoru Slice. Dále si vytvořte kopii (Copy) této sklenice pomocí kláves Ctrl+V a odstraňte ze zásobníku všechny modifikátory Slice. Získáte tak původní sklenici bez řezů. Nazvěte ji Proxy a skryjte ji.
  • Pak znovu zkonvertujte nařezanou sklenici (s aplikovanými Slice modifikátory) na typ Editable Poly. Nyní u ní vstupte do módu Sub-object > Element a vyberte postupně všechny dílčí elementy vzniklé řezáním a oddělte je od objektu příkazem Detach, jak ukazuje další obrázek.

Řezání sklenice

  • Až budou všechny elementy samostatné (můžete s jednotlivými střepy hýbat nezávisle na ostatních), vyberte je všechny včetně země Plane a vytvořte sbírku RB Collection klepnutím na hlavní menu reactor > Create Object > Rigid Body Collection. Panel Modify bude vypadat podobně jako na dalším obrázku (záleží na počtu vámi vytvořených střepů). V mém případě je to 10 kusů (Object01-Object10).

RB sbírka

  • Pak vyberte pouze všechny střepy a klepněte na hlavní menu reactor > Create Object > Fracture. Tím se do pomocného objektu Fracture načtou všechny střepy pro simulaci. Vyberte pak ve výřezu ikonu pro Fracture a v panelu Modify změňte hodnoty tak, jak ukazuje další obrázek.

Fracture

  • V modifikačním panelu můžete s vybraným pomocným objektem Fracture nastavit čas rozbití sklenice také podle snímků. Stačí vybírat jednotlivé střepy v okně Pieces a experimentovat s nastavením snímků. Tak například střep Object09 se oddělí od střepu Object03 (noha skleničky) ve snímku 60, jak ukazuje následující obrázek. Začátek oddělování ostatních střepů je nastaven na snímek 33. Nejdříve sklenice dopadne na zem, lehce se odrazí (mezičas tři snímky) a poté se začne štěpit.

   Definice oddělení střepů

  • Nižší hodnotou Impulse (náraz) způsobíme to, že prahová hodnota pro oddělení střepů od objektu Fracture bude dostatečně nízká a střepy se tak ihned po dopadu na zem začnou vzájemně oddělovat. Čím vyšší je hmotnost střepů (Mass - viz obrázek níže) a čím vyšší rychlost padající sklenice, tím je zároveň větší náraz. Parametrem Energy Loss určujeme, že střepy při dopadu a kolizích ztratí 25 procent své kinetické energie. Nebudou tedy tolik poskakovat. Nakonec vyberte všechny střepy, aktivujte panel Utilities a klepněte na tlačítko reactor. V části Properties nastavte pro všechny střepy následující hodnoty:

Fyzikální vlastnosti střepů

Parametry jsou dostatečně zřejmé: Mass=Hmotnost (přehnaná kvůli lepšímu útlumu pohybu střepů při dopadu na zem), Elasticity=pružnost, Friction=tření. S hodnotami však experimentujte.

Důležité je, abyste nyní do simulace (do RB Collection) přidali i proxy verzi sklenice se stejnými vlastnostmi jako jednotlivé střepy (Mass=1,42 kg,...). Tím budou vlastně padat dvě sklenice zároveň a až do dopadu budou zakrývat jedna druhou - jedna nařezaná na střepy (obsažená ve Fracture i RB Collection) a druhá zahrnutá pouze v simulaci reactoru (RB Collection). Máme tak zajištěn synchronizovaný pohyb všech objektů.

Parametry pro zemi Plane nastavte v panelu Utilities > reactor takto:

Hmotnost a elasticita

  • Země tak získá nulovou hmotnost a bude v simulaci nehybná. Náhled simulace spusťte tlačítkem Preview animation.

Náhledové okno

  • Pokud se vám bude simulace líbit, můžete náhledové okno opustit a klepnout na tlačítko Create animation (viz předchozí obrázek). Tím se vytvoří klíče pro jednotlivé fragmenty.
  • Nyní přistoupíme k vysvětlení vytvoření kopie sklenice (nerozřezané). Pokud byste chtěli renderovat scénu pouze se skleničkou připravenou pro simulaci v nástroji fracture, byly by na sklenici viditelné řezy. Bylo by tedy zjevné, že sklenice je již připravená k rozbití. To však není žádoucí, a proto přistoupíme k následujícímu:

    Neporušenou proxy sklenici necháme renderovat až do doby, kdy sklenice dopadne na zem a začne se rozbíjet (to zjistíte přehráním vytvořené animace). V tento snímek (v našem případě to byl snímek číslo 30 - sklenice proxy se dotýká země a začne praskat) nastavíte pro proxy sklenici parametr Visibility (viditelnost) na hodnotu 0. Do té doby byla viditelnost nastavena na hodnotu 1. Tj. proxy je vidět až do snímku 30 (resp. 29, tj. bez samotného snímku 30).
    Naopak, všechny střepy (Object01-Object10) byly až do snímku 30 (resp. 29, tj. bez samotného snímku 30) neviditelné (Visibility=0), avšak po dosažení snímku 30 bude prudkým přechodem nastavena Visibility=1. Tím přebírá úlohu simulace reactoru se střepy.
  • Předchozí teoretickou úvahu převedeme do praxe. Vyberte Proxy sklenici a stiskněte tlačítko Auto pro záznam animace. Přesuňte časového jezdce na snímek 30, klepněte pr.tl. myši na proxy sklenici a nastavte parametr visibility na 0, jak ukazuje další obrázek:

Visibility

  • Totéž, ale s opačnou hodnotou visibility proveďte se zbývajícími střepy. Avšak předtím, než budete parametr animovat, nastavte jejich visibility na hodnotu 0. Pak zapněte tlačítko Auto, přesuňte se na snímek 30 a nastavte hodnotu visibility na 1.

  • Posledním krokem bude nastavit interpolaci mezi hodnotou viditelnosti proxy sklenice a střepů na ostrý přechod na snímku 30. Tj. Proxy sklenice na snímku 30 zmizí - visibility=0 (do té doby bude zcela viditelná, tedy visibility=1). Střepy budou naopak až do snímku 30 neviditelné - visibility=0 (poté se na snímku 30 náhle objeví a vymění se za proxy sklenici, tj. jejich visibility bude na snímku 30 rovna hodnotě 1). Tento postup si ukážeme na proxy sklenici v Track View - Curve Editoru.
  • Až budete mít zanimovaný parametr visibility u proxy sklenice, vyberte ji a klepněte na ni pr.tl. myši. Vyberte Curve Editor a až se objeví editor křivek, klepněte na záznam Visibility. Poté vyberte levý kraj křivky na snímku 0 a klepněte na něj pr.tl.myši. Přechody v klíčích změňte na typ "ostrý" schodovitý (Step Tangents), jak ukazuje další obrázek.

Curve Editor

Na obrázku tak vidíte vše podstatné. Na snímku 0 (první klíč) je hodnota viditelnosti proxy sklenice rovna 1 a podle tvaru křivky lze také poznat, že hodnota se změní schodovitě až na snímku 30. Tím je animace hotová. Střepů je možná více než by bylo v realitě, ale smyslem návodu bylo ukázat praktický postup, který lze začlenit do složitějšího a reálnějšího prostředí. V Curve editoru byl též upraven čas padání sklenice - nejdříve několik snímků na začátku animace je nehybná (do 13. snímku), poté rychleji spadne a nakonec jsou  střepy 27 snímků před koncem animace (ta má celkem 100 snímků) opět nehybné. To bylo docíleno výběrem všech klíčů v Curve Editoru a změnou jejich měřítka, jak ukazuje poslední obrázek.

Zmenšení rozsahu klíčů

Vytvořený materiál není podstatný, ale hrubý materiál skla je na sklenici aplikován. Můžete si také prohlédnout animovanou ukázku. Pokud budete mít s návodem problémy, pište na .

Tématické zařazení:

 » 3D grafika  

 

 

 

 

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

Uživatelské jméno:

Heslo: