Renderelés Mental Ray-el Studio Max 7-ben

1. rész : az alapok

Mivel viszonylag kevés mental ray tutorial található a neten, ezért úgy gondoltam hogy szélesítem az ezzel a renderelővel foglalkozó leírások tárházát.Sokan azt gondolják, hogy ez a képkiszámító nagyon nehezen használható és az ezzel előállított képek minősége sem megfelelő, mely vélemények természetesen a program hiányos ismerete miatt alakultak ki. Ez a leírás a nehézkes használat megcáfolására pedig remélem jó ellenpéldát szolgáltat a magyar felhasználók között.

A tutorial legelső részében a Mental Ray renderelő beállítási lehetőségeit és a Render Panel elemeinek funkcióit mutatja be tesztrenderek segítségével, melyek remélhetőleg megkönnyítik a MR megértését és későbbi használatát.

A renderelő aktiválását a Render ablak Common fülének Assign renderer legördülő menüjében tehetjük meg, méghozzá úgy hogy a Default scanline renderert lecseréljük Mental Ray-re(a jobb oldali ábrán pirossal karikázva).

Ha szeretnénk hogy a továbbiakban is ez legyen az aktuális renderelő és ne kelljen minden Studio Max indítás után újra bállítani akkor kattintsunk a Save as Defaults elnevezésű gombra.

Miután ezzel a bonyolult művelettel készen vagyunk 8-) ismerkedjünk meg a megváltozott felületű Renderer füllel.

Számunkra először csak 3 paramáter fontos erről a fülről, melyek a Sampling quality menü elején találhatóak és a renderelő mintavételezését lehet velük beállítani. Ez egyfajta antialias eljárás,mely úgy működik, hogy a Mental Ray mindenhol a minimum érték alapján vesz először mintát, majd ahol nagyobbak a "színkülönbségek"(ezt az érzékenységet a contrast menüben lehet beállítani) ott megismétli a mintavételt, pontosabban további mintákat vesz a területről, és ezt egészen addig teheti amíg el nem éri a maximum mintavételezési értéket.

Samples per pixel:
- Minimum: a legkevesebb mintavétel pixelenként
- Maximum: a legtöbb mintavétel pixelenként

(Azért kell két értéket megadni mert a jelenet kiszámítása során a program adaptív módon hol kevesebb hol több mintát vesz pixelenként. pl.: min1/4 = 1 mintát vesz minden 4 pixelre, max 4=ha a szomszédos minták között a "szinkülönbségek" nagyobbak egy bizonyos értéknél ott max. 4 mintát vesz pixelenként)

Filter type: Itt választhatjuk ki, hogy a mintákat milyen módszerrel filtereljük

A box a leggyorsabb, de a mitchell és a lanczos produkálja a legjobb eredményt.Összehasonlításképpen a mitchell filterrel a legsimábbak az élek (olyan mint scanlineban Mitchell-Netravali),a Lanczos-sal pedig erős éleket kapunk (mint scanlineban a Catmull-Rom-mal).

A fenti ábrán látható függvények a filterek súlyozását szemléltetik oly módon, hogy az y tengelyen az egyes minták súlyát, míg az x tengely(pontatlan jelölés miatt) látható pozitív felének a közepe a filterelt pixel középpontját jelöli(pl triangle pixel középpontja a függvény legmagasabb csúcsa ).
Filter types:
A tesztrenderek az öt különböző filtertípussal készültek és kicsit alulminta-vételezettek, hogy jobban kivehetőek legyenek a filterek közötti különbségek. (Box,Triangle,Gauss,Mitchell,Lanczos ) Ha a sebesség nagyon fontos akkor is javasolt Box helyett inkább Triangle filtert használni, mert kb 1%-al lassabb ez az eljárás. Ha nem a sebesség a legfontosabb számunkra, akkor érdemes szem előtt tartani, hogy a Mitchell adja a legtökéletesebb minőséget, a legélesebb képet pedig a Lanczos.A Gauss filter használata pedig csak akkor javasolt ha kicsit életlen képet szeretnénk készíteni.
Az Indirect illumination ablak, mint ahogy a neve is jelzi a felületek által visszavert,szórt fénnyel kapcsolatos renderbeállításokat tartalmazza.2 fő részre oszthatjuk, az egyik a tényleges fotonszámolás beállításaival(photon mapping), a másik pedig a raytrace indirekt fényszámolással azaz a final gathering-el foglalkozik.

A Global Illumination menüben többek között beállíthatjuk a fényforrások által kibocsátott fotonok kezdőintenzitását, mennyiségét, méretét, visszaverődéseik maximális számát, és azok fényerőcsökkenésének mértékét is.

A Final Gather menüben pedig a hasonló elnevezésű eljárás beállításait végezhetjük. A final gather egy a radiosity-hez hasonló eljárás, melyet ha GI-vel (glob. illum.) együtt használunk, akkor érhetjük el a legjobb végeredményt. Természetesen ez a képminőségbeli javulás a renderidő növekedését eredményezi.

Abban különbözik a GI-től, hogy itt nem a fényből kibocsátott fotonokkal, hanem a nézőpontból küldött sugarakkal számol a renderelő az indirekt fény szimulálása során.Alkalmazása lehetséges a GI használata nélkül is, tehát a global illumination és a final gather két egymástól független indirekt fényszámítási eljárás, melyek együttes használata javíthat a végleges kép minőségén.

A tutorial további részében pedig az egyes funkciókat és paraméterhatásokat tesztrenderek szemléltetik, rövid szöveges magyarázatokkal.

Global illumination:
Photons: 0-1000-10000-1000000
A fotonok szükségesek ahhoz hogy a GI számításnál az indirekt fényt szimulálni tudjuk.Ezek számának növelésével kezdenek eltűnni a "foltok", viszont ez a renderidőt is megnöveli. Ha a photons per sample érték túl kicsi(lásd lentebb) akkor hiába emeljük a fotonok számát, mert a renderelés során mintánként maximum csak annyi fotont vesz figyelembe amennyi a photons per sample értéke (hiába számolja ki az összes foton útját és visszaverődését a preprocess során)
Energy multiplier: 0.1-1-2-4
Az energy multiplier a fotonok kezdő fényerejének szorzója, melyet akkor érdemes növelni, ha a várt GI hatás túl gyenge a jelenetünkben.Vagyis ha bekapcsoltuk a GI-t és szinte semmilyen változást nem látunk a képen a fotonszám növelés ellenére akkor ezt az értéket célszerű megnövelni.
Decay: 2-1.9-1.8-1.7
A Decay a fotonok fényerejének csökkenésére hat a távolság függvényében. A természetben ez az érték 2 azaz az intenzitás négyzetesen csökken, viszont ez az érték a számítógépes grafikához általában túl nagy, mert nem végtelen számú részecskével és visszaverődéssel számolunk. Általában 1.6 és 1.9 közötti értéket érdemes megadni.
Trace depth:1-2-4-8-16
A Trace depth értékek(max depth, max reflections, max refractions értékek összefoglaló neve) a fotonok "pattanásainak" a számát határozza meg(pontosabban a felületekkel való érintkezések max. számát). Minnél nagyobb a beírt érték annál valósághűbb hatást kapunk, a megnövekedett renderidő árán. A 2-20 közötti értékek javasoltak.
Radius:1-5-10-20-40
A radius ahogy a matekórákról is ismert a kör vagy gömb sugara ==> jelen esetben a fotonok méretét lehet vele szabályozni. Általános szabály, hogy kisebb fotonok esetén növelni kell azok számát és fordítva.
Photons per sample:1-100-1000-10000
Ez a paraméter határozza meg, hogy mintavételezésnél hány fotonnal számol maximálisan a renderelő (természetesen ez az érték nem az egész képre vonatkozik és az előszámítások során ettől függetlenül kiszámítódik az összes foton útvonala).
Final Gather:
Samples: 10-40-80-120
Ez a paraméter határozza meg, hogy mennyi sugarat "lő" ki a renderelő mintavételezéskor a kamera irányából, mivel ez egy raytrace eljárás(természetesen ez az érték nem az egész képre vonatkozik).
Radius in pixels: 20-10-5-2
A radius paraméter a raytrace sugarak méretét határozza meg. Ajánlott a radii in pixels kapcsolót bekapcsolni, így a sugárméretet pixelben adhatjuk meg.
Trace depth:1-2-4-8
A GI által kiszámolt photon map-ből az FG-nek átadásra kerülő "fotonpattanások" számát határozza meg, melyekkel a renderelő tovább dolgozik.Tehát a Final gather ezen értékek felett nem veszi figyelembe a photon map-ben tárolt pattanásokat. Az FG trace depth paramétereit hiába növeljük nagyobbra mint a GI hasonló paramétereit, hiszen a photon map-ből tárolatlan adat nem nyerhető ki.(A max depth, max reflections, max refractions értékek összefoglaló neve itt is= Trace depth. ) Ezeknek az értékeknek a megváltoztatása nem minden esetben válik láthatóvá a kész képen,környezetfüggő beállítást igénylő paraméter. (lásd: képek között észrevehetetlen a különbség).

A mental ray 3.4-es verziójába már bekerült egy Max bounces paraméter is, mely lehetővé teszi számunkra, hogy a final gather képes legyen GI alkalmazása nélkül is több visszaverődés kiszámítására.(a 3.4-nél korábbi verziókban sajnos nincs állítási lehetőség és mindig csak 1 visszaverődéssel számol a FG ha global illum. nélkül renderelünk)

Preview: on-off
A preview kapcsolóval lehet a final gather preprocess-t(előszámítás) ki-be kapcsolni. Ha on-ra állítjuk akkor gyorsabb lesz a képszámítás és nem lesz preprocess,viszont a render zajosabb,"kockásabb" lesz éppúgy mint a rossz minőségű jpeg képek esetén.Tehát tesztrenderek készítésére alkalmas,de a végleges kép előállításakor érdemes off-on hagyni.
Ray Distance: 50-100-200-400-1200
Az angol distance szó jelentése távolság, ==> tehát a ray distance kifejezés a kibocsátott sugarak általunk megengedett maximálisan megtehető útjának a hossza,melyet általában érdemes kikapcsolva hagyni.(ez aztán a mondat 8-)

Filter: 0-1-2-4-16
A szomszédos raytrace sugarak(FG) mintáit filtereli.A 0-2 közötti értékek javasoltak. (Nem összekeverendő a Renderer panel filterjeivel) Ha az FG radius nagyon kicsi, akkor a 0 értékkel érhetjük el a legoptimálisabb eredményt.

Svantner Dávid ( Svan )