Kompletní animace v Blenderu: modelování - část 1/2 - 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

Kompletní animace v Blenderu: modelování - část 1/2

3. ledna 2008, 00.00 | Leckdo možná pochybuje o využitelnosti animačních technik v Blenderu. Takovýto skeptik nechť si přečte dnešní článek: v Blenderu budeme vytvářet a
animovat scénu s mechanickou paží.

Možná se někdo z vás, milí čtenáři, pozastavil nad tím, zdali jsou informace z předchozích článků použitelné v praxi na něco užitečného. I o užitečnosti CG by se dalo debatovat, protože na tuto problematiku existuje spousta úhlů pohledu, nicméně touto úvahou se chci dostat k obsahu článku - dnes si ukážeme jeden možný příklad využití znalostí z minulých článků. Po několika nápadech, které jsem již v počátku zavrhl, se mi nakonec v hlavě ukotvil jeden - a sice vymodelování mechanické paže, která bude myslím vhodným příkladem nejen pro ukázku několika "vychytávek".

Pozn.: vzhledem k reakcím na předchozí články se dnes budeme podrobně zabývat modelovou stránkou věci, zbytek (unwrap, textury, rigování a komponování) si necháme na příště.

Koncept

Jako je slušností odpovědět na pozdrav, je i "slušností" před samotnou tvorbou udělat si aspoň nějaký koncept. I když se možná řadíte do kategorie lidí, kteří tužkou či perem nevládnou, vůbec ničemu to nemusí vadit, ostatně i já se sem řadím. Stačí nějaká jednoduchá skica, například něco takového:

Koncept

Když máme koncept, tedy materiál, o který se můžeme opřít, nic nebrání tomu, abychom se již pustili do samotného modelování. Popíšu postup tvorby od spodu (v praxi je v podstatě jedno, odkud začnete). Začneme vložením prostého circle s 16 vertexy a vytvoříme z něj tyto 3 objekty:

Podstava

Základ

Všechny objekty mají zapnutý modifikátor subsurf na 2. úrovni. Pokud už jednou aktivujete tento modifikátor, musíte si dávat pozor na hustotu vertexů v síti. Tady je detail zhuštění na okrajích:

Detail

Všimněte si, že dole síť sahá jen k okraji a nevede až do středu kruhu. Opět je potřeba myslet dopředu, konkrétně na texturování, a síť optimalizovat, jak to jen jde, abychom byli schopní udělat unwrap s co nejmenším počtem švů. Stejným způsobem jsou zhuštěné i ostatní objekty. Pokud už máte objekt vymodelován bez zhuštění a teprve později použijete modifikátor subsurf, není problém síť dohustit nástrojem loop cut - CTRL+R. Dalším krokem bude vytvoření tohoto objektu (pro přehlednost je lepší vložit ho s 3D kurzorem nastaveným na střed circle):

Podivný kvádr
Pozn.: objekt jsem opět přizpůsobil texturování

Odmazání specifických faců

Nyní máme dvě možnosti, jak tento "kvádrohranol" nakopírovat. Buď zkopírujeme každý objekt v object modu, budeme jím otáčet kolem centra a nakonec vzniklé objekty spojíme do jednoho meshe, nebo nastavíme obtáčení kolem kurzoru tímto tlačítkem:

Deformace okolo 3D kurzoru

a objekt zkopírujeme v edit modu. Já jsem si vybral druhou možnost. Výsledkem našeho krátkého snažení je následující:

Pohled na to, co zatím máme
Pozn.: první kopii jsem zrotoval o 180°, poté vybral obě, zkopíroval, zrotoval o 90°, atd. až do 22,5°.

Nyní vytvoříme z Plane spoj mezi podstavou a stojanem paže. Základ vymodelujeme jednoduše metodou extrude, a abychom odstranili nežádoucí zaoblení, použijeme Loop Cut (CTRL + R), který nám přidá loop na místo, které určíme:

Přechod mezi podstavou a paží
Pozn.: Tento i všechny další meshe mají kvůli hustotě své sítě nastavený Subsurf na 1. úrovni

Protože budeme objekt texturovat LSCM metodou, už nyní si nachystáme unwrap, samotnou síť budeme upravovat později:

Švy na objektu
Pozn.: Náhled na síť je ovlivněn subsurfem díky tlačítku Tlačítko. Možná se vám bude zdát rozmístění švů nelogické, pokud si přejete švy udělat podle sebe, nebráním se tomu, ale zde jsou takto rozmístěny z jednoho prostého důvodu. Rohy meshe budou ve výsledku vidět, a proto je lepší, když budou v celku a textura na nich nebude rozdělená.

Pokračujeme vytvořením krytu z jednoduchého tvaru. Facy v podstavě vymažeme po extrudování a následném přidání loopů, abychom ušetřili nepotřebné polygony:

Základ krytu

Nyní, v zájmu dodržení konceptu, vytvoříme dva loopy. Tentokrát bude postup poněkud odlišný, protože chceme mít řez rovný a ne nakloněný, jak by se nám to povedlo s nástrojem Loop Cut. Přepneme se do pohledu shora, vybereme všechny vertexy (resp. facy, na které chceme aplikovat řez) a stiskem K vyvoláme nabídku. Vybereme Knife (exact) a načrtneme čáru v požadovaném místě. Počátek i konec čáry určíme levým tlačítkem myši, i zde můžeme směr čáry ovlivnit tlačítky Shift a Ctrl. Po načrtnutí čáry potvrdíme řez klávesou Enter. Výsledek:

Řezy

Metodou extrude a přesunutím bodů upravíme na požadovaný tvar:

Extrudování

Po zapnutí Subsurfu musíme opět použít Loop Cut a vymazat facy na spodu:

Nepěkný Subsurf

Po vytvoření příslušných loopů bude dobré, když vytvoříme opět švy (pro kontrolu správnosti můžeme zkusit unwrapovat v UV image editoru a případně přidat další švy):

S naznačenými řezy na unwrap

Stojan

Když jsem si zpětně procházel koncept, zjistil jsem, že z něj nebudu moci vycházet při tvorbě kulového kloubu. Pokud se nad tím zamyslíme, kulový kloub se dá nahradit kladkovým, protože podstava bude otočná, mechanická paže tak dosáhne tam, kam potřebuje. Začneme vložením circle s 16 vertexy, spodních 8 vertexů umažeme a vyextrudujeme do požadovaného tvaru:

Stojan paže
Pozn.: nikdo přece neříkal, že koncept se musí dodržet na 100 % :)

Někdo by možná mohl namítnout, že na samém vršku meshe vznikne trojúhelníkovitý face, až budeme na této straně tvořit plochu, ovšem vzhledem k faktu, že budeme přidávat další face loopy, zostření oblouku by nepůsobilo příliš esteticky. Začneme vytvářet facy:

Tvorba faců

Nyní stačí vyextrudovat spodní část stojanu. Na opačnou stranu budeme extrudovat celou část, ale je potřeba si uvědomit jednu věc. Extrude metoda funguje v Blenderu na tom principu, že odmaže facy, pokud najde uzavřený okruh. Tímto tedy vytváří díru a něco podobného by se nám stalo, kdybychom jednoduše vybrali všechny vertexy na obvodu a extrudovali. Navíc se nám nebude líbit ani přebytečný face na spodu oblouku:

Zdánlivá chyba

Pomoc je snadná, stačí se přepnout před extrudováním do možnosti výběru pouze hran tlačítkem tlačítko na headeru 3D okna (nebo stiskem CTRL+TAB a výběrem Edges) a vybrat všechny hrany kromě těch "spojovacích" a vyextrudovat. Poté ještě zarovnáme 3D kurzor k vyextrudovaným hranám:

Selekce
Extrudování
Pozn.: Je dobré extrudovat se stisknutým tlačítkem CTRL, popř. CTRL+SHIFT, abychom dodrželi stejné vzdálenosti

Nyní zbývá jen vytvořit facy na příslušných vertexech, čímž dostaneme tzv. bezešvý model. To znamená, že jej můžeme libovolně kopírovat za sebou bez nežádoucích efektů:

Bezešvý model

Vytvoříme tedy dvě kopie a přesuneme je tak, aby se "vertexy švů" překrývaly, poté překrývající se polygony vymažeme funkcí Remove Doubles:

Kopie
Pozn.: Pokud jste používali předtím při extrudování tlačítka SHIFT a CTRL a použijete je i teď, významně si usnadníte práci.

Nyní zploštíme podél jedné osy a necháme na okrajích trochu místa, které využijeme na domodelování ohraničení (záměrně jsem zatím ani jednou neuvedl žádnou konkrétní osu, je možné, že budete modelovat z jiného pohledu - byť po logickém výběru zbudou jen dvě). Obrázky jsou myslím dost výmluvné, tedy aspoň co se týče okraje:

Zploštění
Tvorba okraje
Dokončení stojanu

Posledním krokem u stojanu bude opět aktivace Subsurf modifikátoru a patřičné zhuštění sítě:

Finální podoba stojanu

Ulna

Ano, zjistil jsem, že mi došla slova k pojmenovávání jednotlivých částí paže, tak jsem si vypůjčil latinský název kosti loketní, snad se lékaři neurazí :). Začneme zarovnáním 3D kurzoru ke dvěma bodům stojanu, abychom mohli vytvořit kloub ulny. Konkrétně takto:

Zarovnání kurzoru

Vytvoříme nový mesh, konkrétně circle s 16 vertexy a opakujeme postup tvorby kloubu:

Počátek ulny

Spojíme, vymažeme nepotřebné facy a opět použijeme Remove Doubles:

Hotový kloub

Stále platí pravidlo č. 1 - fantazii se meze nekladou, a tak si můžeme dovolit například takovéto malé obohacení ulny. Postup je jednoduchý - stačí v pravidelných intervalech extrudovat horní loop a poté z pohledu shora extrudovat podél osy x a y:

oživení konstrukce

Částečným extrudováním a scalováním dosáhneme tvaru, který jsme si dali za úkol v konceptu:

Pokračování modelování ulny

Kulový kloub na vrchu paže se ukázal být opravdovým oříškem. Začneme tak, že si vytvoříme nejdříve koule a upravíme je takto:

Kloub

Nyní je potřeba vytvořit nějaké logické napojení na ulnu, takže zapneme Subsurf a zhustíme síť ulny. Poté podle počtu vertexů na horním loopu zjistíme, kolik vertexů budeme potřebovat na další postup (hned objasním). V našem případě tedy 37 vertexů:

37 polygonů

Díky tomuto číslu víme, jakou kouli na napojení máme vytvořit. Bude to jednoduše koule s 37 segmenty. Počet prstenců nechť si každý navolí sám, já jsem použil 16. Poté scalujeme kouli na stejnou velikost, jakou má spodní koule kulového kloubu, a odstraníme přebytečné vertexy:

Zbylý mesh

Nyní vytvoříme misce podobný tvar a vyselektujeme loop na vrchu ulny:

Napojení kloubu

Poté stiskem tlačítka F a výběrem Skin Faces/Edge Loops vytvoříme spoj mezi oběma částmi. Možná se vám tento zdánlivě nehezký spoj nebude líbit, ale po přidání textur se změní k lepšímu:

Spoj

Pokud si vyzkoušíme rotaci horní části kloubu, zjistíme, že tak lze činit pouze přibližně do 20°, což je docela málo. Řešením může být drobná úprava kloubu, která spočívá ve vymodelování koule a ulny jakožto jednoho celku. Odstraníme tedy kouli a v editmodu ulny přidáme jinou, která bude mít též 37 segmentů, a poté ji jednoduše napojíme opět Skin Faces/Edge Loops:

Kloub

Nyní lze kloubem otáčet o 40° na každou stranu, což je dostačující. Teď můžeme odstranit přebytečné polygony v kouli, která bude překrývat horní část kloubu. K tomu, abychom zjistili, které to jsou, natočíme vršek kloubu na maximum a poté vertexy odstraníme:

Odstranění přebytečných bodů

Možná se vám tento krok zdá zbytečný, má ale jedno opodstatnění - optimalizaci. Čím méně polygonů ve finále budeme mít, tím rychleji se bude počítat animace a tím pohodlněji se nám bude pracovat. Někdo by mohl říct, že pár polygonů nic nezachrání, když ale ušetříme pár takových polygonů na každém z meshů, rozdíly se nakonec můžou vyšplhat až do řádu desítek tisíc polygonů, zvlášť při používání Subsurfu. Optimalizace se vyplatí i na silnějších strojích, na nich už je to ovšem spíše otázka profesionality grafika. Dost už ale úvah, vraťme se k modelování, zbývá nám nyní poslední část.

Manipulační část

V pohledu shora přidáme plane, roztáhneme ho a nástrojem Knife (multicut) - nachází se pod klávesou K - rozřežeme podélně čtyři řezy na pět částí:

Počátek manipulační části

Loop Cuty a extrudováním specifických faců upravíme:

Vytvoření děr pro chápavou část

Pokračujeme extrudováním a přichystáním spodní části na uzavření:

Opět extrudování

Uzavřeme:

Uzavření

Aplikujeme Subsurf a zhustíme síť:

Téměř u konce

Aby spojovacím článkem nebyly "suché" hranoly, použijeme tvar podobný traverzám:

Ještě blíž konci

Poté jej takto upravíme, a protože budeme objekt kopírovat a chceme mít v budoucnu snazší práci, vytvoříme rovnou i řez pro unwrap:

Řez na spojovacím článku

Teď už jen vytvoříme takovýto jednoduchý mesh, aby seděl do drážek:

Posouvací část

Použijeme Subsurf, zhustíme a zkopírujeme:

Hydraulika

Nakonec se podíváme na zub hydraulice. Pro začátek bude dobré sehnat nějakou referenci, neboť kupříkladu já jsem si podrobně hydrauliku nikdy nedokázal představit :). Část bagru bohatě postačí:

Hydraulika

Jak vidno, ani tento úkol nebude nijak těžký. Stačí upravit circle o 12 vertexech extrudováním a poté zploštěním podél jedné strany. Na mesh stačí přidat circle o 6 vertexech a po extrudování spojit facy. Lépe to osvětlí obrázek:

Počátek hydrauliky

Nyní budeme kopírovat na druhou stranu, ale tentokrát již tlačítkem ALT+D, aby byla kopie identická i po úpravách na originálu. Jak možná někteří víte, budou se na ní ihned projevovat změny provedené na originálu:

Šrouby

Přidáme circle s osmi vertexy, vymodelujeme do tvaru válce a extrudujeme na okrajích dovnitř pouze podél dvou os. Je důležité dodržet posloupnost práce, aby přechod mezi dvěma různě natočenými válci byl zaoblený a ostrý přesně tam, kde potřebujeme. Přidáme Subsurf modifikátor a několik loopů:

Spodek pístu

Přidáme další řezy:

Spodek pístu...opět

Jestli někdo hádal, že řezy rozmisťujeme podle kruhu, který přidáme nahoru, hádal správně:

S kruhem nahoře

Odmažeme tyto vertexy:

Díra

A nyní zjistíme, že loopů je na osmivertexový kruh příliš mnoho, takže dva loopy odstraníme (ALT+LMB = označení loopu; X - Edge loops = vymazání loopu):

Odstranění loopů

Nyní přemostíme díry vyselektováním obou svrchních loopů a klasicky F - Skin Faces/Edge loops. Poté upravíme při pohledu z boku, aby vertexy lépe seděly na spodním kruhu a nebyly zarovnány v rovině. Pak stačí přidat jeden loop pro zostření přechodu:

Napojení
Pohled zleva shora

Dále bude nejlepší, když zarotujeme paží, abychom věděli, kde může být horní hranice spodní části hydraulického pístu:

Zrotování paže

A nyní se objevila podstatná chyba - píst nedosahuje až po paži. Upozorňuji, že tento tutorial nebyl dopředu připraven na takovou situaci. V tom spočívá dvojsečná krása grafiky - nikdy nemůžete být připraveni na všechny chyby, které mohou nastat:

Krátký stojan

Nevadí, i na naši bolístku existuje jednoduchý lék. Stačí, když dostatečně protáhneme stojan nahoru:

Napravení chyby

Poté stačí nahoru přidat opět přechod mezi dvěma kruhy (nejsem technik, a tak nevím, jak lépe tento prvek nazvat :) ), třeba zkopírováním ze spodní části:

Horní část

Spojíme jej se zasouvací částí. V dalším díle si ukážeme, jak vyřešit rendering zrcadlového materiálu a opotřebovaného železa na jednom meshi texturou:

Opět horní část

Začneme vrch pístu napojovat na ulnu. Přidáme opět kruh s osmi vertexy, použijeme Subsurf a zhustíme síť. Poté protáhneme zčásti kruh směrem k paži, dokud se do ní úplně nevnoří:

Pokračování konstrukce pístu

Tuto část zkopírujeme a zrcadlově převrátíme konec, poté kolem kurzoru zrotujeme nahoru a v případě potřeby zploštíme. V této těžkopádně popisované operaci se skrývá následující jednoduchá úprava:

Upevnění konstrukce
Pozn.: Konstrukce se samozřejmě neobešla bez úpravy rozměru vnitřního kruhu - postačí scalování (kvůli následujícímu osazení šroubem)

Přidáme známý šroub a celé zkopírujeme ALT+D zrcadlově na druhou stranu (podotýkám, že napojení pístu na ulnu je jeden mesh):

Zrcadlové zkopírování

Abychom mohli z pohybů v příštím díle vyždímat každý další stupeň navíc, zrotujeme píst k paži a posuneme konstrukci napojení:

Dokončování pístu

Nyní už jen screenshoty několika hydraulických hadiček - k modelování snad jen tolik, že samotné hadičky jsou křivky s tímto nastavením:

Nastavení křivek
Hadičky
Hadičky

Tak a to by bylo k dnešnímu modelování vše. Posledním obrázkem bude pohled na celý náš dnešní počin:

Konečná podoba mechanické paže

Doufám, že jste se dnešním článkem úspěšně a se zájmem prokousali až sem. Chápu, že pro někoho zcela jistě nebude sáhodlouhé podrobné popisování modelování jednotlivých částí záživné, nicméně předpokládám, že to přivítá zejména těch pár lidí, kteří mě kontaktovali (byť se jejich dotazy týkaly organického modelování). Jak jsem předeslal, příště animaci dokončíme, tedy budeme unwrapovat a kreslit textury, dále nasvěcovat, nastavovat animační systém včetně omezení a ladění chyb a nakonec proženeme scénu node editorem. Těším se s vámi příště na shledanou.

Tématické zařazení:

 » 3D grafika  

 

 

 

 

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

Uživatelské jméno:

Heslo: