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
3 DS Max: Statické kapky vody
voda
24. ledna 2003, 00.00 | V tomto návodu si ukážeme krok za krokem, jak vytvořit v maxovi realistické kapky vody pomocí particles. Prozradím Vám také způsob, jak rozzářit vaše kapičky třpitivými caustics ve standardním Scanline rendereru maxe.
Abyste měli na začátku nějakou motivaci, tak tento tutorial vás dovede k
tomuto obrázku:
Začneme podkladem. Nejjednodušší bude Plane - dohodneme se na Width=100, Length=200. X,Y,Z ponecháme 0 a zmáčkneme Create. Detailisti si můžou "Plane01" přejmenovat na "podklad".
Na vytvoření kapek použijeme částicový systém PArray, který dovoluje jako emitor částic použít libovolný objekt a generuje MetaParticles. Ty jsou ideální právě na simulaci slučování molekul kapaliny do jednotlivých kapek rozdílných tvarů a velikosti.Jako emitor bychom mohli použít rovněž náš podklad, ale kvůli lepší kontrole si vytvoříme ještě jednu pomocnou Plane, menší než je podklad, abychom se vyhnuli kapkám mimo podkladovou desku na jejích okrajích. Zadejme Width=50, Length=180. (Když se budete držet přesně těchto čísel, vyhnete se zbytečným problémům. Metaparticles se totiž umí zachovat celkem překvapivě i při nejmenší změně některých parametrů.) Nazvěte nový objekt "emitor" a kliknutím pravým tlačítkem v aktivním viewportu otevřte panel jeho Properties.
Když chceme tento objekt použít jen jako emitor pro PArray, ale nechceme ho vidět v renderu, vypneme mu Renderable, jak to ukazuje screenshot vpravo.
Teď se můžeme vrhnout na particles. Vytvořte PArray (úplně jedno kde, pozice, orientace ani velikost gizma nehrají žádnou roli) a pojďme rovnou na parametry. Budeme popisovat jen ty, které změníme oproti default hodnotám. Ostatní vyhovují jak jsou anebo nebudou pro nás důležité. Takže pěkně shora dolů:
Basic Parameters
Přes [Pick Object] vyberte náš emitor. Viewport
Display přepneme na Mesh a Percentage
of Particles vypálíme na 100%. Chceme
totiž vidět naše metaparticles přesne tak, jak vyběhnou z renderu.
Particle Generation
Počet částic, které budou statické, budeme celkem logicky určovat jejich
celkovým počtem a ne frekvencí generovaní. Takže přepněte na Use
Total a zadejte 100. Speed
snižte na 0. Aby bylo hned v prvním "frejmu"
všech 100 částic vytvořených, musíme zadat Emit Stop = 0.
Potom tu máme Particle Size - já jsem zvolil Size = 8
a Variation 50 % (nejdřív s tím můžete experimentovat,
správná velikost samozřejmě závisí na velikosti a charakteru scény). Důležité
je zrušit efekt postupného narůstání a zmenšovaní částic po dobu jejich života.
Takže Grow For = 0 i Fade
For = 0. Jinak bychom v prvním snímku neviděli nic, kapky by nám vyrostly
do velikosti 8 až v desátém snímku.
Particle Type
Jak jsme už říkali, zvolíme tu MetaParticles. V MetaParticle Parameters můžete
ponechat Tension = 1 a Variation = 0,
i tak budou kapky dostatečně rozdílné, když Variation při Size
je 50 %, při čemž velikost částic se pohybuje od 4 do 12 jednotek. Když půjdete
při experimentovaní s tenzí dolů k nule, metaparticles začnou nabývat podobu
standardních kuliček (porovnejte si přepnutím na Standard Particles a Sphere),
při zvyšovaní Tension bude naopak hustota hmoty okolo jednotlivých metaparticles
klesat rychleji s narůstajícím poloměrem, takže bude potřeba více částic
u sebe,
aby vytvořily kapku. Museli bychom teda zároveň výrazně zvýšit celkový počet
generovaných částic a zmenšit jejich poloměr. Ale to by už šly i ty
nejsilnější stroje do kolen, takže opatrně ;O)
Když si chcete zkontrolovat parametry vizuálně, zde jsou screenshoty:
Kapky máme hotové, můžeme si nahodit kameru. Já jsem použil Free Camera,
Lens 35 mm. Přiblížil a natočil jsem ji tak, aby
deska s kapkami vyplnila pohled a vytvořila jednoduchou diagonální kompozici.
Na přesné doladění výřezu je dobré si zapnout Show Safe
Frame v menu viewportu. Zatím by měla naše scéna vypadat nějak
takto:
Když kapky vody jsou jako transparentní objekt čitelné hlavně díky okolním předmětům a světlům, které odrážejí, musíme okolo nich vytvořit prostředí. Navrhuji nezdržovat se vytvářením nějaké kuchyně s raytracovanými poháry na poličce s 5000 faces. Úplně v pohodě bude fungovat i jednoduchá Geosphere s vhodnou panoramatickou mapou.
Jednu takovou tématickou jsem přiložil -
pan-bazen.jpg (192kB)
Vytvořte obyčejný Standard materiál, hoďte tam
pan-bazen.jpg j jako Diffuse
bitmap, Self-illumination na 100%
a ještě tu ikonku modro-bílé šachovnicové kostičky, při čemž Show Map in Viewport.
Teraz Geosphere - je na vás, jak velká bude, určitě by ale měla "zabalit"
celou scénu i s kamerou a měla by mít střed ve středu scény, v našem případě
v X,Y,Z=0. Také je rozumné vytvářet ji v Top viewportu, daleko logičtěji
se potom spravuje při otáčení. Aby se opravdu objevila v odrazech na kapkách,
je třeba jí ještě otočit normály dovnitř. Nejelegantnější to bude přidáním modifikátoru
Normal - tam najdete checkbox Flip Normals.
Možná vás napadne, že tento účel splní i obyčejná Enviroment map, mapovaná sféricky. Já používám raději kouli, vidím ji ve všech pohledech a rychleji se s ní manipuluje než s enviroment mapou, zobrazenou přes Viewport Background. Při nastavování světel pochopíme další výhody enviro sféry.
Jako keylight vytvořte Target Spot v top viewportu tak, aby svítil zprava
na střed scény. Ve front viewportu ho posuňte nahoru. Pomocí hotkey F3 můžete
kdykoliv rychle přepnout aktivní viewport do módu Smooth
Shade a nazpět do Wireframe. Když dočasně
vypnete pro enviro sféru Filp Normals, budete
moci světlo vizuálně přizpůsobit zdrojům světla na panoramatické mapě. V našem
případě je to světlík nad bazénem. U mě to vypadá asi takto:
Aby nám enviro sféra neblokovala světlo, v jejím Object Properties vypněte Receive Shadows i Cast Shadows. Když ji nechceme vidět v pozadí, ale jen v odrazech a refrakci, vypneme i Visible to Camera.
S materiálem podkladu se nebudeme zabývat. Když chcete, můžete si stáhnout materials.zip(643kB), který obsahuje matlib a textury na ten plech, který jsem si tam dal já.
Pojďme ale na materiál kapek. Je to Raytrace materiál, který se mi
jevil v renderingu rychlejší jako Standard s Raytrace mapami pro Reflection a
Refraction. Kromě toho poskytuje velké množství parametrů pro speciální efekty,
jako například Fog či Translucency. Jdeme simulovat kapky vody, při čemž
vlastně čistou vodu. (Hotový materiál "voda kapky"
najdete v materiálové knihovně v materials.zip)
Raytrace Basic Parameters
Shading doporučuji Anisotropic pro jeho
brilantní specular highlights.
Ambient a Diffuse colors dáme černé,
tak či tak by nám vysoká transparence a reflexe nepustily žádnou difúzní
barvu.
Specular Color na čistou bílou a Specular Level
na extrémních 300 zaručí kapkám jagavé highlights
za jakýchkoliv světelných podmínek.
Glossiness může být nastavená na takových 75-80,
i když ve skutečnosti by to bylo jistě více. Je to proto, aby se odlesky i na těch
nejmenších kapkách neztratily v antialiasingu.
Anisotropický efekt při vodě nechceme, takže Anisotropy = 0.
Když vytváříme transparentní matroš, zapněte ješte 2-Sided.
Index of Refraction bude mít pro vodu hodnotu
1.333, že...
Extended Parameters
Tu jen přepneme na spodku rollout-u Reflections Type
na Additive a Gain
vypálíme na maximálních 1.0. To způsobí nerealistické
ale efektní aditívní smíšení reflexí s transparencí. Celý materiál tak
bude žářivější.
Maps
Reflection map bude Falloff.
Přednastaveným typům ubývání je Perpendicular/Parallel a směr ubývání je
Viewing Direction. Černá barva nahoře a bílá dole (Front:Side) způsobují, že
materiál bude 0%-ne reflexní ve střede a 100%-ne na okrajích kapky. To je skoro
přesně to, co potřebujeme. Přestože v reálu neubývá míra odrazivosti směrem k
okrajům lineárně, jako v případě Perpendicular/Parallel, ale logaritmicky. Takže
přepneme Falloff Type na Fresnel,
a ve Fresnel Parameters vypneme Override
Material IOR.
Transparency map bude přesně stejná Fresnel
Falloff mapa jako Reflection, třebaže bude mít vyměněné barvy pro
Front:Side. T.j. bílá nahoře a černá dole. Napravo mezi Front:Side barvami, resp. mapami,
je na to jedna šikovná ikona - Swap Colors/Maps (profíci odpustí ;O)
Pro větší nastavení kapek jsem namísto černé použil v transparenci i v
reflexi šedou. Viz přiložený materiál library.
(Ještě taková malá poznámka ke kopírování map
mezi slotmi
metodou Drag&Drop: po pracném nastavení falloff mapy pro reflection ji můžete
samozřejmě zkopírovat do slotu pro transparency map a potom jen swapnout
front:side colors, ale pozor na metodu kopírování mapy, mám takový dojem, že max vám
jako přednastavenou možnost nabídne Instance. V takovém případě by se přehodily
front:side barvy i v reflection. Použijte metodu Copy na vytvoření nezávislé kopie.)
Hotový materiál aplikujeme na PArray a kapky jsou připravené.
Když si pustíte testovací render, uvidíte, že tomu ještě něco chybí.
Jsou to caustics, které vytvářejí louče světla zaostřené refrakcí
při přechodu přes čočkovitý
transparentní objekt. Scanline renderer 3ds max tento efekt standardně nepodporuje,
ale to nebude problém, ukážeme si jako to oklamat a vytvořit faked caustics.
(mimochodem, i při těchto několika kapkách vody by bylo na výpočet caustics
třeba milióny fotonů, zkusil jsem si to přes mental ray a pochopil jsem, že "tudy
cesta nevede" ...)
Pomocí příkazu Clone v menu Edit vytvořte nezávislou Copy. Nazveme ji Spot Caustics. V Shadow Parameters přepněte typ shadows na Shadow Map a Color nastavte na bílou, případně světle modrou. Když vypnete Light Affects Shadow Color, max bude místo stínů "vrhat světlo". Vedle sample slotu na barvu stínu je možné ještě zvýšit hustotu stínu - dejme Density na 2.2. No a aby nám toto světlo zbytečně nepřisvěcovalo objekty, stáhneme mu intenzitu světla přes Multiplier na zanedbatelných 0.01.Když chceme rozostřené caustics, které dopadají kousek dále než vrhnuté stíny, v Shadow Map Parameters nastavíme Biasna 2.0 (takže se nám trochu odtrhnou od objektu), Size na 600 a Sample Range na 6 (to by je mělo tak akorát rozhostřit), ještě zapněte Absolute Map Bias.
Na celkové dochucení atmosféry jsem ještě dozadu za scénu vytvořil jedno syté
modré Omni světlo bez stínů, a s vypnutým Diffuse, při čemž "Specular only".
Tip: ikona Place Highlight, pod rozrolovací ikonou
Align.
A vůbec, takových Specular only Omni světel můžete pro vytvoření bohatých highlights
na kapkách napráskat kolem-dokola, jako koření do guláše, čím víc, tím
lépe.
Celkem na závěr možná budete chtít zvýšit počet pólů pro kapky. Je to v Metaparticle
Parameters takzvaná Evaluation Coarseness,
zvlášť a zpravidla více pro Viewport, a jemnější pro samotný render. Hrajte
si s tím opatrně, případně před tím sejvujte, abyste mohli maxovo trápení
rázně ukončit milosrdným End Process. Já jsem použil pro render 0.5.
Rendering time byl u mě něco pod 2 minuty (Dual 1GHz
Pentium III).
Když byste potřebovali ručně editovat jednotlivé kapky, anebo všechny pro zvýšení realismu, můžeme je v ose z zploštit pomocí Vol.Select a X-form, použijte Snapshot z menu Tools, který částice zkonvertuje na Mesh.
Happy rendering ;O)
Tématické zařazení:
-
23. dubna 2014
Konica Minolta přenesla výhody velkých zařízení do kompaktních modelů
-
11. května 2014
-
23. května 2014
Epson na konferenci Droidcon Berlin ukázal nové možnosti čekající na vývojáře OS Android
-
24. listopadu 2014
-
13. května 2014
Samsung NX3000: retro styl, špičkový výkon a snadná konektivita v jednom přístroji
-
30. listopadu 2014
Nový fotoaparát α7 II: první plnoformát s pětiosou optickou stabilizací obrazu na světě
-
15. prosince 2014
Konica Minolta pomůže živnostenským úřadům s digitalizací dokumentů
-
11. května 2014
-
26. listopadu 2014
Canon Junior Awards již posedmé ocení mladé fotografy v rámci Czech Press Photo
-
21. srpna 2014