3ds Max: reactor - 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: reactor

19. července 2007, 00.00 | Zdravím vás u mého dalšího tutoriálu. Tentokrát bych se chtěl věnovat základům skvělého simulačního pluginu reactor, vytvořeného firmou Havok (od verze 5 je tento plugin
již interně v Maxu). Reactor simuluje realistické chování různých druhů objektů, počínaje klasickými tuhými tělesy (Rigid Bodies), přes měkká tělesa (Cloth Bodies),
až po chování auta. My si v tomto tutoriálu ukážeme simulaci pevných a měkkých těles. Návod je určen mírně pokročilým uživatelům 3ds Maxe.

Zdravím vás u mého dalšího tutoriálu. Tentokrát bych se chtěl věnovat základům skvělého simulačního pluginu Reactor, vytvořeného firmou Havok (od verze 5 je tento plugin již interně v Maxu). Reactor simuluje realistické chování různých druhů objektů, počínaje klasickými tuhými tělesy (Rigid Bodies), přes měkká tělesa (Cloth Bodies), až po chování auta. My si v tomto tutoriálu ukážeme simulaci pevných a měkkých těles. Návod je určen mírně pokročilým uživatelům 3ds Maxe.

Tuhá tělesa

Na počátek si uděláme malou ukázku jednoduchého jevu, kterým je kolize pevných objektů. Než ale začneme s tvořením scény, pro správnou simulaci chování objektů si nastavíme v Maxu jako jednotky velikosti centimetry (Customize->Unit Setup->Metric-> Centimeters). Objekty ve scéně se pak snažme vytvářet alespoň přibližně podle skutečných velikostí.

Vytvořme si Plane jako "desku", na které se bude vše odehrávat (u té na velikosti nezáleží). Poté do scény přidejte objekt, který bude narážet do jiných objektů (u mne to bude koule o průměru 15 cm), a pak pár objektů, které budou "přijímat ránu" – u mne to bude atrapa cihlové zdi (moje cihla má trochu větší rozměry 40 x 20 x 10 cm. Počáteční scéna tedy vypadá takto.

Při vytváření scény si dávejte pozor, aby žádný objekt nekolidoval s jiným, reactor potom může vyhazovat různé chyby.

Nyní již k samotnému reactoru. V záložce Utilities v pravém horním menu si otevřete záložku reactor. V záložce Havok 1 World vidíte nastavení simulačního "světa". Gravitaci nechte na původní hodnotě, World Scale by měl být rovný 100 cm. Collision Tolerance však zmenšíme na 2 cm. Je to hodnota tolerance objektů, které spolu kolidují. Čím přesnější a realističtější chceme animaci mít, tím menší toleranci musíme nastavit, bohužel na úkor času potřebného k vypočítání simulace.

Nyní přejdeme k nastavování objektů. Vyberte všechny cihly (nebo jiné objekty, které mají „přijímat“ náraz) a v záložce Properties v reactor menu nastavte Mass (váha) na 1 kg, Friction (tření) nechte na původní hodnotě a Elasticity (pružnost) změnte na 0, neboť nechceme, aby nám cihly nějak tlumily náraz. V Simulation Geometry nabídce vybereme Proxy Covex Hull, poté klikneme na tlačítko , které je níže, a vybereme jednu z cihel. Tímto jsme reactoru zadali, jaký tvar má pro simulaci cihly použít.

Nyní ke kuličce. Aby mohla dobře cihly rozrazit, dáme jí větší hmotnost, řekněme 15 kg. Friction i Elasticity nastavme na 0, neboť momentálně nepotřebujeme, aby nám kulička zbytečně zpomalovala. Opět vybereme Proxy Convex Hull pro simulaci tvaru a jako tvar nyní vybereme naši kuličku.

Teď musíme kuličce zadat počáteční rychlost a směr. Ve spodní liště tedy zapneme Auto Key (časová osa nám hezky zčervená) a klikneme na tlačítko s obrázkem klíče. Tímto jsme vytvořili tzv. klíčový snímek, který udává kuličce, kde se nacházi v 1 okénku naší animace. Teď kuličku posuňme těsně k cihlové zdi. Potom se pomocí posuvníku na časové ose posuneme do snímku 10 a vytvoříme další klíčový snímek. Nyní můžete funkci Auto Key vypnout. Když nyní posouváme posuvníkem, vidíme, že kulička se již pohybuje z výchozího bodu do dalšího, teď již blízko cihel. Tím jsme zadali počáteční animaci, ze které bude reactor čerpat při simulaci.

Ještě předtím, než přejdeme k simulaci, musíme reactoru sdělit, která tělesa ve scéně má započítat do simulace. V panelu Creater vybereme záložku Helpers, Reactor a vytvoříme objekt RBCollection (Rigid Body Collection – Sbírka tuhých těles). Umístíme jej libovolně do scény. V nastavení RBCollection objektu klikneme na tlačítko Add a z nabídky vybereme všechny objekty (včetne "podlahy"). Tímto jsme přidali do seznamu pevných těles všechny objekty ve scéně. Podlaze jsme úmyslně nenastavovali žádnou hmotnost, aby nám nepadala, nicméně jsme ji ale dali do seznamu pevných těles, aby nám přes ni kulička a cihly nespadly. Přesto jí ale musíme do simulace tvaru nastavit Concave Mesh, jinak nám reactor bude házet chyby.

Nyní již můžeme přejít k samotné simulaci. Otevřeme záložku Preview & Animation v liště reactoru. Jako počáteční snímek (Start Frame) si zvolíme snímek číslo 5. To proto, že kdybychom zvolili snímek č. 10, tak se nám kulička prvních 10 snímku bude pohybovat ke zdi a poté se prostě zastaví. Když vybereme snímek zhruba uprostřed, reactor umí vyčíst z animace směr a rychlost simulovaného objektu. Jako konečný snímek nám tentokrát postačí základních 100.

Nyní již stiskneme tlačítko Preview in Window a počkáme, než se nám vypočítá animace. Když nám vyskočí okénko s animací, pomocí klávesy P ji můžeme přehrát. Pokud je vše v pořádku a kulička vám svižným tempem rozrazila cihly, tak vám gratuluji, dosáhli jste prvního cíle tohoto tutoriálu. Když jste s animací spokojení, stisknete tlačítko Create Animation, jenž převede animaci již snímek po snímku do Maxe. S tímto ovšem opatrně, neboť poté můžete mít problémy udělat novou animaci (např. pouze jinak poskládáte cihly apod.). Nejlepší je proto si scénu před přenášením animace do Maxe uložit.

Zde si můžete prohlédnout moji animaci, kterou jsem později v Maxu vyrenderoval a uložil do AVI formátu.

Měkká tělesa

Takže teď se podíváme na simulaci měkkých látek (Cloth Bodies). Tak jako reactor umí pracovat s pevnými tělesy, dokáže to také s měkkými a pružnými nebo dokáže simulovat chování oblečení na těle člověka (využívá se např. v počítačových efektech do filmů). Ukážeme si to na malém příkladu.

Vytvořme si novou scénku s jedním boxem, nad který umístíme Plane se segmenty 10 x 10 (čím více segmentů nastavíte, tím složitější bude scéna na výpočet). Samozřejmě udělejme i podlahu (taky z planu).

Na Plane, nacházející se nad boxem, aplikujeme modifikátor reactor Cloth. Dejte si pozor, aby se vám plane (ten horní) neprotínal s boxem. V modifikátoru reactor Cloth jen zaškrtněme Avoid Self-Intersections, který zabraňuje, aby přes sebe látka pronikala (zvýší ale čas výpočtu). Hmotnost (Mass) můžete ponechat na původní hodnotě, nebo trochu zmenšit (přece jenom kilový ručník asi doma nemáte).

Nyní přes záložku reactor v Helpers menu Create vytvoříme RBCollection a CLCollection (Cloth Collection). Do RBCollection přidejte box a spodní plane, do Cloth horní plane. Označte oba plany a ve vlastnostech reactoru jim přiřaďte simulaci tvaru přes Concave Mesh. Box můžete nechat tak, jak je. Teď se můžete podívat na výslednou simulaci.

Pokud jste vše udělali správně, měl by "ručník" spadnout na box a víceméně reálně se na něm usadit. Jistě ale vidíte, že ručník vypadá takto trochu divně. Nicméně dejte Create Animation (předtím si soubor uložte!), aby se animace převedla do Maxu. Když máme hotovo, tak na "ručník" aplikujeme TurboSmooth s Iteractions 2 (počítač by to měl zvládnout :) ) a teprve nyní se podíváme na animaci. Vypadá jíž mnohem lépe, že?



Nyní si můžete znovu nahrát soubor před převodem animace do Maxe. Trochu si pohrajeme s nastavením látky. Vybereme modifikátor reactor Cloth na našem ručníku. Stiffness (Tuhost) nastavíme na 0,08 a Damping (Tlumení) na 0,01. Znovu vytvořme animaci (udělejte hned Create Animation). Jistě si nyní všimnete rozdílu, že ručník se teď choval jinak, jakoby byl z mnohem měkčí a poddajnější látky. Takovýmto nastavováním lze dosáhnout velmi realistických výsledků, jde jen o to si s nastavením dostatečně vyhrát. Nakonec, pokud chcete dosáhnout ještě reálnějších výsledků, můžete na ručník aplikovat modifikátor Shell, který nám plane vytáhne do prostoru.

Na moji výslednou animaci se můžete podívat zde.

Takže tímto bych zakončil tento tutoriál o základních možnostech reactoru (a je jich opravdu mnoho). Jiný článek o reactoru, konkrétně o Fracture modifikátoru, již zde byl publikován a myslím, že stojí za to si ho přečíst.

Tématické zařazení:

 » 3D grafika  

Diskuse k článku

 

Vložit nový příspěvek   Sbalit příspěvky

 

Zatím nebyl uložen žádný příspěvek, buďte první.

 

 

Vložit nový příspěvek

Jméno:

Pohlaví:

,

E-mail:

Předmět:

Příspěvek:

 

Kontrola:

Do spodního pole opište z obrázku 5 znaků:

Kód pro ověření

 

 

 

 

 

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

Uživatelské jméno:

Heslo: