Jednoduché lano za pár minut a za pomoci shaderu - 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

Jednoduché lano za pár minut a za pomoci shaderu

4. září 2009, 00.00 | V maličkém návodu si ukážeme, že nejen modelováním můžeme vytvořit pěkný model lana. Vhodně nastavenou interpolací křivek a pár shadery dosáhneme vcelku přijatelného výsledku za minimální námahy. Mimo CINEMY 4D budeme přitom potřebovat maximálně efekt subpolygonální deformace.

Základní inspirace dnešního článku opět pochází z dotazu uživatele a i když se nakonec ukázalo, že jeho dotaz byl zaměřen na nízkopolygonální model, tak semínko nápadu již klíčilo a dnes se s Vámi podělím o jednoduchý postup.

Celý dnešní návod je založen na dvou pravidlech. Pravidelné segmentaci vzniknuvšího modelu lana a na jednoduchém shaderu. Nebudeme náš model nějak zvlášť dolaďovat do cílové podoby, není to podle mého nezbytné, ale ukážeme si cestu, jak vskutku za minima námahy dosáhnout poměrně pěkného vzhledu...

Model

Základem všeho je prosté protažení po křivce. Vytvoříme si tedy křivku cesty a křivku profilu v rovině XY. Profil je ideální vytvořit jen z křivky N-stěn a cestu z B-Spline křivky. Vytvoříme si objekt ProtaženíNURBS a obě křivky pod tento objekt zařadíme. Upravíme si zobrazení v editoru na Gouraudovo stínování (hrany) a nebo Rychlé stínování (hrany) a nastavíme si zobrazení hran na Drátěný model. Uvidíme tak velmi názorně segmentaci modelu. U křivky cesty upravíme interpolaci na režim Jednotná, aby vznikla pravidelná segmentace polygonové sítě a poměrně razantně zvýšíme množství segmentů (na dvojnásobek výchozí hodnoty 8, ale možná i na více). Při úpravě srovnáváme zadanou hodnotu se segmentací v editoru.

01

02

Jsme li spokojeni, vezmeme si ještě nastaví profilu a zvýšíme počet segmentů profilu tak, aby byl povrch modelu tvořen víceméně pravidelnými čtverci.

04

U objektu Protažení NURBS vypneme tvorbu uzávěrů. Nebudeme je u naší demonstrace potřebovat. Další činnosti se odehrají jen na úrovni jednoduchého nastavení v materiálech.

Materiál

Vytvoříme s ve Správci materiálů nový materiál a aplikujeme si jej na objekt, který jsme si právě vytvořili.

Otevřeme si vytvořený materiál a přejdeme do kanálu Deformační mapy. Aktivujeme si volbu Subpolygonální deformace (pokud máme nainstalovaný modul Advanced Render, pokud ne, pak použijeme objekt HyperNURBS který nám udělá totéž) a do pole textury nahrajeme shader Přechod.

Shader Přechod má obrovské množství typů a jakkoliv jsou tři z nich velmi podobné, přeci jen se jeden z této skupiny vymyká. Hovoříme o shaderech 2D-U, 2D-V a 2D-přes úhlopříčku. Všechny tři mají parametr Úhel, kterými je můžeme natáčet. Jenže i když u všech třech aktivujeme parametry Cykly, který má zajistit jejich opakování, nebudou se při natočení korektně opakovat. Tedy první dva. Ten třetí se korektně opakovat bude a jediné co tam musíme zadat je takový úhel, aby docházelo k navazování v případě dlaždicového opakování vzorku. Necháme ale úhel tak jak je a projekci si mírně upravíme právě v dlaždicích. Přejdeme tedy do nastavení barvy přechodu.

05

Nejdříve zadáme pravý bílý uzel do hodnoty 50%. Tuto polohu si můžeme zkontrolovat v numerickém nastavení, které se objeví poté, co klikneme na trojúhelníček který je vedle popisky „Přechod“. Klikneme poté na přechod pravým tlačítkem myši a objeví se maličké kontextové menu. Z tohoto menu si vybereme příkaz pro „Dvojnásobné uzly“. Poté příkaz ještě jednou zopakujeme. Vznikne nám touto operací perfektní opakující se přechod, který ale má k symetrii jeden nedostatek. Vytvoříme tedy úplně vpravo na hodnotě 100% další uzel, který bude mít zcela černou barvu. A tím to je hotovo. Mimochodem, ponecháme také nastavení interpolace přechodu, Kubické uzly budou nejvhodnější.

V nastavení deformačního kanálu se ujistíme, že je aktivní volba zaoblené geometrie a vypnutá volba pro zachování původních hran a můžeme si vyzkoušet vzhled našeho objektu. Jen podotýkám, že hodnota deformace závisí na celkové velikosti modelu, respektive průřezu a ta bude příklad od příkladu jiná. Určitě asi zjistíme, že čím větší velikost průřezu, tím vyšší hodnota deformace bude zapotřebí.

A můžeme si náš materiál aplikovat na objekt. Podle potřeby a velikosti (zjistíme několika testy) nastavíme velikost promítané dlaždice, přičemž aby nám vše navazovalo je zapotřebí, aby ve směru obvodu vzorky tvořili při vynásobení celým číslem hodnotu 100%. Tedy vhodné jsou hodnoty 50, 25 a tak dále. Pokud se nám nechce testovat SPD přímo v renderu, můžeme si pomoci jednoduchým trikem. Zkopírujeme si shader do kanálu Barvy, čímž se nám zobrazí přímo v editoru a bez práce. Je to jednoduché a účinné.

06

07

A jsme hotovi. Vytvořili jsme si model lana a to bez nějaké námahy. Co by mohlo následovat dále? Samozřejmě materiál, který by ale také neměl být principielně složitý. Pokud si totiž uvědomíme jak je lano konstruováno, z jednotlivých provazců která mají opačný směr kroucení pak stačí jen využívat další shadery přechod ale v menším měřítku a v kolmé projekci. Postupně by mohl objekt vypadat asi jako níže uvedeném obrázku.

20

Barva

08

09

Povrchová úprava

10

Odrazivost

11

12

Hrbolatost

13

V rámci článku bychom měli zmínit ještě jednu skutečnost. A to, že lano lze samozřejmě bez potíží vymodelovat a to pomocí jednoduché finty (výše uvedený postup je otázkou shaderu).

Místo kruhového profilu (tedy N-stěnu) použijeme křivku Květina. U této křivky nastavíme 5 listů (v nastavení objektu) a převedeme ji na editovatelnou křivku. Ujistíme se že nejsou vybrané žádné body a nastavíme všechny body na lineární ostrou interpolaci. Poté si vybereme vnitřní body a nastavíme osy výběru podle os objektu a upravíme jejich velikost (zvětšíme). Následně vybereme všechny vnější body a pomocí příkazu Srazit vytvoříme polokulovité zaoblení. Výsledek by mohl vypadat jako na obrázku. Tím docílíme vhodného profilu, který jen protáhneme po cestě (která by opět měla mít vhodnou interpolaci).

15

Pokud zaměníme původní křivku s nově vytvořenou, stačí, pokud v nastavení Protažení NURBS nastavíme hodnotu koncové rotace na dostatečně vysoký úhel a tím by měl vzniknout dostatečně přesvědčivý tvar. A co více, s perfektní UV mapou.

16

Tématické zařazení:

 » 3D grafika  

 

 

 

 

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

Uživatelské jméno:

Heslo: