Klotilda, hospodyně správného architekta - 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

Klotilda, hospodyně správného architekta

14. února 2006, 00.00 | No trochu podivný název, ale faktem je, že v architektonických scénách tu a tam chybí přesvědčivě podané látky, závěsy, polštáře a podobně. Podívám se tedy, jak si pomocí Klotildy, součástí modulu MOCCA, připravit právě takovéhle drobné, ale dozajista důležité prvky.

Vše si přitom ukážeme v aktuální verzi MOCCY, tedy ve verzi 2 a také v CINEMĚ 4D R 9.5. Začneme tím, že si představíme hypotetickou scénu, ve které na sedačce leží několik polštářků. No velmi snadné, pomyslí si většina, ale ono zapříčinit to, aby polštářky vypadaly přirozeně a zároveň opravdu smysluplně ležely na nějak tvarové ploše, je úkol poměrně složitý. Tedy složitý, pokud použijeme simulaci kolizí pomocí Klotildy, tak to je docela snadné, jen si uvědomit některé drobnosti.

Prvek sedačky najdeme připravený v download systému (ZDE), tedy stáhneme si jej. Na řadě je vytvoření polštářku, který bude kolidovat s touto sedačkou. Máme tedy sedačku, která má i bez HyperNURBS dostatečnou segmentaci pro generování kolizí s povrchem polštářku.

Vytvoříme si tedy nový objekt, který nebude nic jiného než primitivum Krychle. Tuto krychli necháme tam, kde je, a nastavíme její velikost tak, jak chceme mít (tedy on bude menší) velký polštář, pohozený na sedačce. Řekněme, že bude velká 140/100/100 (mimochodem jsem si z důvodu přehlednosti sedačku natočil na nulové hodnoty rotace) a segmentace polštáře bude 14/1/10.

Než budeme pokračovat, tak si krychli zkopírujeme a zmenšíme ji, třeba na 110/15/70, snížíme segmentaci na 1/1/1 a převedeme objekt na polygony. Souřadnice, tedy umístění této krychle zůstane stejné, jako krychle, ze které budeme generovat polštář. Na polygony si převedeme i původní krychli. Na obrázku je nový objekt vybraný a pojmenovaný Kolize.

Vybereme si objekt kolizního objektu – objektu Kolize a skrze menu Správce objektů > Soubor > Clothilde vlastnosti > Kolizní objekt nastavíme tomuto objektu vlastnost definující kolizi s látkou. U původní větší krychle nastavíme vlastnost Správce objektů > Soubor > Clothilde vlastnosti > Oděv. Vybereme si tuto vlastnost, přepneme se do režimu polygonů a pomocí nástroje Výběr > Smyčka z hran si vybereme vertikální vysokou smyčku polygonů.

Máme vybranou vlastnost Oděv, a tak ve Správci nastavení přejdeme na záložku Oděv. Zde máme několik parametrů, které právě nyní využijeme. Nejdříve stiskneme tlačítko Šev. polygony: Nastav, tím vybrané polygony použijeme jako švy a to znamená, že se při propočtu oděvu stáhnou k sobě na velikost hran, která je definovaná v parametru Šíře. Tam je hodnota 10 jednotek, což je vhodná velikost vzhledem k našemu modelu. Propočet oděvu probíhá v krocích a počet kroků a výslednou přesnost definujeme v parametru Kroků v řádku Propočet oděvu. Jen bychom si měli uvědomit, že vliv každého následujícího kroku je nižší než u předešlého a lze říci, že klesá s inverzí exponenciální křivky.

p align="center">

Prvotním kliknutím na tlačítko nastavení švových polygonů se tyto polygony označí žlutými kříži, které předznamenávají existenci spojení-švů. Kliknutím na tlačítko Propočet oděvu vypočítáme tvar polštáře (vypočítáme, ona to je záležitost vteřiny). Můžeme si všimnout, že v té chvíli je ikona vlastnosti Oděv žlutá. Abychom vše ukotvili do stavu, který se vypočítal, tak klikneme na tlačítko In. Stav: Nastav, kterým vše zmrazíme do výchozího stavu látky. Ikona vlastnosti se opět stane modrou.

Tak polštář máme hotový. Na moment z něj odstraníme vlastnost Oděv, protože v této vlastnosti se uchovávají informace o umístění objektu, objekt by se nám tak stále vracel na původní místo (ono tohle není zcela pravdou, pokročilý postup si ukážeme níže) a umístíme objekt tam, kde jej necháme spadnout na sedačku. Objekt Kolize, který nám pomohl při tvarování můžeme odstranit, nebudeme jej potřebovat.

Na objekt polštáře umístíme opět vlastnost Oděv tak, jak jsme si již popsali a také vlastnosti Kolizní objekt umístíme na objekty (polygonové objekty) sedačky. Tyto vlastnosti si poté vybereme a upravíme ve Správci nastavení. Zejména zvýšíme parametr Tření, aby polštář na sedačkách moc neklouzal (tento parametr se definuje u každého objektu – oděvu i kolizního objektu, zvlášť, aby bylo možné definovat různé interakce na různých objektech).

Jelikož máme na objektu polštáře nastavenou vlastnost Oděv, tak můžeme spustit animaci (Přehrát) a sledovat, cože se to bude dít (stejně tak bychom mohli spustit propočet pomocí tlačítka Relaxace na záložce Oděv stejnojmenné vlastnosti). Výsledek je vše, jen ne dobrý…

To, co se stalo, je způsobeno mnoha faktory a postupně zjistíme, které že to jsou. V prvé řadě bychom si ale měli pro testování případně trochu prodloužit nastavení animace, tedy stačí stisknout Ctrl+D a nastavit délku animace na řekněme 300 snímků.

Zpět k našemu problému. No asi každého napadne, že je to tím, že se látka-polštář protíná a nekoliduje sama se sebou. No to je částečně pravda, můžeme tedy zkusit s tím něco udělat, ale v této chvíli nám to moc nepomůže, ale přesto… Vybereme si vlastnost Oděv a přejdeme do záložky Expert, kde můžeme nastavit parametr Sebe kolize a případně zvýšit hodnotu Seg. vzorkování, což zvýší přesnost výpočtu.

Výpočet je delší a výsledek stále katastrofický. Musíme tedy zkusit něco jiného.

Přejdeme na záložku Vlastnosti, protože to je to místo, které by nám mohlo pomoci. Můžeme například zkusit zvýšit parametr Ztuhlost na 100%. Opět si zkusíme propočet a opět se na něj podíváme zhruba ve stejný okamžik, jako na předešlé stavy (to bylo ve snímku 32-33).

Výsledek je podstatně lepší než předtím, ale stále je polštář příliš „poddajný“ gravitaci a bortí se do sebe. Nejde náhodou… Jde! Můžeme zvýšit parametr Ztuhlost na hodnotu vyšší jak 100%, třeba na 300. A co se nestalo, polštáři zůstala jeho „výplň“ a chová se velmi přirozeně, i když v mé ukázce se bohužel převáží a přetočí až na sedák. Přitom ale vše probíhá tak, jak bychom očekávali a polštář se do sebe nezhroutí. V této chvíli tedy je podstatné jen umístění v prvé chvíli a také hodnota Ztuhlosti polštáře, případně hodnoty Tření a Odrazivosti.

Pokud chceme spustit polštář na jiném místě, pak doporučuji následující postup, stačí jej přemístit pak ve vlastnosti Oděv na záložce Oděv kliknout na tlačítko In. stav: Nastav. To by mělo stačit.

Jestli se někdo podíval na svůj test polštáře z boku, tak možná zjistil, že polštář nad sedačkou trochu „plave“. To mají na svědomí „bezpečnostní“ kolizní poloměry, které jsou nastavené u vlastnosti Oděv v záložce Expert. Ty zajišťují, že se oděv s kolizním objektem neprotnou. Pokud chceme, aby byly objekty blíže sobě, pak můžeme hodnoty upravit. Měli bychom přitom stále dodržovat poměry, které tyto hodnoty vůči sobě mají (tedy poloměr okolo bodu, hrany, polygonu).

Jsme-li spokojení, můžeme polohu polštáře ukotvit opět pomocí příkazu In. stav: Nastav ve vlastnosti Oděv. Docela rychlý způsob, jak vytvořit krásné polštáře, není-liž pravda, ale nejen je, tímto způsobem by šly také všechny obecné kolize měkkého objektu s tvrdým… Třeba takového silikonového kroužku (no tak, žádné chechtání), nebo slizu procházejícího nějakým koridorem kolizních objektů.

Naše druhé téma je také ze života architekta, tedy nebudeme kreslit křížky kovových výstuží v betonu a inkasovat, ale ukážeme si, jak si rychle a hlavně efektivně připravit další trochu problematický prvek, závěs.

Řekněme, že bychom chtěli vyrobit závěs, který spadá do scény, třeba padá na nějaký nábytek a ten přirozeně překrývá a přitom je zavěšený na tyči. Není nic snazšího. Tedy vytvoříme si jednoduchý primitivní objekt Rovina, nastavíme vhodně segmentaci a velikost podle scény-závěsu, aby byly polygony čtvercové a celý objekt převedeme.

Umístíme si osy objektu na místo, kde bude závěs pověšený.

Celý objekt si zkopírujeme, a natočíme okolo os tak, aby byl plochou kolmo k původnímu objektu. Mírně jej popotáhneme nahoru a přejmenujeme třeba na „vedeni“. Původní objekt můžeme mít pojmenovaný jako závěs. Smažeme všechny polygony (a body) mimo těch, které jsou na hranicích obou objektů. Velmi důležité ale přitom je, aby body obou objektů neležely přímo na sobě! Tak se totiž nedokáží analyzovat spojnice u vlastnosti „opasek“ a vlastnost závěsu bychom nebyli sto simulovat.

Umístíme si oba objekty tak, jak chceme, aby začínala simulace. Jinak při simulaci si samozřejmě můžeme (a také to uděláme) objekt vedení skrýt. Já jej ale ještě využil proto, abych na něj umístil ob dva body kroužky, za které je závěs pověšený (pomocí pluginu Chesnuts).

Vybereme si objekt závěsu a vytvoříme mu vlastnost Oděv, to už známe. Pak mu ale také vytvoříme vlastnost Opasek (Správce objektů > Soubor > Clothilde vlastnosti > Opasek). Vybereme si pak body, které chceme upevnit k objektu vedeni (který už na obrázku řídí také polohu kroužků pomocí výše zmíněného Chesnuts). Vybereme si vlastnost Opasek a do Správce nastavení, pole Opasek přeneseme jméno objektu vedení, pak, máme-li vybrané body, stiskneme tlačítko Body: Nastavit. V editoru se nám zobrazí „táhla“, na kterých je závěs upevněný.

U výše uvedeného si musíme dát pozor na následující drobnosti. Normály objektu vedení jsou poměrně důležité, může se stát, že se nevytvoří požadovaná spojení, pak je původ v nedostatečné analýze vzájemných normál a bude potřeba buďto normály správně zarovnat, nebo jedním z objektů v jednom směru (dopředu – dozadu) velmi nepatrně hnout, aby byly rozdíly mezi normálami jednotlivých bodů obou objektů více rozdílné. Pak by neměl být problém.

Co dál. Nastavíme kolizní objekty všemu, co chceme, aby s látkou kolidovalo a nastavíme také látku, ale tomu jsme se již věnovali. Pokud nechceme, aby nám závěs příliš povlával, tak můžeme upravit parametr vlastnosti Oděv > Zdvihání větrem.

V současné chvíli můžeme animovat již jen jeden objekt, a to vedení, jeho velikost v jednom směru, umístění a podobně a vše ostatní se bude jevit automaticky, závěs se bude chovat jako živý. Samozřejmě v případě nutnosti zvýšení přesnosti efektu musíme zvýšit hodnoty v záložce Expert (viz výše), případně upravit vlastnosti jednotlivých parametrů všech objektů, ale to jsme si již popsali a důležitý je princip…

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: