Autodesk Maya: modelujeme telefon s pomocí NURBS (1.) - Grafika.cz - vše o počítačové grafice

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:



Design

Autodesk Maya: modelujeme telefon s pomocí NURBS (1.)

5. října 2010, 10.00 | Dnešním článkem začneme dvoudílný miniseriál o modelování pomocí NURBS křivek a povrchů v Maye. Nejprve zabrousíme do teorie, povíme si něco o výhodách NURBS modelování a poté si ukážeme běžné nástroje a techniky, které Maya pro tento způsob modelování nabízí.

Dnešním článkem začneme dvoudílný miniseriál o modelování pomocí NURBS křivek a povrchů v Maye. Nejprve zabrousíme do teorie, povíme si něco o výhodách NURBS modelování a poté si ukážeme běžné nástroje a techniky, které Maya pro tento způsob modelování nabízí

Výsledkem našeho snažení bude vymodelování takovéhoto starého telefonu:

Ale to předbíhám, začneme pěkně popořadě trochou teorie. Pokud vás teorie nezajímá, případně ji už znáte, můžete tuto část bez obav přeskočit.

NURBS je zkratka pro Non-Uniform Rational Basis-Splines. Jde o matematickou reprezentaci jakékoliv trojrozměrné geometrie (objektu), tvořené libovolným množstvím různě vzdálených řídících bodů. V počítačové grafice se používají již řadu let, nicméně vždy byly spíše doménou CAD/CAM/CAE software. Jejich hlavní výhodou je přesná reprezentace libovolně zakřivených tvarů a ploch, například lodních trupů nebo automobilových karoserií. Za vznik ostatně vděčí NURBS právě automobilovému průmyslu - NURBS křivky jsou jakýmsi zobecněním Bézierových křivek, které v šedesátých letech popsal Pierre Bézier, toho času inženýr francouzského Renaultu.

Pomineme-li výhody, které má jejich využití v CAD software, stále i nám 3D grafikům mají co nabídnout. Zejména je to dáno tím, že NURBS křivky a povrchy jsou vždy dokonale vyhlazené, na rozdíl od polygonální geometrie se tedy nesetkáme například se „zubatými“ oblými částmi modelu. Dále vyžadují k vytvoření stejného tvaru daleko méně informací (řídících bodů), například kruh je možné vytvořit už ze dvou propojených řídících bodů; zatímco v polygonální reprezentaci je to minimálně pět vertexů, a to se bavíme o velmi low-poly modelu. Krom usnadnění práce při vlastním modelování to s sebou logicky přináší i úsporu ve velikosti souborů. Co se komfortu práce s nimi týče - záleží na každém uživateli, na co si zvykne. Nejlepší technika je taková, která vám umožní pracovat rychle s kvalitním výsledkem, nedá se říct, že by NURBS byly lepší než polygony nebo naopak.

Maya a NURBS

V prostředí Mayi lze s NURBS pracovat dvěma základními způsoby:

  • úpravou standardních NURBS objektů, jež změnou jejich tvaru, přidáváním dalších řídících bodů atd. přetvoříme v prakticky libovolný tvar. Tento způsob je v mnohém podobný polygonovému modelování metodou „box modeling“.
  • vytvořením několika NURBS křivek, které definují hrubý tvar objektu, a vyplnění prostoru mezi nimi NURBS povrchy. Tato metoda je pravděpodobně nejčastější a Maya pro ní nabízí několik nástrojů (Loft, Revolve, Birail aj.), se kterými se v tomto seriálu seznámíme.

NURBS povrch lze kdykoliv během modelování konvertovat na polygonální geometrii nebo Subdivision Surfaces, pokud je to potřeba; opačným směrem ovšem konvertovat nelze. Také ho lze samozřejmě „sochat“ pomocí Artisan-u, stejně jako polygonové modely. Všechny potřebné nástroje jsou dostupné přes menu Surfaces ( [F4] ) a přes stejnojmenou záložku Shelf-u.

Na následujícím screenshotu vidíte křivku se zobrazenými ovládacími prvky. Přímo na křivce leží Edit Points (EP). Nemají výrazný vliv na výsledný tvar křivky, ale dobře se pomocí nich provádějí drobné změny tvaru. Naproti tomu Control Vertices, CVs, leží mimo křivku, ale ony určují výsledný tvar křivky. A do třetice, to, co vypadá jako řada edges a vertexů, se nazývá Hull. Je to spojnice všech Control Vertices a neslouží ani tak k editaci, jako k usnadnění orientace v modelu. V případě, že pracujete se složitým tvarem, snadno se může stát, že nebude zcela zřejmé, ke které jeho části patří ten či onen CV - pokud si zobrazíte Hull, zorientujete se velmi rychle. Pomocí Hull-u můžete také vybrat celou řadu CV naráz.Volba zobrazení řídících prvků se provádí přes menu vyvolané držením RMB s vybraným objektem.

Modelování

Podobně jako v minulém seriálu o polygonovém modelování, ani dnes nebudeme modelovat podle výkresů, více se zaměříme na různé techniky a budeme si muset vystačit s naší fantazií. V rychlosti jsem si načrtl následující skicu, které se budeme při modelování držet:

Dnes začneme vytvořením základny telefonu (to je to velké s číselníkem). Její povrch vytvoříme jako NURBS povrch mezi několika křivkami pomocí funkce Loft. – tj. asi nejpoužívanější NURBS technikou. Poté na ní dotvoříme detaily pomocí Boolean operací a přidáváním dalších objektů.

V horním pohledu tedy vytvoříme NURBS křivku. Ať už z menu, nebo přes Hotbox zvolíme Create -> CV curve. Klikáním umístěte CV (Control Vertices) křivky jako na následujícím screenshotu a potvrďte klávesou [Enter]:

screenshot

První a poslední bod umístěte na osu Z 3D prostoru, a to tak, že podržíte klávesu [V] a kliknete LMB pro vložení CV. Další body vkládejte se stisknutou klávesou [Shift], aby CV ležely v přímce. Jak jste pochopili, budeme modelovat pouze polovinu základny telefonu, o zbytek se později postará Duplicate Special. Pokud se při umisťování CV spletete, můžete poslední bod smazat klávesou [Delete], nebo pomocí [Insert] zobrazit manipulátor pro přesun, doladit pozici CV a opětovným stiskem [Insert] se vrátit k umisťování dalších CVs.

Poznámka: všechny křivky jakéhokoliv typu, stejně tak výsledky operací s NURBS povrchy, jako např. Attach nebo booleans, automaticky umístí svůj pivot do počátku soustavy souřadnic tj. [0,0,0]; kdykoliv nám to nebude vyhovovat, můžeme pivot přesunout do geometrického středu objektu pomocí Modify -> Center pivot nebo posunutím pivot-u ručně po stisknutí klávesy [Insert].

Nyní vytvořenou křivku pomocí [Ctrl] + [d] zkopírujeme a stále v horním pohledu ji trochu zmenšíme:

screenshot

Nyní v bočním pohledu naši původní křivku opět 2x zkopírujeme a pokaždé ji posuneme o kousek nahoru:

screenshot

Později na základě těchto křivek vytvoříme spodní část základny. Nyní podobným způsobem vytvoříme ještě křivky pro horní, zkosenou část. Opět pomocí [Ctrl] + [d] zkopírujeme poslední křivku a posuneme ji směrem nahoru. Stiskneme a držíme RMB pro zobrazení menu, vybereme Control Vertex. Posouváním CVs vybraných na screenshotu zvětšíme poloměr předního rohu:

screenshot

klávesou [F8] se vrátíme do režimu výběru objektů a celou křivku o něco zmenšíme. V bočním pohledu ji pak natočíme:

screenshot

Tento postup zopakujeme ještě 2x, naším cílem je „zaklenout“ celou základnu. Křivku vždy zkopírujeme, zmenšíme, posuneme směrem nahoru a v bočním pohledu natočíme. Výsledek by měl vypadat asi takto:

screenshot

Nyní se můžeme pustit do vytváření NURBS povrchu. Vybereme tedy spodní dvě křivky a v menu zvolíme Surfaces -> Loft. Pokud zapneme Shaded zobrazení klávesou [5], uvidíme, že jsme vytvořili první povrch, a to spodní hranu základny:

screenshot

Zbytek povrchu vytvoříme stejným způsobem. Vybereme postupně křivky odspoda (krom vnitřní, kterou jsme již použili v minulém kroku) až nahoru (POZOR, na pořadí výběru záleží, podle něj totiž Maya vytváří povrchy) a opět zvolíme Surfaces -> Loft:

screenshot

screenshot

Vidíme, že tvar vytvořeného povrchu bude ještě potřeba upravit. To můžeme udělat buď úpravou křivek, protože dokud NURBS povrchu nesmažeme konstrukční historii, je jimi stále ovlivňován, nebo můžeme změnit tvar samotného povrchu přesouváním jeho CVs. Doporučuji spíše první možnost. Pomocí Selection Masks (masky výběru) vypneme možnost výběru povrchů, abychom mohli pracovat jen s křivkami:

Jejich přesouváním nebo změnou jejich tvaru a velikosti doladíme vzhled NURBS povrchu. Ten by měl být oblý, bez jakýchkoliv zlomů nebo výrazných ohybů. Já jsem upravil pozici dvou horních křivek a poloměr jejich rohů přesunutím patřičných CVs:

screenshot

Nezapomeneme opět zapnout výběr povrchů. O díru v horní části se nemusíme starat, za chvíli se jí zbavíme. Nejprve však dotvoříme i druhou polovinu základny telefonu. Celý povrch vybereme, [Ctrl] + [d] zkopírujeme a v Channel Boxu pak této kopii nastavíme hodnotu Scale X na -1, čímž ji zrcadlově převrátíme:

screenshot

Stejným postupem vytvoříme i druhou polovinu spodní hrany základny. Nyní smažeme konstrukční historii pomocí Edit -> Delete All by type -> History a poté smažeme i křivky, ze kterých jsme vytvořili povrch. Zbývá vše spojit v jeden povrch. Nejprve spojíme každou polovinu s odpovídající polovinou spodní hrany a poté obě poloviny dohromady. Vždy vybereme dva příslušné povrchy a zvolíme Edit NURBS -> Attach Surfaces -> . V dialogovém okně změníme Attach metod na Connect a odškrtneme Keep Original (Maya tak vytvoří jeden nový povrch a původní smaže); klikneme na Attach:

Stejným způsobem spojíme obě poloviny základny dohromady, s tím rozdílem, že v dialogovém okně Attach Surfaces změníme Attach method z Connect zpět na Blend. Výsledný objekt pojmenujme například základna:

screenshot

Nyní se můžeme pustit do zakrývání té díry. Vytvoříme kruhový „podstavec“ pod číselník, a to z NURBS primitive Cylinder (válec). V horním pohledu ho tedy vložíme do scény, tažením určíme nejprve průměr a pak výšku:

screenshot

Poté ho přesuneme na správné místo a natočíme ho.

screenshot

Posledním krokem v dnešním díle bude vytvoření vybrání v zadní části základny, do kterých později zapadne sluchátko. To uděláme pomocí Boolean operace – z objemu naší základny „odkrojíme“ část ohraničenou jiným objektem, jakousi šablonou, která se bude se základnou prolínat. Jako šablona nám poslouží modifikovaná koule. Někam do scény tedy Create -> NURBS primitives -> Sphere vložíme NURBS kouli a upravíme do následujícího tvaru (RMB -> Control vertices, jejich přesouváním a změnou velikosti dosáhneme snadno požadovaného tvaru – koule protažené do délky a do výšky):

screenshot

Nyní šablonu zkopírujeme a kopii přesuneme i do druhého rohu:

screenshot

Klikneme kamkoliv do prostoru, abychom zrušili výběr, a z menu vybereme Edit NURBS -> Booleans -> Difference tool. V dialogovém okně zaškrtneme Delete Inputs (ponechá pouze výsledek operace) a odškrtneme Exit on Completion (po skončení operace zůstane nástroj aktivní). Klikneme na Difference Tool. Podle změny kurzoru poznáme, že je nástroj nyní aktivní. Klikneme na objekt základny, stiskneme [Enter] a klikneme na jednu ze šablon. Její objem se odečte od základny a vznikne vybrání. Opět klikneme na základnu, poté [Enter] a klikneme na druhou šablonu. [Q] nástroj ukončíme, resp. aktivujeme standardní výběr. Výsledek by měl vypadat takto:

screenshot

To by bylo pro dnešek vše, příště dokončíme základnu, vytvoříme sluchátko a také propojovací kabel.

Tématické zařazení:

 » Rubriky  » VSE  

 » Rubriky  » 3dscena  

 » Rubriky  » Go verze  

 » Rubriky  » 3D grafika  

 » Rubriky  » Design  

Poslat článek

Nyní máte možnost poslat odkaz článku svým přátelům:

Váš e-mail:

(Není povinný)

E-mail adresáta:

Odkaz článku:

Vzkaz:

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: