Práce s podklady - 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

Práce s podklady

28. února 2008, 00.00 | Je to klasický příběh, android potká androida, z něhož se vyklube slizka, tedy vlastně ne. Příběh je o tom, že poměrně dost uživatelů při práci se CINEMOU 4D používá pro modelování nikoliv nastavení pozadí, jak je CINEMĚ 4D vlastní, ale na sebe kolmý systém rovin, který buďto viděli v jiných aplikacích, nebo různých návodech na Internetu. A tudíž je nasnadě otázka, když už to používají, co to trochu vylepšit?

Znáte již mou inspiraci a důvody, se kterými jsem se pustil do následující úlohy, jejíž výsledky bych vám rád dnes představil. A cože to tedy tak dlouho uvádíme? Jednoduché roviny, které mohou sloužit jako podklad pro modelování.

Systém CINEMY 4D

Je pravdou, že CINEMA 4D využívá systém podkladů pro modelování, který mi není vůbec cizí a většinou si s ním vystačím. Je ale také pravdou, že tento systém má některá omezení, která jej mohou v očích některých uživatelů poněkud srážet.

V prvé řadě se zde setkáváme se skutečností, že uvedený systém CINEMY 4D není podporován ve 3D pohledu (tedy toto omezení lze obejít, ale je to trochu složitější) a také že nemohou být v rámci jednoho pohledu (tedy perspektivě) zobrazené pohledy všech tří základních výkresových rovin.

Abychom ale byli korektní, tak tento systém má i své nezanedbatelné výhody. V prvé řadě máme obrázek zobrazený v maximální možné kvalitě, můžeme si definovat jeho rotaci, pozici a také velikost, a to závislou na zachovaném poměru stran, nebo nezávislou. Třešničkou na dortu je podpora alfa kanálu, pokud je v obrázku přítomen.

A kdeže to všechno najdeme? V nastavení pohledu (Shift+V). Zde je kromě jiného záložka pozadí a v ní najdeme nastavení obrázku do pozadí pohledu.

Na sebe kolmé roviny

Tam, kde končí možnosti pozadí 2D pohledu, se zdá, že by mohly začínat možnosti rovin v prostoru. Jenže ono to není zase tak jednoduché. Jsou tu výhody i nevýhody, ale vše si postupně popíšeme.

Mezi základní výhody jednoznačně patří, že si můžeme zobrazit všechny tři roviny podkladu najednou. Ale našly by se i další vymoženosti, jenže ty už nepatří přímo do oblasti toho, co by bylo nějak zvláště rychlé. Například si můžeme také definovat průhlednost, alfu a podobně. Nemůžeme ale nijak jednoduše definovat velikost roviny založenou na obrázcích, museli bychom pracně opisovat velikosti obrázků tak, jak je máme zobrazené v kanále materiálu, po načtení takového obrázku. Trochu složitější je také otázka kvality zobrazení uvedeného podkladu. Kvalita zobrazení je totiž závislá na nastavení kvality náhledů v jednotlivých materiálech scény, a to může docela zásadně zatížit grafickou kartu. Jednoznačně více než nastavení pozadí 2D pohledu (i když ani to samozřejmě není bez následků).

Popsal jsem právě některé nedostatky uvedeného systému, a když ne přímo nedostatky, tak slabší stránky. Tyto slabší stránky jsem se pokusil vyřešit v rámci poměrně masivního XPressa, které jsem připravil pro dva systémy na sebe kolmých ploch.

Kříž a nebo strana ke straně?

Při konstrukci systému podkladu pro modelování máme k dispozici v zásadě dvě možnosti rozmístění těchto rovin. Roviny mohou být umístěny ve svých středech do kříže, a nebo mohou být umístěné tak, že se jedná vlastně o tři stěny „otevřeného kvádru“. Pro každého, co se mu hodí, a asi je na čase, abychom se podívali na to, co jsem připravil.

Kdeže to stáhnu?

Celý systém je součástí nové verze MoXPigu pro C4D R10.x, takže si stáhněte novou knihovnu MoXPigu z níže uvedeného odkazu.

MoXPig

Křížový systém

Podívejme se tedy nejdříve na křížový systém. Ten je tvořen třemi objekty Rovina, jejichž vzájemná velikost a také segmentace je definována přímo skrze uživatelská data objektu osy, který je pojmenován Blue-cross. Tento objekt obsahuje množství nastavení, která si nyní popíšeme.

01

02

Popis si můžeme začít představou, že si vytvoříme tři materiály. Do každého načteme obrázek do kanálu Svítivost a upravíme na stránce Iluminace nastavení velikosti náhledu minimálně 512x512. Materiály by měly obsahovat obrázky tří pohledů - tedy rovin XY, XZ a YZ s tím, že by jejich velikosti měly odpovídat. Tedy, že z obrázků XY a XZ by měly rozměry X odpovídat v obou texturách a podobně. Ale nemusí, představme si ale, že tomu tak skutečně je…

Jenže jak může systém získat informace o tom, jak je textura velká? Jednoduše, stačí, pokud si tu samou texturu (tedy texturu použitou na ploše XY) načteme i do uvedeného pole objektu Blue-cross. Tím se do objektu načte velikost textury v tomto směru (XY) a promítne se (pokud je uvedená možnost zapnutá – tedy pole XY) do velikosti systému. Nyní můžeme načíst i obrázek půdorysu, tedy roviny XZ. Možnost aktivace tohoto pole je bohužel závislá na tom, zda je aktivní pole XY.

Pod poli pro zadání velikost ploch z obrázků se nám zobrazují informace o jejich velikostech. Je-li nám zobrazení rovin malé, můžeme využít multiplikaci a upravit velikost systému pomocí zadání procentické hodnoty.

Co ale uděláme, pokud máme třebas jen jeden pohled přesně připravený? Tedy pohled řekněme XZ – hodnotu Z? Pak tedy zapněme první hodnotu XY a do pole XZ načtěme texturu, kterou potřebujeme, a zapněme také příslušné pole XZ. Poté ve vrchní části nastavení aktivujme volbu Get size from picture, kterou se přenesou hodnoty načtených obrázků do „ručního“ zadání. Toto tlačítko opět ihned vypneme, použili jsme jej jen pro přenos dat. A nyní již můžeme velikost upravit ručně – tedy můžeme si nastavit hodnoty podle potřeby.

Díky ručnímu zadání si můžeme nastavit roviny, jak chceme veliké, nejsme závislí na obrázku, a tak můžeme například využít jeden obrázek – materiál ve všech třech pohledech. Jen musíme nastavit korektní hodnoty umístění (posunu textury v rámci UV souřadnic) a také velikosti v rámci UV projekce.

Pro vyšší přehled si můžeme v objektech zobrazit mřížku – tedy segmentaci rovin. Všechny roviny jsou segmentovány ruku v ruce, a tak jsou jednotlivé smyčky hran vždy navazující z objektu na objekt.

Pokud pracujeme s OpenGL režimem (nemluvě o pokročilém OpenGL), tak si můžeme materiály na objektech řídit v jejich průhlednosti. Stačí si řízené materiály přetáhnout do příslušných polí Material 01-03 a poté nastavit přechod Transparency. Jakmile pohneme přechodem Transparency, tak aktivujeme kanál Průhlednost všech materiálů, které jsem načetli do našeho objektu, a nastavíme jim průhlednost v zadané hodnotě. Vypneme také (pokud je aktivní) nastavení rentgenu XRay.

Pro opravdu dokonalé zobrazení průhlednosti doporučuji používat pokročilé OpenGL.

Projekce materiálů

Pokud nám odpovídají velikosti podkladů pro všechny tři roviny, je to snadné. Stačí jen aplikovat materiály na jednotlivé roviny. Pokud potřebujeme převrátit materiál, stačí si vybrat vlastnost Textura a zadat velikost v daném směru na hodnotu „-“. Pokud potřebujeme upravit polohu obrázku, pak máme k dispozici nastavení hodnot posunu.

Systém navazujících ploch

K dispozici máme také onen druhý systém, avšak v jeho případě je pravdou, že si můžeme u popisu pomoci systémem křížovým. Rozdíly jsou poměrně malé, ale přesto tu jsou. Jedná se zejména o nastavení umístění jednotlivých rovin. Můžeme totiž pomocí přepínačů definovat, zda se roviny zobrazí na ose +/-. A to je v případě tohoto systému dost podstatné.

03

04

Ostatní nastavení jsou shodná s již popsaným systémem. Výhodou tohoto objektu je, že si můžeme vytvořit poměrně jednoduše i další roviny do krychle, každou s jiným materiálem.

Závěrem několik rad

Můžete kombinovat tolik systémů, kolik jen chcete, protože jakoukoliv rovinu lze vypnout. Pozor však na to, abyste neřídili jeden materiál (průhlednost) více objekty. Další podmínkou je, že objekt musí mít pro využití všech možností zobrazení nastavený takový systém zobrazení, který to podporuje (průhlednost). Proto mají oba objekty vlastnost Zobrazení.

05

A nakonec?

Pokud naleznete něco, co by se dalo vylepšit, dejte mi vědět. Pokusím se to, pokud to bude k věci, implementovat.

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: