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
Jak na inverzní kinematiku v Cinemě 4D, nejen ve verzi 8
18. února 2003, 00.00 | Na schematickém modelu si vyzkoušíme základní chování inverzní kinematiky a zjistíme, že je to technologie, která nám může zásadně ulehčit práci při tvorbě animací.
{1. část}
Před časem jsem byl otázán jedním přítelem, zda bych nepřipravil nějaký tutoriál, že by si chtěl zkusit něco nového. Pak se vyskytla nutnost použít při jednom svém výtvoru inverzní kinematiku a pojal jsem ideu, že to bude to pravé.
Tedy Inverzní kinematika. K čemu je to vlastně dobré? Pomocí inverzní kinematiky můžete ovlivňovat chování nadřazených objektů pohybem objektu podřízeného, či dokonce objektem, který s danou skupinou nemá nic společného, tedy zdánlivě, tím myslím, že není ve stejné struktuře. Další možnosti, které tato technologie nabízí, jsou omezení pohybu jednotlivých objektů a to samozřejmě v závislosti na ostatních souvisejících objektech. Tedy je toho dost, co vám tato technologie nabízí a také toho dost dokáže usnadnit. Představte si následující příklad. Na nějaké měsíční základně je satelit a ten sleduje cílový objekt, třeba nějaké těleso. Stojan tohoto satelitu se otáčí kolem své osy směrem k pohybujícímu se tělesu a rameno, na kterém je umístěna samotná parabola, rotuje výškově opět směrem k cílovému objektu. U všech objektů jsou samozřejmě nastavena úhlová omezení a takto připravená animace nepotřebuje nic jiného než nastavit polohu cílového objektu. A aby to nebylo tak fádní, tak je celý satelit doplněn o drobnosti, jako jsou písty, které se stahují do sebe a kabel, který se deformuje podle polohy ramena vůči stojanu. Jako na mém obrázku a animaci.
Jelikož by zřejmě bylo zbytečné modelovat společně celý satelit, tak si toto chování vyzkoušíme na jednoduchém modelu, který nám bude při troše fantasie satelit nahrazovat. Základ tohoto modelu budou tvořit dva poupravené kvádry o rozměrech 15*15*100 a na dvou protilehlých stranách vytvoříme pomocí funkce Vytažení dva výstupky. Souřadný systém tohoto objektu umístíme do středu spodního polygonu. Tento objekt zduplikujeme a novou kopii umístíme tak, že její souřadný systém bude na vrchním polygonu spodního, mateřského objektu. Ještě nový objekt mírně poupravíme a posuneme nově vytažené polygony níže. Výsledek by měl vypadat asi takto.
Přejmenujeme si naše objekty na základ a top (na které to platí je asi jasné) a top ve správci objektů umístíme pod základ. Nyní si připravíme píst hydrauliky. Ten sice bude mít s inverzní kinematikou pramálo společného, ale myslím, že tento jednoduchý trik je docela užitečný. Tedy vložte si do scény kvádr o velikosti 7*7*35 a tento zduplikujte a upravte na velikost 5*5*35. Převeďte oba objekty do meshe a přejmenujte na píst velký a píst malý (k pojmenovaní, to je samozřejmě pouze doporučené, abychom se v následujících částech článku shodovali v popisech a mohli se lépe orientovat). Píst velký umístěte k výstupku základu a píst malý k témuž výstupku na topu, přičemž dodržte pozici v osách "x" a "z". U obou pístů posuňte osy souřadného systému, a to u pístu velkého do středu spodního polygonu a pístu malého do středu vrchního polygonu. Poté oba objekty umístěte na středy protilehlých hran výstupků. Výsledek by měl vypadat takto (pozn. jestliže vám mezi objekty nedochází alespoň k "nulovému" průniku, styku, tak objekty zvětšte v podélném směru tak, aby k tomuto průniku došlo, přičemž by oba objekty měly zůstat podobně dlouhé).
Nyní vytvoříme pomocí funkce Target Expression (Cíl, chování) vzájemné cílení obou částí pístu hydrauliky. Tuto funkci vložíme oběma částem pístu. Nyní ještě jednou musíme upravit osy obou částí pístu, protože, jak jste si možná všimli v chování objektu světla "Slunce", tak cílený objekt vždy ke svému cíli směřuje v ose "z".
Jestliže to máme připravené, tak si ve správci objektu označte u jednoho z fragmentu pístu hydrauliky ikonu funkce Target, při současném označení objektu ve správci objektu, kterému tato funkce patří a v záložce Attributes se objeví pole, do kterého prostým systémem chyť přenes a pusť přenesete jméno druhé části pístu. Na obrázku jsou sloučeny stavy před a po přenesení. Stejnou operaci provedeme i s druhou částí. Chceme-li nyní vyzkoušet, jak se nám to vlastně zdařilo, tak musíme umístit píst velký pod základ na stejnou úroveň s topem a pod top umístíme píst malý.
Kdybychom nyní rotovali s topem, tak se nám krásně projeví chování pístu.
[-more-]{2. část} Tak to bylo to nejsnazší, ne nebojte, ani dál to nebude nějaká krvavá lázeň. Prosím ale o chvíli trpělivosti, protože si nejdříve musíme pro inverzní kinematiku připravit nějaké drobnosti a samotné osvícení inverzní kinematikou se dostaví samo v další části.
Vložíme si do scény nulový objekt a ten umístíme na vrchní polygon topu a pojmenujeme řídící. Jeho souřadnice by tedy měli být 0,0, a umístění vrchního polygonu. Řídící ve správci objektů umístíme pod top.
V budoucnu nám bude chování tohoto objektu ovlivňovat veškerý pohyb tohoto satelitu, protože právě tento objekt bude směřovat za pohybujícím se cílem. Vložíme do scény další nulový objekt a ten si pojmenujeme cíl. Tento objekt necháme ve struktuře zcela nahoře a umístíme jej někam na stranu od pístu a trochu nahoru, aby byl v budoucnu v dosahu výkyvu ramena "satelitu" (topu) jako je na mém modelu. Na tomto místě je možná věcná poznámka, že mezi drobné vylepšení nové Cinemy patří i správa zobrazení objektů a tak si pro zřetelnost můžete vybrat, jak Váš nulový objekt bude vypadat, což Vám rozhodně pomůže pro přehlednost scény.
Je na čase vložit inverzní kinematiku. Vybereme základ a vložíme tag Kinematic Tag (Inverzní kinematika). Totéž provedeme u topu. Další vloženou funkcí bude IK Expression (IK chování) u řídícího. Nyní musíme vložené funkce nastavit. A začneme Kinematic Tagem u základu.
Heading, směrový úhel, tedy rotace kolem osy "y". V našem případě necháme tuto volbu nezatrženou, protože zatržení značí omezovací úhel. Pitch, výškový úhel, úhel kolem osy "x", tedy při aplikaci tohoto směru se objekt přiklání při pohybech k ose "z". Bank, úhel náklonu, rotace kolem osy "z", objekt se přiklání k ose "x". Je zřejmé, že v našem případě je žádoucí možnost rotace pouze okolo osy "y" a to bez omezení. Tedy objekt jedině hodnota Heading zůstane bez omezení, hodnoty Pitch a Bank budou omezeny maximálně, tedy 0 až 0 a 0 až 0. Hodnota Damping značí útlum působení celého systému inverzní kinematiky v daném uzlu.
Nastavení tagu u topu již určitě sami tušíte. Bude se odehrávat v hodnotách parametru Bank, tedy v úhlu náklonu. A jelikož je můj model směřovaný do záporné strany osy "x", tak jsou hodnoty záporné a to minimální hodnota je -85o a maximální -5o . Můj, nebo snad lépe náš model, tedy může směřovat maximálně takřka přímo vzhůru a minimálně takřka do pravého úhlu vzhledem k základu. Můžete-li, tak si na tomto místě model uložte, protože funkce, kterou teď provedeme, je zrušitelná pouze zrušením její hodnoty (hned uvedu) a ručním znovuumístěním objektů, což je sice hned hotové, ale zbytečné. Jde o to, že náš pracovní stav objektu budeme ještě potřebovat pro výrobu kabelu.
Máte-li, tak si označte objekt řídící a jeho ikonu IK Expression a stejným způsobem jako jsme aktivovali funkci Target, aktivujte IK Expression objektem cíl.
Co se stalo?! Inverzní kinematika se aktivovala, respektive se tímto aktivoval náš model. Nyní když budete pohybovat objektem cíl, tak náš "satelit" bude stále tento objekt sledovat v mezích parametrů jednotlivých jeho částí. Možná Vás napadne, jaký že je rozdíl mezi funkcí Target a IK Expression. Objekt Target se chová pouze tak, že se natáčí za svým sílovým objektem, ale IK Expression se aktivně "snaží" přimknout se k cílovému objektu a tak touto snahou ovládá celou skupinu objektů, ke které patří.
Tedy vše funguje? Výborně, pustíme se do finální fáze. Vytvoříme kabel, který se bude deformovat podle polohy ramena. Postup bude podobný jako doposud při využití IK u základu a topu, až na to, že se bude týkat kostí, které budou řídit polohování u Hypernurbsu podřazenému objektu. Vrátíme si model do původní polohy (nebo pokud jste dali na mě, tak jej nahrajeme) a jdeme na věc. Nejdříve ale musím upozornit, že použijeme standardní nástroje a vězte, že by se daly spolu s dalšími možnostmi využít nástroje modulu Mocca, který je specializovaný právě na kosti a inverzní kinematiku "měkkých" objektů.
Vytvoříme si kvádr o velikosti 5*5*130, převedeme jej do meshe, pojmenujeme jej kabel a umístíme souřadný systém tohoto objektu, umístíme do středu spodního uzavíracího polygonu. Poté smažeme vrchní a spodní uzavírací polygon, na výšku vytvoříme čtyři segmenty (viz níže) a vložíme do scény Hypernurbs. Tuto funkci umístíme na stejné místo jako je kabel pomocí funkce Transfer. Poté umístíme celou skupinku na hranu opačného výstupku než máme píst velký a natočíme o 30o.
Pozn. v dalších části článku možná zjistíme, že je náš kabel krátký a tak jej možná budeme muset prodloužit a upravit kosti, avšak domnívám se, že to není problém, tedy nenechte se tím případně zmást.
[-more-]{3. část}
Vložíme do scény kost (Bone) a tuto kost umístíme opět pomocí funkce Transfer na místo kabelu, ale nyní využijeme i nastavení rotace. Poté umístíme ve správci objektů naší kost pod objekt kabelu. Uchopte v okně perspektivy vrcholový bod kosti a tažením ji umístěte ve směru kabelu a pomožte si nastavením úhlů koordinátů (Coordiantes). Má prvá kost má hodnotu rotace 0,90,0. Nyní umístíme další kost. Tu vložíme tak, že máme vybraný nástroj "move" a při stisknuté klávese Ctrl (či adekvátní u Macu) klikneme na špičku prvé kosti. Tím se nám vytvoří nová kost, která bude napojená na kost prvou a bude ve správci objektů umístěna pod kostí prvou. Každou kost kromě prvé mějte nastavenu v Coordiantors pod úhly 0,0,0 v lokálním souřadném systému.
Odpovídá-li Váš model alespoň zhruba mému, tak můžeme pokročit dále. Vložíme si do scény nulový objekt a umístíme jej na za hranu výstupku topu a také jej ve správci objektů přiřadíme pod top. Pojmenujeme jej cíl kabel. Poté tento bod zduplikujeme, pojmenujeme cíl kabel 1 a umístíme před plochu výstupku do vzdálenosti asi velikosti poslední kosti a zařadíme jej taktéž pod top. Určitě už tušíte proč. :-)
Vybereme skupinku s Hypernurbsu s kabelem a umístíme ji ve správci objektů pod základ. Poté vybereme prvou kost a aplikujeme na ní funkci Anchor tag, tedy kotvu. Tato fukce značí připevnění na místo bez možnosti rotace a změna pozice. Na každou další kost kromě poslední aplikujeme funkci Kinematic tag.
Upevníme kosti, což znamená, že se aktivují a tím již nadále bude kabel ovlivňován jejich chováním a na konec poslední kosti umístíme další nulový objekt, který umístíme ve správci objektů pod poslední kost a pojmenujeme jej kabel konec. Nyní musíme nastavit jednotlivé kosti a tagy inverzní kinematiky. IK se bude nastavovat jen ve směru Heading (důvod je jasný, kosti jsou definovány tak, že délka každé z nich je definována osou "z" a tak naše kosti budou rotovat kolem osy "y", tedy heading) a tak ostatní hodnoty budou omezeny na 0,0. Již umíte tyto hodnoty definovat a tak tuto fázi nechám na Vás. Ono ostatně je věcí zkušenosti a citu, jak nastavit jednotlivé úhly. Mé kosti jsou nastaveny na následující hodnoty: prvá -30, 70, druhá 0, 120.
Nyní aplikujeme na poslední kost a kabel konec IK Expression. Jistě víte proč a tak již sami určitě chcete přiřadit k této funkci adekvátní cílové objekty, v našem případě cíl kabel a cíl kabel 1, přičemž by ke kosti měl patřit cíl kabel 1, který je před plochou výstupku topu. Je-li všechno v pořádku, tak by model měl vypadat takto.
Nyní je nutno ještě nastavit kosti, respektive vysvětlit jejich chování, protože pro náš model jejich nastavení vyhovuje. Hodnoty, které můžete nastavit, jsou Délka kosti (tu jsme definovali interaktivně), poloměr kosti, tedy poloměr zlomení objektu v kloubu, a síla působení. Dále můžeme nastavit rádius působení kosti a dole je nastavení pozice, což jsme opět vytvořili interaktivně.
Je na čase opět zaktivovat náš model, což jsme již jednou dělali. Vybereme tedy řídící a jeho tak IK Expression přiřadíme mu nulový objekt cíl. Pohneme cílem a náš objekt by se měl "srovnat" a na dále fungovat.
Funguje? Výborně, tak to umíte inverzní kinematiku :-)!
Obsah seriálu (více o seriálu):
- Cinema 4D: Modelování lžičky
- Cinema 4D, modelování rotačních objektů (1)
- Cinema 4D, modelování rotačních objektů (2)
- Cinema 4D: Žárovka
- Cinema4D, modelování pomocí funkce Loft
- Cinema 4D - modelování bez křivek
- Cinema4D - modelujeme lidskou ruku
- Západ slunce v Cinemě snadno a rychle, bez použití jediné bitmapy
- In the Shadows... pokračování návodů ze světa stínů a světel
- In the Shadows... pokračování návodů ze světa stínů a světel, díl druhý
- Výroba louče, aneb hrátky s emitorem částic
- Bodypaint, aneb jak vyrábět textury pro 3D lépe než ve 3D
- Pyrocluster, plugin pro Cinemu 4D nejen na tvorbu pyrotechnických efektů
- Vlasy dělají člověka, Shave and a HairCut pro Cinemu 4D (a nejen pro ni)
- Cinema 4D r8 Oxygen, na prvý pohled
- Cinema 4D r 8 Oxygen a její nové modelovací funkce
- F-Curves, jednoduchá editace animací a další nepopsané funkce v Cinema 4D r8
- Jak na inverzní kinematiku v Cinemě 4D, nejen ve verzi 8
- Cinema: Využití primitivního objektu jako polotovaru pro polygonové modelování
- Jak na realisticky vypadající kovový povrch jen za pomoci shaderů? Snadno!!
- Xfrog 4, to pravé potěšení pro virtuální zahrádku
- Jak si ulehčit animace? No od čeho je tu XPresso!
- Bodypaint 3D 2.0, make up animovaných hvězd!
- CINEMA 4D R 8.5, víc než obyčejná subverze
- CINEMA 4D (R7 a vyšší) - tvorba reálně vypadajícího dřevěného povrchu
- Sketch and Toon, jak dohnat lektora výtvarné výchovy k šílenství
- Shave and HairCut 2
- Terragen a Cinema 4D R8.x
- Radiosita v programu Cinema 4D R7 až 8.5
- Materiál keramiky v Cinemě 4D
- Elektrony, jak na ně v CINEMĚ 4D R6
- Jak na některé volně šiřitelé pluginy v CINEMĚ 4D R6, modelování
- CINEMA 4D R9, uživatelské rozhraní
- Novinky v modelování v CINEMĚ 4D R9, n-úhelníky
- Novinky v modelování v CINEMĚ 4D R9, nové nástroje
- Novinky v modelování v CINEMĚ 4D R9, nové funkce
- Dynamická cesta, vlastní plugin pomocí XPressa
- Modelování bronzové sekery od A do Z
- UV mapa bronzové sekery od A do Z
- Texturování bronzové sekery pomocí BodyPaintu 3D od A do Z
- Vytvoření materiálu a scény bronzové sekery od A do Z
- Tvorba iónského sloupu, voluta hlavice, část první
- Tvorba iónského sloupu, voluta hlavice, část druhá
- Tvorba iónského sloupu, dřík
- UV mapa dříku a hlavice iónského sloupu
- Materiály a scéna iónského sloupu
- Modelování prvků architektury, rozeta, díl první
- Modelování prvků architektury, rozeta, díl druhý
- Cube 3D UV Toolkit
- 50grEy - budiž světlo, zdarma
- 51grEy – a jakpak nám ale vyrostl, co říkáte…
- Shadermania - texturování, ale bez textur
- Cinema 4D6 – Modelace lampy
- CINEMA 4D R 9.5, první postřehy a dojmy
- DPIT 3, víc jak obyčejný plugin
- Světla, co nám rozsvítí
- Ambient Occlusion
- Normálové mapy a "pečení" textur v CINEMĚ 4D R 9.5
- Rhodos, Dělová brána u paláce Velmistrů, díl 1
- Rhodos, Dělová brána u paláce Velmistrů, díl 2
- Rhodos, Dělová brána u paláce Velmistrů, díl 3
- Rhodos, Dělová brána u paláce Velmistrů, díl 4
- Čalouněná židlička s kovovým rámem
- Rhodos, Dělová brána u paláce Velmistrů, díl 5
- Rhodos, Dělová brána u paláce Velmistrů, díl 6
- Rhodos, Dělová brána u paláce Velmistrů, díl 7
- Rhodos, Dělová brána u paláce Velmistrů, díl 8
- Rhodos, Dělová brána u paláce Velmistrů, závěr
- Tvorba zjednodušeného charakteru – plynové masky
- Unikátní textura bez jakýchkoliv zdrojů? Jistě...
- Bierhanzlova mast, pro muže všech kast. A nebo taky Hair…
- Osvětlení interiéru, je libo radiozita? Díl první
- Osvětlení interiéru, je libo radiozita? Díl druhý
Tématické zařazení:
-
23. dubna 2014
Konica Minolta přenesla výhody velkých zařízení do kompaktních modelů
-
11. května 2014
-
23. května 2014
Epson na konferenci Droidcon Berlin ukázal nové možnosti čekající na vývojáře OS Android
-
24. listopadu 2014
-
13. května 2014
Samsung NX3000: retro styl, špičkový výkon a snadná konektivita v jednom přístroji
-
30. listopadu 2014
Nový fotoaparát α7 II: první plnoformát s pětiosou optickou stabilizací obrazu na světě
-
15. prosince 2014
Konica Minolta pomůže živnostenským úřadům s digitalizací dokumentů
-
11. května 2014
-
26. listopadu 2014
Canon Junior Awards již posedmé ocení mladé fotografy v rámci Czech Press Photo
-
21. srpna 2014