Orosený povrch a několik možností, jak na to

5.6.2008· Autor: Pavel Zoch, Ph.D.· Počet komentářů: 3

Sem tam se objeví dotaz, jakže na orosený povrch v CINEMĚ 4D. Ono to není tak složité, řekněme principielně, ale otázka ladění finálního vzhledu, to už docela složité je. Ostatně sám jsem si to kdysi vyzkoušel. Dnes ale podíváme na to, jaké máme možnosti jak požadovaného efektu docílit.

Ještě k tomu, co jsem napsal na úvod. To bylo tak, byl jsem jedním svým přítelem asi tak úřed půl rokem požádán, zda bych mu neposkytl jeden model, který jsem kdysi vytvořil do jedné soutěže k narozeninám Renata Terabelly. Inu proč ne. Pak se z toho vyklubala celá nová vizualizace se zadáním, že to musí být pivo a že musí být hodně, opravdu hodně „cool“. Tedy vrhnul jsem se do toho a v rámci tohoto zadání jsem vytvořil vizualizaci pivní lahve, která je orosená. Tato vizualizace byla cíleně laděná jako velmi výrazná, tedy všechno dohromady je trochu „moc“. Sklo se hodně leskne a odráží, kapičky září, barvy jsou výrazné, stejně tak odlesky. Ale domnívám se, že to celkové zadání „cool“ splňuje. Nakonec se sice ukázalo, že vlastně takovouhle vizualizaci nechtějí a připravili jsme láhev bez orosení a řekněme hodně mdlou, to však postup nikterak nesnižuje. Domnívám se.

00

Autorem modelu i etikety je Láďa Mikluš

Podíváme se tedy na to, jak ty kapičky – skutečné kapičky připravit. Pomocí dvou modulů a tím pádem i dvou postupů, i když vlastně si ukážeme postupy minimálně tři (částečně se v mnoha ohledech ale překrývají), založené na dvou technologiích. Možnosti bychom měli jistě i další, ale tyto dvě (technologie) se mi jeví jako asi nejefektivnější a proto nejlepší. Druhá z nich je při tom i dynamická, což ale není většinou potřeba.

Ještě poznámka na okraj, k tomu původnímu souboru, který slouží jako demonstrace užití. Opravdu hodně závislá vizualizace byla na materiálech, kdy čelní plochy lahve měly jiný materiál, než vnitřní. Obsahoval totiž také hrbolatost „bump“, simulující celkové orosení lahve. Pro zkondenzované kapičky jsem již ale použil skutečně „modelovaný“ povrch.

Oba níže popsané systémy jsou založené de facto podobně a využívají do značné míry shodné kroky. Zejména z počátku a pak na konci. Telegraficky se jedná o vytvoření primárního referenčního objektu na kterém jsou rozmístěné instance kapiček a poté také na využití Metaballu, tedy dynamické slupky generující povrch kapiček. Pokud bychom uznali metaball za zbytečně náročný, vystačíme si s jednodušším efektem…

A když je řeč o efektu… (MoGraph)

Tak se na něj podíváme rovnou… Předpokládejme, že máme polygonový objekt naší lahve, sklenice, prostě toho předmětu, který má být orosený. Vybereme si pomocí polygonů oblast, ve které se mají generovat kapičky a použijeme příkaz pro zachování výběru Výběr > Zachovat výběr.

Vytvoříme si také nový objekt MoGraph > Klonování a také primitivum Koule – u kterého ponecháme výchozí typ, ale snížíme segmentaci (není většinou nutná vysoká hodnota, ostatně kapičky jsou docela malé a své udělá i Phong vyhlazení). Přiblížíme si pohled na onu kouli, kterou můžeme případně také zmenšit vzhledem k velikosti celé scény na velikost ideální kapky. Převedeme kouli na polygony a smažeme všechny body, které jsou pod první smyčkou pod rovinou symetrie.

Podíváme se na kapku odspoda a v režimu polygonů aplikujeme příkaz Uzavřít otvor. Poté vybereme N-úhelíkový polygon a provedeme vytažení uvnitř a střední polygon zhroutíme. A máme kapičku hotovou… Snad už jen jedna drobnost. Vybereme si režim editace os a aplikujeme rotaci. Poté natočíme osy podél osy P o 90 stupňů. Díky tomu bude Z směřovat vzhůru, což je z pohledu následující práce více než užitečné. Poté by se nám asi hodila ještě jedna drobnost, můžeme potáhnout podél lokální osy (teď už je vertikální Z) Z osy objektu maličko pod jeho podstavu. Tím zamezíme tomu, aby nám propadli kapičky skrze stěnu lahve. Pokud chceme, můžeme upravit vertikální velikost objektu, ale ladění není zase tak otázkou tohoto článku. Zajímá nás princip.

01

Máme tedy objekt Klonování. Pod tento objekt umístíme naší upravenou polokouli a podíváme se na nastavení objektu Klonování. Zde nastavíme režim na Objekt a do pole objektu přetáhneme jméno našeho cílového objektu. Směrový vektor ponecháme na „žádný“ a typ rozmístění zadáme na Povrch a voilá. Máme rozmístěné kapičky vody.

02

Co musíme dál, samozřejmě upravit počet, variovat lze náhodností a jak jsme si řekli, můžeme do odkazu výběr načíst oblast, na kterou chceme generování instancí omezit.

Můžeme stále řídit velikost původní instance, pokud potřebujeme. Ale, všechny kapičky jsou stejně velké. Dobrá, použijeme modifikátor Náhodnost. Vybereme si tedy objekt Klonování a vytvoříme objekt MoGraph > Náhodnost. Vypneme ovlivňování pozice a zapneme naopak měřítko. Zapneme volbu pro jednotné měřítko a upravíme hodnotu tak, abychom dostali náhodně generované velikosti kapek…

04

Další možnosti? MoGraph pracuje s tolika objekty, kolik jich dodáme (a náhodně). Tedy můžeme si vyrobit i jiné než kulové tvary našich kapiček. Vlastně by se jednalo jen o deformace v půdorysné rovině.

05

MoGraph a metaball

Vlastně úplně stejný postup jaký jsme využili v předešlém případě (instance na povrchu, bez zarovnání) můžeme použít také v případě metaballu. Stačí jen, pokud budeme generovat místo koule objekt obsahující jen a pouze jeden bod, který bude umístěn ve směru osy +Z objektu (bude tedy mít souřadnice 0, 0, +xy). Hodnota +xy je vlastně pak hodnotou offsetu kapiček vody ve směru normály povrchu.

06

Jakmile jsou hodnoty rozmístěné, můžeme vytvořit objekt Objekty > Modelování > Metaball, celý objekt Klonování dáme pod metaball a vytvoří se nám spojené, vcelku přirozené kapičky. V tomto případě můžeme vynechat vliv náhodnosti…

Jenže, metaball má jednu nepříjemnou vlastnost. A to, že v jeho nastavení se definuje intenzita připnutí generovaného pláště k bodu, přičemž tento parametr je omezen na maximální hodnotu 1000%. A to nemusí stačit! Zvláště, čím více je bodů na jednom místě (či hodně u sebe), tím větší bude celkový generovaný povrch a to až do docela velkých objemů. Tedy pokud máte na objektu instací bodu poměrně málo, povrch metaballu se generuje, ale zároveň je příliš velký, pak nezbývá nic jiného než celou scénu zvětšit například 2x, 10x či pdole potřeby. Není to příjemné, ale řešitelné to stále je…

06

Poznámka: materiál je dobré aplikovat přímo na metaball.

07

Thinking praticles – vestavěná knihovna

Kdo nemá modul MoGraph, nemusí si zoufat, protože stále je tu k dispozici také modul Thinking particles a ten zadanou úlohu zpracuje také docela dobře. Začátek je úplně stejný. Tedy skoro s tím, že TP pracuje jen s polygonálními povrchy. Tedy vytvoříme si kopii našeho objektu a tu převedeme na polygony. S tou budeme nadále pracovat. Můžeme ji skrýt pro editor i render.

Z knihovny objektů vytvoříme generátor Thinking Particles TP surface emitter. Aby tento generátor pracoval, musíme vytvořit také objekt Objekty > Thinking Particles > Geometrie částic a do tohoto objektu načteme data Objekty > Thinking Particles > Nastavení Thinking Particles > Skupiny částic a přetáhneme tam rovnou vše.

07

08

Otevřeme si nastavení TP surface emittoru. Do položky Shape načteme kuličku kapky, to může být podobný objekt, jaký jsme použili v případě Mographu. Tedy koule, která má spodní část umazanou a nahrazenou záklopem soustředných polygonů. Stejně jako v předešlém případě je vhodné posunout osy maličko pod vytvořenou základnu kapičky a následně musíme! natočit všechny polygony objektu tak, aby směřovaly ve směru osy Z objektu. Lze to udělat například tak, že si vybereme všechny polygony a dáme rotaci, kdy zapneme ve Správci nastavení volbu Modelační osy > Osy > Objekt.

10

Do pole Polygon surface TP surface editoru načteme zkopírovaný objekt povrchu – ten, který jsme převedli z rotace a skryli. Poté jen změníme parametr Type na „Shot“ a nastavíme vyšší hodnotu počtu částic, řekněme na 450 jednotek. Uložíme klíčový snímek v okamžiku 0 a pak se přesuneme do snímku 1, kdy zadáme počet na 10 a opět uložíme klíčový snímek. Pokud potřebujeme, nastavíme hodnotu Life na délku podle libosti. Rychlost animace zadáme na 0.

Proč že to všechno? Ihned uvidíme. Abychom docílili náhodné velikosti kapiček, vytvoříme si nový objekt (z knihovny TP) TP size over age. Tento objekt obsahuje přechod, který definuje velikost částic v čase. Šikovná věc. Řekněme, že máme živnost částic cca 75 jednotek, pak se tyto částice budou postupně, podle přechodu, až do dovršení živnosti zmenšovat a nebo zvětšovat. Pro render tak stačí, pokud necháme odehrát animaci řekněme do snímku 40 a máme krásně náhodně generované.

11

A to je v zásadě v rámci této cesty vše. Ano, pomocí TP modulu by to šlo udělat celé i elegantněji, ale to bychom museli zasahovat do samotného XPressa – respektive nastavení TP a to jsem nechtěl už proto, že by se to leckomu mohlo zdát složitější, než skutečně je.

13

Poznámka: materiál je vhodné aplikovat na objekt Geometrie částic.

Metaball a Thinking Particles – obecný postup

Pokud zkombinujeme to, co jsme si právě napsali o využití MoGraphu a Thinking Particles vyjde nám, že můžeme nechat vygenerovat pomocí TP modulu jen body a pak můžeme opět použít trik s metaballem. Platí při tom vlastně vše, co jsme si již řekli…

V případě TP bychom si měli uvědomit, jak silný tento nástroj – modul je. On nám totiž do značné míry dokáže pomoci s mnoha efekty a to včetně dynamických jevů. Chce to ale, pravda, trochu toho vizuálního programování.

K využití metaballu drobná poznámka. Funkci metaball musíme aplikovat na skupinu částic zosobněnou objektem Geometrie částic, jinak nebude fungovat… Jinak je vše stejné s předchozím příkladem.

14

Další cesty?

Jistě že, cest je mnoho, využít lze množství duplikačních pluginů které pracují s výběry a podobně, ale samozřejmě, že interní moduly C4D jsou v tomto ohledu asi nejefektivnější.

Pavel Zoch, Ph.D. Úplnej a naprostej .....

E-mail: pzdm(zavinac)digitalmedia.cz | Web: www.3dsoftware.cz | ICQ: 248707187 |

Motto: "Co ve věčnosti leží, mrtvé není, v záhadě věků i smrt se ve smrt změní." (H.P.L.)

Komentáře k článku  
Ještě displacement Mattoni | 5.6.2008 7:43
možnosti pzdm | 5.6.2008 8:26
. Zeb | 16.6.2008 15:24

Přihlášení uživatele