Modelujeme v Rhino - Křižácká helma - 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

Modelujeme v Rhino - Křižácká helma

2. dubna 2003, 00.00 | V tomto tutoriálu si ukážeme použití některých užitečných funkcí Rhina (jako je například Array nebo Shear) a taky pár malých triků při vytváření křižácké helmy.

{Základní postup}

Hlavní použité příkazy:
Loft, Extrude, Blend, Curve - Project , Shear, Array, Boolean Difference

Nejprve nastíníme základní postup. Křižácká helma je vlastně jakýsi zdeformovaný hrnec, který je proděravělý tak, aby rytíř mohl dýchat a také aby dobře viděl na toho, kdo se ho v nejbližších chvílích chystá zabít. Obvykle bývá vytvořena z několika plátů kovu, které jsou k sobě spojené pomocí nýtů, což dodává helmě charakteristický vzhled. V našem tutoriálu tedy nejprve vytvoříme jakýsi hrnec, který potom správně provrtáme a nakonec přidáme nýty. Pro zjednodušení nebudeme modelovat jednotlivé pláty, ale budeme předpokládat, že mistr zbrojíř dokázal spoje zahladit do ztracena.

Když všechno půjde dobře, může naše helma vypadat takto:

hotovo
Obr. 1.: Takto může vypadat náš výsledek


Hrnec na hlavu:
Abychom vůbec věděli co a jak modelovat, musíme mít nějakou předlohu. Pro tento účel nám poslouží obrázky, které jsem svou nemotornou disgrafickou rukou načrtnul.

vzor_profil  

vzor_anfas
Obr. 2 a 3.: Vzory pro modelování - klikněte pro zvětšení

Umístění vzoru na podklad některého okna v Rhinoceros se provede pomocí View - Background Bitmap - Place (za předpokladu, že už máte zapnuté Rhino). V této chvíli byste tedy měli mít ve front okně umístěn vzorový obrázek helma_anfas.jpg a v okně left, nebo right obrázek helma_profil.jpg. Já budu v dalším používat Left okno. Které ale použijeme je jedno, neboť helma je symetrická. Přesvědčte se, že výška helmy z profilu odpovídá výšce helmy z anfasu. Pokud ne, pomocí View - Background Bitmap - Scale upravte velikosti obrázků na pozadí, aby si odpovídaly. Poté proveďte zacentrování obrázků (View - Background Bitmap - Move) tak, aby osy helmy odpovídaly přibližně osám v Rhinu. Bude se nám pak lépe modelovat. Umístění nemusí být úplně přesné, protože slouží spíše jako přibližná šablona a ne jako technický výkres.

Nyní se pustíme do modelování hrnce. Vymodelování základního tvaru provedeme pomocí tří elips a funkce loft. První elipsou bude ta, která přibližně odpovídá průřezu helmy ve výšce očí. V okně top vytvořte elipsu tak, že začnete ve středu souřadnicového systému a táhnete myší tak dlouho podél osy x nebo y, dokud vám nebude připadat, že šířka (délka) elipsy odpovídá nejširší části helmy na obrázku na pozadí (viz obr. 4), pak pokračujte obdobně do druhého směru.

krok0
Obr. 4.: Tvorba elipsy - jak vypadá ve Front okně


Opakujte postup pro druhou elipsu. Ta by měla odpovídat vršku helmy. Posuňte obě elipsy tak, aby byly ve správné výšce vzhledem k pozadí a upravte případně jejich velikost, pokud se vám příliš nepovedly, pomocí Transform - Scale - Scale 2D.

krok1
Obr. 5.: Dvě vytvořené elipsy


Protože třetí určující křivka má stejný půdorys (pohled seshora) jako první vytvořená, okopírujeme ji a posuneme výškově na správné místo. V tuto chvíli jste si jistě všimli, že šířkou nám sice elipsy odpovídají, ale potřebovaly by otočit, aby kopírovaly křivky na pozadí. Po rotaci bychom potřebovali znovu provést změnu velikosti elips, což je všechno zbytečná práce, pokud známe příkaz Transform - Shear. Ten zdeformuje označený objekt tak, že jej natáhne podle vodící úsečky. Použijte příkaz Shear, klikněte na začátek spodní elipsy v bočním okně (Left) a pak na její konec, poté táhněte myší do výšky tak, aby sklon nové elipsy odpovídal sklonu spodní části helmy (viz obr. 6).

shear
Obr. 6.: Příkaz Shear


Pokud umístění nové elipsy neodpovídá vzoru na pozadí, provedeme její přesun. Stejným způsobem protáhneme a posuneme i elipsu ve výšce očí. Nyní tedy máme tři elipsy určující hlavní tvar helmy. Nastal čas použít funkci Loft. Označte všechny tři elipsy a klikněte na Surface - Loft. V okně, které se objevilo po potvrzení směru tvorby povrchu, zvolte Style - Straight sections (viz obr. 7).

loft
Obr. 7.: Loft - Straight sections


Po potvrzení tlačítkem OK vidíme, že se nám vytvořila skořápka hrnce. Protože však poctivé helmy nikdy nebyly z tenoučkého plechu (to by pak jejich nositel brzy dobojoval), ale z pořádných kusů, které měly nenulový objem, vytvoříme i my masivní helmu. Náš důvod je spíš ale ten, že "skořápky" nevypadají příliš realisticky. Označte tedy opět všechny tři elipsy a okopírujte je (Ctrl+C, Ctrl+V). Nyní je zmenšíme tak, aby byly schopny vytvořit vnitřní stěnu helmy. A to provedeme pomocí Transform - Scale - Scale 2D (ne Scale 3D, neboť chceme zachovat jejich vzájemnou vzdálenost). Zmenšení proveďte jen o malý kousek v Top okně. Poté použijte na tyto tři nové elipsy Surface - Loft opět s volbou Style - Straight sections. Nyní tedy máme dvě skořápky určující vnější a vnitřní stranu helmy. Protože nechceme, aby našemu rytířovi kapalo na lebku, zavíčkujeme přilbu. Vyberte oba povrchy a zvolte Solid - Cap Planar Holes. Tak, teď jsme to zavíčkovali trochu moc. Nevadí. Použijeme Solid - Extract Surface a vybereme všechny čtyři plochy vytvořené předchozím krokem (viz obr. 8).

extract
Obr. 8.: Extract surface


Smažeme obě plochy na spodku helmy, které se od objektů oddělily a vytvoříme hladký přechod mezi oběma skořápkami. K tomuto použijte příkaz Surface - Blend. Jako první sadu hran (jak se táže příkazová řádka) zvolte spodní hranu vnitřní skořápky a jako druhou sadu hran spodní hranu vnější skořápky (v tomto případě na pořadí ale nezáleželo). Potvrďte konec zadávání klávesou Enter. Nastavte hodnoty v okně, které se objeví, podle obrázku 9 (jedná se o "příkrost" přechodu).

blend
Obr. 9.: Blend


Nyní částečně pospojujeme vytvořené součásti. Vyberte povrch vnitřní i vnější skořápky, blendem vzniklý povrch a také "čepičku" vnitřní skořápky. Jinými slovy vyberte všechny povrchy až na čepičku vnější skořápky. Použijte funkci Join (Edit - Join, anebo rychleji přes ikonku). Nyní máme, až na čepičku helmy, kterou budeme muset ještě zaoblit, skoro hotový vytoužený hrnec na hlavu. K zaoblení čepičky budeme nejprve potřebovat změnit množství kontrolních bodů povrchu. Označte tedy čepičku a zvolte funkci Surface - Edit Tools - Change degree a na příkazové řádce Rhina zadejte pro směry U i V hodnotu 5 (viz obr. 10).

change degree
Obr. 10.: Změna počtu kontrolních bodů (Change degree)


[-more-]{Zaoblení čepičky}

Zaoblení čepičky provedeme pomocí změny pozic kontrolních bodů. Někdo by možná namítl, že to není "čisté", ale je to poměrně snadné a rychlé a v tomto případě nepotřebujeme příliš přesný výsledek. Zapněte si tedy klávesou F10 kontrolní body, označte některé z nich (viz obr. 11) a posuňte je do výšky tak, aby nově vzniklý povrch odpovídal zaoblením obrázku na pozadí.

kontrolní body
Obr. 11.: Posunutí kontrolních bodů


V této chvíli však již nedoléhá čepička na zbytek helmy. Pro částečné napravení zvolíme a přesuneme o malý kousek směrem dolů jiné kontrolní body (viz obr. 12 a 13).

kontrolní body 2
Obr. 12.: Posunutí kontrolních bodů 2


kontrolní body 3
Obr. 13.: Stav kontrolních bodů po přesunech


Vypneme zobrazení kontrolních bodů (klávesa Escape). Máme tedy pěkně zakulacenou čepičku, která nedoléhá na zbytek helmy. Toto nedopatření snadno odstraníme hojně používanou fintou, která částečně simuluje funkci Fillet Edge. Princip je takový (když chceme spojit dva povrchy, které se nemusí dotýkat a navíc se nám hodí, aby toto spojení bylo hladké), že vytvoříme pomocný objekt - rouru, kterou rozřízneme oba dva povrchy, části spadající dovnitř roury smažeme i s rourou a na hrany objektů, které chceme spojit, použijeme Blend. A jak řekli, tak udělali. Označte elipsu, která definovala hranu vnější čepičky a použijte příkaz Solid - Pipe, který vytvoří rouru o vámi zadaném poloměru. Ten volte přiměřeně veliký (viz obr. 14).

roura
Obr. 14.: Tvorba ořezávací roury


Nyní označte oba povrchy (čepičku i zbytek helmy) a proveďte příkaz Split (Edit - Split, nebo přes ikonku). Smažte rouru (už ji nebudeme potřebovat) a všechny malé části, které byly uříznuty z větších objektů také. Nyní máme dost prostoru pro to, abychom použili Surface - Blend a vytvořili tak povrchy spojující jak vnější skořápku s vnější čepičkou, tak po druhém použití Blendu povrch spojující horní hranu vnitřní skořápky s vnitřní čepičkou.

Pokud se během spojování některých částí vyskytl problém (Rhino hlásí něco ve smyslu, že se pokoušíme spojit neuzavřené křivky), máme pravděpodobně chybu v geometrii, ale to se dá v tomto případě poměrně snadno vyřešit.

Opět použijeme Blend pro zahlazení, ale pozor, musíme se pozorně podívat, zda jsme označili všechny křivky, které tvoří hranu v obou krocích (first i second set of edges). Příklad na první pohled těžko odhalitelné chyby je na obrázku 15. V této chvíli se vybírají všechny křivky tvořící první ze dvou hran, mezi kterými se vytvoří Blend povrch. Stačí tedy nezapomenout na všechny křivky a máme problém vyřešen. Po vytvoření spojovacích povrchů všechny potřebné spojte, aby vzniknul jeden uzavřený objekt.

roura
Obr. 15.: Zapomenutá krátká křivka při použití funkce Blend


Pokud jsme pracovali správně, neměl by náš objekt mít žádné "nahé hrany" (funkce Analyze - Edge Tools - Show Naked Edges použitá na objekt helmy by měla na příkazovou řádku napsat "No naked edges found"). Poslední úpravou na základním masivu bude zahlazení přechodu v úrovni očí. Vyhlazení docílíme pomocí funkce Solid - Fillet Edge. Při volbě poloměru dejte pozor, aby nebyl příliš velký - hrana vnitřní skořápky by po zahlazení hrany na vnější skořápce neměla být vidět. Pokud jste při spojování horní čepičky měli výše uvedený problém, pravděpodobně se vám nyní při použití Solid - Fillet Edge vytvořil nový povrch (zakulacená část), ale ne zakulacení hrany jako součást původní helmy. Znamená to, že hrana, kterou jsme chtěli zahladit nebyla uzavřená, nebo se vyskytla jiná chyba v geometrii. Tento problém se dá odstranit výše zmíněnou fintou s pomocí roury. Tedy s pomocí elipsy (která by měla být zcela jistě v pořádku) vytvoříme rouru a tou rozřízneme (Split) masiv helmy. Dále pokračujeme jako příkazem Blend a věnujeme zvýšenou pozornost všem spojovaným hranám. Pokud jsme pracovali správně a já se při psaní neseknul v něčem podstatném, měl by aktuální stav helmy vypadat přibližně tak, jak je vidět na obrázku 16.

krok 2
Obr. 16.: Aktuální vzhled helmy


[-more-]{Ozdoby: kříž a otvory pro očí}

Ozdoby:
Takže hrnec bychom měli. Nyní vytvoříme kříž a otvory pro oči. S použitím nástroje Control Point Curve nakreslíme ve Front okně polovinu svislé části kříže, kterou poté ozrcadlíme pomocí Transform - Mirror tak, že se zapnutým Osnap - End bude osa zrcadlení začínat jedním koncem ozrcadlované křivky a končit druhým koncem (viz obr. 17).

mirror
Obr. 17.: Mirror


Původní i nově vytvořenou křivku poté spojíme (Join) a po zapnutí kontrolních bodů (F10) smažeme úplně nejvrchnější a nejspodnější bod (pro zachování hladkosti - viz obr. 18).

hladkost
Obr. 18.: Smazání bodů kvůli zachování hladkosti


Provedeme případné změny poloh kontrolních bodů tak, aby křivka vypadala co nejlépe. Nyní ji vytáhneme do prostoru pomocí funkce Surface - Extrude - Straight tak daleko, aby zaručeně procházela přední částí masivu helmy. Takto vytvořený objekt nám poslouží, jako ořezávací nástroj. Ale zatím nemáme co ořezávat. Abychom měli co, vytvoříme si pomocnou plochu - skořápku, která bude mít přibližně stejnou hlavní část povrchu, jako naše helma. Nakreslíme si tedy ve Front okně pomocnou úsečku, která povede osou helmy a bude ji dostatečně přesahovat nahoře i dole (viz obr. 19).

usecka
Obr. 19.: Pomocná úsečka


Nyní promítneme úsečku na helmu, čímž obdržíme mnoho kratších křivek. Projekci provedeme ve Front okně tak, že označíme naši pomocnou úsečku, poté zvolíme funkci Curve - From Objects - Project a vybereme objekt, na který bude promítnuta - tedy přilbu. Nyní vybereme jen ty části křivek, které potřebujeme a spojíme je. Pro přehlednost skryjte pozadí (View - Background Bitmap - Hide) a všechny nepotřebné objekty (Ctrl+H na označených objektech). Ponechejte jenom ty křivky vzniklé projekcí, které jsou označeny na obrázku 20, ostatní smažte.

projekce
Obr. 20.: Křivky vzniklé projekcí


Nyní vytvořte z těchto křivek čtyři (tak, jak jsou vidět na předchozím obrázku). Označte všechny čtyři křivky a zapněte si u nich kontrolní body. Protáhněte spodní části křivek, aby první dvě křivky bezpečně přesahovaly objekt vzniklý funkcí Extrude. Smažte přebytečné kontrolní body (viz obr. 21).

pomocné křivky
Obr. 21.: Pomocné křivky po modifikaci


Nyní necháme pomocné křivky vnějšího pláště protáhnout kolem dolních dvou elips, čímž získáme pomocný povrch. Zvolte funkci Surface - Sweep 2 Rails. Jako Rail Curves zvolte prostřední a spodní elipsu vnějšího pláště a jako Cross-section curves vyberte pomocné křivky vnějšího pláště. Potvrďte Enterem a v dialogovém okně zvolte Closed sweep. Nyní bychom tedy měli mít pomocný plášť. Obdobným způsobem si vytvoříme pomocný plášť pro vnitřní povrch. Jen použijeme jiné (ty menší) elipsy a druhé dvě pomocné křivky, které jsme si pro tento účel před chvílí připravili. Označíme oba vzniklé pomocné povrchy a zvětšíme je pomocí Scale 2D tak, aby menší pomocný povrch stále zůstal "uvnitř" masivu helmy, ale větší povrch byl bezpečně vně. Kdybychom povrchy zvětšili moc, pak by nám výsledný kříž "plaval" v prostoru před masivem helmy. Nedostatečné zvětšení by zase způsobilo, že kříž bude uvnitř helmy, nebo bude vystupovat jen mizivou částí. Záleží jen na vašem vkusu, jak chcete mít kříž "tlustý". Takže nyní máme na ploše dva pomocné povrchy a jeden vzniklý Extrudem svislé části kříže (viz obr. 22).

krok 3
Obr. 22.: Aktuální situace


Tak, konečně se můžeme pustit do ořezávání a zničit tak skoro všechno, co jsme si doposud vytvořili. Ještě před zahájením samotného destrukčního kroku si ale práci uložte a také zkopírujte oba pomocné povrchy, budeme je ještě potřebovat neporušené (okopírované povrchy skryjte, ať vám při práci nepřekáží). No a nyní označte oba pomocné povrchy a použijte funkci Split. Jako ořezávací objekt zvolte Extrudovanou část kříže. Nyní ponechte z pomocných povrchů jen ty malé části, které se nacházejí uvnitř "kříže". Zvolte Extrudovanou část a použijte opět Split, jako ořezávací objekty nyní vyberte všechny ty části pomocných povrchů, které jste ponechali v předchozím kroku nesmazány. Smažte opět přebytky a označte ty plochy, které vám po těchto úpravách zbyly a spojte je. Ověřte ještě, zda je vše v pořádku a nevznikly vám volné ("nahé") hrany. V této chvíli byste tedy měli mít hotovou svislou část kříže (viz obr. 23).

krok 4
Obr. 23.: Aktuální situace - svislá část kříže


Jistě již tušíte, co nás bude čekat teď. Ano, tvorba vodorovné části kříže. Postup je úplně stejný jako v předchozím případě, tedy nejprve si v bočním okně nakreslete křivku, která bude přesahovat pomocné těleso (viz obr. 24). Poté ji vytáhněte do prostoru (Extrude - vhodné použít na příkazové řádce b ("both sides"), potvrdit a pak teprve táhnout do prostoru, ušetříte si následné posouvání s objektem).

křivka
Obr. 24.: Křivka pro druhou část kříže


Vyberte oba pomocné povrchy (pokud jste je měli skryté, tak je pomocí Edit - Visibility - Show Selected odkryjte) a užitím funkce Split a objektu vzniklého tažením do prostoru je ořízněte. Mažte přebytečné části a podobným způsobem ořízněte i tažený objekt. Spojte příslušné povrchy do jednoho objektu. Nyní by měla situace vypadat takto.

kriz
Obr. 25.: Vytvořený kříž


[-more-]{Průzory a další díry do plechu}

Průzory a další díry do plechu:
Takže co nám tedy zbývá. Ještě by to chtělo nějaké otvory, aby náš rytíř mohl vidět z plechovky ven a taky něco, čím by mohl dýchat. Nejprve vyřešíme průzory. Nakreslete ve Front okně pomocí nějaké křivky přibližně podle předlohy obrys průzoru. Tuto křivku potom vytáhněte do prostoru (Extrude) tak, aby nový objekt zcela jistě procházel křížem. Použijte na takto vzniklý objekt funkci Solid - Cap Planar Holes a ozrcadlete jej tak, abyste měli objekty, které vyříznou díry pro obě oči. Označte oba dva a zkopírujte je (to děláme proto, že průzory mohou zasahovat jak do svislé, tak do vodorovné části kříže). Nyní přichází čas na Booleanovské operace. Označte svislou část kříže a použijte funkci Solid - Difference, jako objekty, které se budou objemově odečítat zvolte dva objekty, které jste si před chvílí vytvořili. Stejným způsobem proveďte odečtení objemu dvou pomocných objektů od vodorovné části kříže (tedy označte si nejprve příslušnou část kříže a poté použijte Difference). Kříž by po vyřezání měl vypadat takto.

kriz 2
Obr. 26.: Vyříznutý kříž


Po vyříznutí otvoru v kříži je ještě nutné vyříznout díru v masivu. Naštěstí ale nemusíme kreslit složitou křivku. Zviditelněte si masiv helmy a v bočním okně nakreslete obdélník, zapněte si kontrolní body a zdeformujejte jej podle obrázku 27.

hledí
Obr. 27.: Příprava pro vyříznutí hledí


Vypněte kontrolní body, označte si nyní již čtyřúhelník a protáhněte jej do prostoru po obou stranách (Extrude s parametrem b). Označte nově vzniklý objekt, použijte Cap Planar Holes a od masivu helmy tento objekt odečtěte. Nemuseli jsme použít tento hranol, stačily by nám pro odečtení ještě jednou okopírované průzory (toto řešení má ale malé nevýhody - stěna okolo průzoru vypadá potom příliš "tlustá"). Máme nyní helmu, ze které je dokonce vidět. Sláva. Teď ještě, aby se v ní dalo i dýchat. Vytvoříme tedy kruh, ze kterého vytvoříme objekty, jenž budou od masivu přilby odečteny stejným způsobem, jako hranol pro hledí v předchozím kroku. Vytvořte tedy ve Front okně menší kruh. Označte jej a použijte funkci Extrude s parametrem b. Vyberte objekt a zalepte jej (Cap Planar Holes). Nyní přišel čas na funkci Transform - Orient - On Surface. Označte si vytvořený válec, použijte funkci, klikněte kamkoliv ve Front okně (lépe ale někam do oblasti vytvořeného kruhu) a potom označte vnější dolní povrch helmy. Od této chvíle každým dalším klikem umístíte na jeho povrch vytvořený válec, jehož střed bude procházet povrchem helmy (to jsme zaručili při užití parametru b u funkce Extrude. Podle libosti rozmístěte "dýchací válce". Doporučuji ale rozmístění podle obrázku na pozadí. Pokud jste s rozmístěním spokojeni, označte si tyto objekty, vytvořte z nich skupinu (Ctrl+G - Group) a tu ozrcadlete podle čelní osy helmy - tedy vznikne nová skupina objektů rozmístěná symetricky s tou, kterou jsme již vytvořili na jedné "tváři". Situaci ilustruje obrázek 28.

válce
Obr. 28.: Před vyříznutím otvorů na dýchání


Nyní označte masiv helmy a použijte Difference - odečtěte obě skupiny válců od masivu. Získáme tak téměř hotovou helmu. Co nám tedy chybí ke štěstí? Pěkné nýty po obvodu přilby! Právě ty dodají našemu výtvoru zajímavý vzhled. Pokud jste puntičkáři, můžete si vytvořit nýty jakéhokoliv tvaru, postačí však obyčejné koule. Vytvořte jednu na špičce přilby, z větší části zanořenou do přilby (viz obr. 29)

nýt
Obr. 29.: Vytvořený nýt


Nyní označte kouli (nýt) a použijte funkci Transform - Array - Along Curve, zvolte jako path curve elipsu určující vršek helmy, v dialogovém okně jako položku počtu objektů uveďte číslo 30 a potvrďte Enterem. A máme rázem nýty kolem vršku. Stejným způsobem (vytvoření nýtu na správném místě a použitím funkce Array) onýtujeme všechna potřebná místa. Tam, kde to nejde takto si vypomůžeme jednoduchým kopírováním a přesunem objektů - nýtů. Tím jsme dokončili křižáckou helmu. Výsledek by měl vypadat nějak takto.

hotovo
Obr. 30.: Onýtovaná helma


Modelovací část je hotová. Nyní si stačí trochu vyhrát s materiály a můžeme docílit třeba takového výsledku, jaký je na obrázku 31.

export
Obr. 31.: Otexturování v 3ds max


Doufám, že se vám tento tutoriál líbil a že jste se třeba i něco nového naučili.

Tématické zařazení:

 » 3D grafika  

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: