Bevezetés a renderelésbe

Bevezetés a renderelésbe

Fények és kamerák, a renderelés alapjai. Ebben a bejegyzésben megmutatom hogyan kaphatod lencse végre digitális világaidat.

Tartalomjegyzék

Renderelés

A renderelés lényege tulajdonképpen az, hogy minél inkább közelítve a realizmushoz vagy elképzeléseidhez, egy digitális környezetet szimuláljon és örökítsen meg egy kamera által. A tárgyak felületét az árnyékolók (shaders) irányítják amik a lehelyezett fények hatására reagálnak.

Ez a bejegyzés egy kezdőknek szóló sorozat része, ha még nem tetted meg, olvasd el a bejegyzés sorozat bevezető részét mielőtt az itt leírtakat követnéd.

Offline vagy Valós Idejű?

A renderelés többféleképpen történhet Blenderben. Két nagy eljárás képviselteti magát, renderelő motorok formájában Az egyik a Cycles egy ún. Path Tracer és az Evee ami egy raszteres valós idejű – én csak videójátékosnak fogom nevezni, motor.

Cycles motor

A Cycles egy Path Tracer. A valóságban minden fényforrás bocsát ki ún. fotonokat, melyek össze vissza cikáznak a térben. Minden ütközéssel információkat gyűjtenek és adnak át.

A kamerák – vagy akár a szemünk fény érzékeny szenzorai felfogják a fotonok által hordozott adatokat és képet alkotnak általa. Gondolj csak bele mekkora munka lenne ennek a leszimulálása egy számítógép rendszerében. Segítek, őrült sok, hiszen egy nagy rakás foton, lehet sosem érne célba.

Éppen ezért az okosok kitalálták: miért ne történhetne fordítva? Egy Path Tracer, ahogyan azt a neve mutatja, egy útvonalat követ vissza, a fény útját, a virtuális kameránktól a fényforrásokig, ez sokkal kevesebb számítást igényel. Bár így sem futhat valós időben, ez a mindenkori legrealisztikusabb módja ami a valóság virtualizációját illeti.

Lassú folyamat, rendkívül, továbbá erősen függ a videokártyád teljesítményétől – és mennyiségétől is. Mégis, ha realisztikus rendereket akarunk, a használata közel elengedhetetlen.

Blenderben az alap render motor az Evee, ha a Cycles-re van szükséged ne felejtsd el átállítani a tulajdonságok panel, fehér fényképező ikonja alatt, mely a renderelésre mutat. A render motorok között legfelül tudsz állítani.

A renderelő motor kiválasztása Blenderben.

Válaszd a Cycles-t a realisztikus renderekért.

Lenne pár beállítás amik hasznosnak bizonyultak számomra az évek során:

Az első, a sample értéke – és erről elég ennyit tudnod, minél nagyobb, annál szebb lesz a végeredmény, de annál tovább is fog tartani a renderelés.

A 256 egy remek érték lehet a végleges kép (render) számára, míg az előnézetre (viewport) elég egy valamivel alacsonyabb érték is mint a 64, célszerű ezt is a kettes számrendszerben meghatározni. Szóval ha a 256 túl sok időt vesz igénybe, felezhetsz 128-ra és így tovább… Csak arra figyelj, minél alacsonyabb ez az érték, annál zajosabb lesz a render.

A sample értékek állítása Blenderben.

Ezen az ábrán mind a viewport, mind pedig a végleges render beállítások azonosak, azonban ha túl sok a viewport vagyis az előnézeti beállításokban csökkenthetsz a sample értékén.

A zajosság kiküszöbölésére használható az ún. zajtalanító (denoiser), az előnézetre ajánlom az OPTIX használatát, ha van erre alkalmas RTX-es videokártyád, ha viszont nincs nyugodtan kikapcsolhatod. Ami a végleges képet illeti (render) ajánlom az Intel féle Open Image Denoise használatát. Bár lassabb de jóval pontosabb is a vetélytársainál. Ez egy ún. post-process eljárás, tehát a renderelés után következik. Az előbbi kifejezésről később bővebben is írok majd, a kompozitor használata és képszerkesztős utómunkázás kapcsán.

A zajtalanító használata Blenderben.

A denoiser elengedhetetlen lehet ha gyorsan kell, jó minőségű rendereket készíteni, kevesebb sample felhasználásával hasonló képet eredményez mintha többet használtunk volna, de töredék idő alatt. Ha elérhető érdemes bekapcsolni.

A következő beállítás a use spatial splits a performance alatt, – nem kell tudnod mire való, elég technikai, de gyorsabb rendert ígér, a kezdeti lassabb betöltésért cserébe – ez csak akkor probléma, ha nagyon sok objektumod van.

A renderelés gyorsítása Blenderben.

Az előző pontot, különösen ajánlom bekapcsolni, animációk készítésekor, továbbá a persistent data lehetőséget is, amivel a program csak egyszer tölti be az objektumokat a memóriába renderelés előtt – megint csak akkor probléma, ha nagyon sok objektumod van.

Evee motor

Az Evee egy viszonylag fiatal kezdeményezés, első kezdetleges formája 2019 óta – a 3.6-ig jelenleg is ez van használatban. Ez egy videójátékos motor, egy rakás trükkel és csalással jut realizmushoz, azonban NPR kísérletekre kiváló játszóteret nyúlt. Sokkal magasabb technikai tudást igényel a Cycles-nél, továbbá jelen pillanatban még eléggé limitált. Használatáról egy későbbi bejegyzésben írok majd.

Színkezelés

Talán az egyik, ha nem a legfontosabb része a renderelésnek.

A színkezeléssel kapcsolatos beállításokat a tulajdonságok panelen a render beállítások alján találod – a fehér kamera ikon alatt.

A színkezelés beállítása Blenderben.

Az AgX alkotója Troy Sobotka, ahogyan a színtér elődjének, a filmic-nek is. Tulajdonképpen filmes színkezelést biztosít, jobban áll a túlszaturált színekhez és a szín kiégések is sokkal ritkábbak lesznek. Természetesebb és élethűbb hatást nyújt a színtelítettség rovására, ami teljesen természetes és utómunkával visszanyerhető. Gondolj rá úgy mintha (merthogy ez történik) sokkal több szín álna rendelkezésedre a használatával. Magasabb dinamikatartományt tesz lehetővé.

A lényeg első sorban az, hogy a megjelenítéshez használt színtér minél közelebb legyen a megjelenítő médium szín kapacitásához, ez tipikusan – különösen webes környezetre tervezve, az sRGB lesz, de nagyon sok felhasználói monitor manapság már támogatja a jóval nagyobb kapacitású ún. gamut-al rendelkező Rec. 2020-as standardot, a tévék általánosan a Rec. 1886-as szabványának felelnek meg, míg a legtöbb Apple termék Display P3-t használ.

A view transform pontban kiválasztott színtér, a munka színtér. Itt több lehetőség közül választhatsz a digitális színek elméletében Troy Sobotka weboldalát ⎋ ajánlom áttanulmányozni. Az első bejegyzés ⎋ az előbbi linken kezdődik. Ha eddig nem lett volna nyilvánvaló, a pigmentek és festékek esetében kiválóan működő színelmélet fabatkát sem ér egy monitort bámulva. A digitális világ fény színei más bánásmódot igényelnek, valós világunk tárgyi színeinél. Erről és a digitális színelméletről egy későbbi bejegyzésben hozok majd példát.

Az AgX egy elég komoly tónusleképezési átalakítás (tone mapping transform), amely a korábbi filmic technológiára épül, ám fizikailag pontosabb eredményeket adva, a túlszaturált színek kiégési faktorát szabályozva. Az AgX 16,5 lépésnyi dinamikatartományt kínál. Tulajdonképpen a film természetes fényreakcióját utánozza.

A look pontban meghatározhatod a kiválasztott színkezelési eljárás megjelenését, a none nem végez átalakítást, a punchy AgX használata esetén visszanyeri a valamelyest elveszített színtelítettséget, feltúrbozza a színeket. Ezekkel a beállításokkal főleg a színek telítettségét, kontrasztját befolyásolhatod, profibb környezetben javaslom a raw lehetőség használatát AgX helyett majd a színtér átalakítást (raw-ból AgX-be) a kompozitorban elvégezni így végezhetsz utókezelést a tiszta értékeken és az AgX átalakítás után is. Azt hogy miért érdemes ezt követni, kifejtem egy későbbi bejegyzésben. Addig is olvasd el az ide vágó külső cikket ⎋.

A gamma értékét nem érdemes bántani, ugyan is ezt az értéket a korrekt gamma korrekción felül alkalmazza a program, ha pusztán világosítani vagy sötétíteni akarsz az összképen inkább használd az exposure értéket. A színkezelés átállítása általában nem igényel újrarenderelést.

A színkezelésről bővebben a hivatalos Blender felhasználói kézikönyvben ⎋ olvashatsz vagy Troy Sobotka weboldalalán ⎋.


Fények

Mielőtt még fényt csiholhatnánk a sötétségben, sötétnek kell lennie – úgy értem igazán sötétnek.

Blenderben amikor kezdesz egy új .blend fájlt, a világ beállításokban amit egy piros földgömb jelöl, a tulajdonságok panelen a háttér színe közép szürke. Ez számunkra cseppet sem ideális, ugyan is ez a szín, ambiens megvilágításként egyenletesen befolyásolja az objektumaink színeit. Ezért az első dolog amit tenned kell, a helyes fényelés oltárán, hogy ezt a szín értéket feketére állítod.

Üdv a sötét oldalon.

Üdv a sötét oldalon.

Kicsit előre szaladva, az ambiens megvilágítás nem minden esetben rossz, ha az egyenletességet kiküszöböljük egy környezeti textúrával (environment texture), az egy remek módja a színtér realisztikus megvilágítására.

Az eljárás neve HDRI és nem kell hozzá más egy 360°-os panoráma képnél ideálisan egy minél magasabb színmélységű .exr formátumban.

Ez a textúra elkapja és magába zárja egy adott környezet sajátos fényviszonyait, elegáns és egyszerű, még fények lerakására sincsen igazán szükség – Cycles esetén legalább is. Evee-ben egyenlőre nem több, egy háttérnél.

Üdv a sötét oldalon

A Blenderben több lámpa típus áll rendelkezésünkre a megvilágításban. Ezek egyszerű objektumok, SHIFT+A-val adhatsz hozzá párat a lights kategóriából. Mozgathatóak, forgathatóak és méretezhetőek is a G, R, S, parancsokkal és vizuális segéd elemekkel is kontrollálhatóak mint a sárga gombostű a spot- vagy a terület (area) lámpa esetén.

Lámpák letétele Blenderben

A lámpa ugyan olyan objektum mint a kocka vagy a henger, SHIFT+A-val lehelyezhető egy pár.

A lámpa specifikus beállításokat a tulajdonságok panel zöld villanykörtét ábrázoló ikonja alatt találod. A lámpák típusa letétel után is módosítható, ezen kívül beállíthatod a színét és az energiáját is Watt-ban.

A lámpák beállítása Blenderben.

Egy másik tipikusan fényképészek által kedvelt és állított tulajdonság lámpáknál, a szín hőmérséklet (color temperature). Ezt Blenderben úgy állíthatod, ha a lámpa beállításoknál bekapcsolod a logikai egység (node) alapú kezelést (use nodes), majd egy fénykibocsátó (emission) árnyékoló – ami az objektumokból lámpát csinál, segítségével, annak alapszínét black body-ra állítva teheted meg.

A színhőmérsékletet Kelvin-ben adhatod meg, a realisztikus értékekért és hogy melyik érték milyen színhez társul segítségedre lehet a kelvin skála.

A Kelvin Skála.

Az ábrán a Kelvin skála látható a leggyakoribb értékek feltüntetésével.

A naturális fényekért használd a skála értékeit, az emberhez közeli mesterséges hatást pedig az RGB színterek spektrális szivárványa szolgáltatja.

Árnyék vetés

Avagy a gobo technika. A gobo egy a fényképészetben használt eljárás. Bármi lehet gobo amit a fények elé helyezel és árnyékot vet.

Blenderben gobo-t úgy (is) tudsz készíteni, ha az erre a célra szánt textúrát közvetlenül a lámpa alapszínébe kötöd.

Egy egyszerű gobo készítése Blenderben.

Gobo-kat viszonylag könnyű létrehozni és alkalmazni Blenderben.

A Blender lehetővé teszi a lámpa UV-k használatát is, mely alapján a gobo-textúra a fény elé kerülhet. Még egy végtelen egyszerű felállás használata, egy noise texture és egy color ramp logikai egység (node) is hatalmasat lökhet a fényelésben. Sokkal érdekesebb és esetenként realisztikusabb is lehet a végleges render, ugyan is a fények a valóságban korán sem egyenletesek.

Gobo bekötése közelebbről a logikai egység szerkesztőben Blenderben.

Ebben az esetben az UV bekötése a texture coordinate segítségével elengedhetetlen, azonban a mapping-et csak azért alkalmaztam hogy mozgatható legyen a textúra, méretezhető és forgatható, akár meg is animálhatod ha úgy tetszik vagy használhatsz egy videót állókép helyet, de használhatsz másik, előre elkészített, például felhő árnyakat imitáló fekete-fehér textúrákat is. Az előbbi tulajdonság fontos, de mint már említettem, bármi lehet gobo, kísérletezz bátran.

Digitális valóság

Mint már elhintettem korábban a HDRI (High Dynamic Range Image) egy olyan kép-fájl-textúra amely magában hordozza egy környezet fényviszonyait, azonban még nem mutattam rá példát.

Említettem, ha lámpákkal világítunk, célszerű teljes sötétséget csinálni – így leírva logikus is, azonban nem csak egyöntetű színeket alkalmazhatunk a világbeállításokban háttér gyanánt. Használhatunk egy képet is melyből színterünk ambiens fényeit nyeri.

HDRI bekötése Blenderben.

Az open megnyomásával behívhatod a .exr fájl-kiterjesztésű képedet, ha még nincs ilyened az előző bejegyzésben megosztott külső oldalakról mint a Poly Heaven, beszerezhetsz egyet.

HDRI használat közben Blenderben.

Ha a shading munkaterületre váltasz és a node szerkesztő bal sarkában az object értéket world-re váltod – ne felejtsd el később visszaállítani, láthatod hogyan lett bekötve a kép.

HDRI közelebbről a logikai egység szerkesztőben Blenderben.

Megint csak a mapping és a texture coordinate a HDRI kép manipulálására kell. Ha szeretnéd bekötni te is, csak válaszd ki a narancs-keretes kép-textúra logikai egységet és nyomd le a CTRL+T-t, ez azonnal beköti azokat – helyesen tenném hozzá, használatra készen.

Tudtad? A legtöbb helyen ahová textúrát kér a Blender, nem csak álló-, de mozgó képet, videót is használhatsz, sokat dobhat egy animáción egy mozgó HDRI vagy egy csapat vándorló vetett árnyék GOBO által, de egy TV képernyőjén futó film is növelheti a realizmust. Ha jártas vagy a haladóbb árnyékolók (shaders) alkotásában, azt is megoldhatod a TV képernyőjén játszódó videó valóságosnak tűnjön Egy kis kedvcsinálónak nézd meg Smeaf ⎋ tartalmait. A textúrázásról ⎋ készült videója – és a többi is, remek kedv csináló.

Atmoszférikus renderelés

Erről a jelenségről egy későbbi bejegyzésben írok majd.


Kamerák

A kamera pontosan olyan objektum mint a többi, szintén SHIFT+A-val hozzáadható a színtérhez, mozgatható, forgatható és méretezhető a parancsok szenthármasával. Helyezz le egyet és nézzük meg milyen.

Kamera lehelyezése Blenderben.

A kamerába belépni az első bejegyzésben bemutatott NUMPAD 0-al lehet. Rajztábla vagy érintőképernyő felhasználók! Keressetek egy kamerát ábrázoló ikont a 3D nézet jobb sarkában

Belépés a kamera nézetbe Blenderben.

A kamera nézetbe való belépés után, egy narancs téglatest jelzi a kamera által látott képet

A jobb komponálási élményért kitakarhatod a kamera nézeten kívül eső részeket a passpartout-al. Ezt a kamera beállításait tartalmazó, zöld kamera ikon alatt találod a tulajdonságok panelen.

A kamera nézeten kívül eső részek kitakarása Blenderben.

Ez a nézet hasznos komponálás közben, hiszen a kívül eső részek úgy sem látszódnak a végleges képen, jelen esetben csak zavarnának az elrendezésben.

A 3D nézet jobb sarkában található ikon vagy a NUMPAD 0 másodszori megnyomása, illetve a nézet mozgatása is kiléptet a kamera nézetből. A kamera mozgatása, forgatása és méretezése történhet objektum szinten, vagy egy sokkal intuitívabb módon – bár a hivatalos dokumentáció ⎋ az imént emlegetett parancs hármast ajánlja csak kamera nézetben használva, a kamera kijelölve tartása mellett – én javaslom az N panelen bekapcsolni, a view fül alatt a lock camera to view lehetőséget. Segítségével ugyan is a már megszokott, nézet navigációt használva manipulálhatjuk a kamerát is. Egy dologra ügyelj: ha befejezted a kamera pozicionálását, ne felejtsd el kikapcsolni az opciót!

A kamera navigáció összekötése a nézettel.

Tényleg ne felejtsd el kikapcsolni használat után! A nézet és kamera navigálás mind addig egybeforrva marad amíg ki nem kapcsolod. Ilyenkor a kamera nézetet határoló kijelölés erőteljesebb narancs.

4.1-től felfelé, a kamera nézetre váltva, a 3D nézet jobb oldalán helyet kapó ikonsor végén található lakattal is összekapcsolhatod a nézetet és a kamera navigációt. Az ikon újbóli lenyomása megszünteti ezt a kapcsolatot, így nem kell az N panelre járkálnod a funkció ki-be kapcsolásához.

Kimenet

Kimenet alatt azt a képet értem amit a render által kapunk, vannak fényeink, van kameránk egy dolog maradt hátra, mégpedig a renderelés maga. Ha minden készen áll, csak bökj rá az F12-re és a választott render motor, esetünkben a Cycles el is kezd szorgos hangya módjára dolgozni, fokozatosan építve a képet, a végén zajtalanítva – amennyiben bekapcsoltad. A kép ami készült, mérete 1920x1080 pixel, azaz FHD az alapbeállítás Blenderben. Ha meg akarod változtatni a kimeneti beállításokat keresd a tulajdonságok panel fehér nyomtatót ábrázoló ikonja alatt.

A kimeneti beállítások kezelése Blenderben.

Ezen a panelen a kezdéshez tudni ennél többet nem kell, a beállításokat itt nyilván a renderelés előtt kell megtenned. Később közzéteszek majd egy bejegyzést a DPI kezeléséről is, a blender programban, hogy a készült képeidet, helyes pixelesedés-mentes formában tudd kinyomtatni, hasznos, mégis alul értékelt tudás ez.

A render kimentése Blenderből.

Az F12 megnyomása és a folyamat kivárása – hosszú lehet – után, az elkészült rendert lementeni az ábrán mutatott módon tudod. Az optimális beállításokat a felugró fájl kezelőben a .png formátumhoz is feltüntettem neked.

Sok szem többet lát

Nem csak egy kamerád lehet, a többi objektumhoz hasonlóan korlátlan mennyiségben rendelkezésedre állnak a szemek melyek virtuális világodra tekintenek. Több kamera használata esetén mindig kell hogy legyen egy aktív kamera is amit az objektumlistában és a 3D nézetben is jól láthatóan jelöl a program.

Az aktív kamera kijelölése 3D nézetben Blenderben.

A 3D nézetben egy narancs kitöltött nyíl jelöli az aktív kamerát az objektum felett.

Az aktív kamera kijelölése az objektum listán Blenderben.

Az objektum listán az éppen aktív kamerák között az objektum neve melletti zöld kamera ikonnal válthatsz. Az aktív kamerát a program kijelöléssel jelöli.

Fókusz és Perspektíva

A kamerákat Blenderben valóban úgy kell hogy kezeld mint egy valódi objektívet, a való életben fellelhető kamerák beállításai itt is megtalálhatóak. A fotós ismeretek itt aranyat érnek. Többek között állíthatod például a lencse vagy objektív méretét, az alap 50 mm-es. Ezzel gyakorlatilag a perspektívával játszhatsz, alacsony értékek növelik a perspektivikus hatást, míg a magas értékek csökkentik azt. Egy tipikus termékfotóhoz például 90 mm-es objektívet szoktam használni, hogy a csomagolás design-ja jobban érvényesülhessen.

Az objektív állítása a Blender virtuális kamerájában.

A másik a szenzor mérete, ezzel elvileg a felfogható fénymennyiséget lehet szabályozni a kamera számára, Blenderben úgy tűnik simán közelebb és távolabb hozza a látványt a valós pozíció megváltoztatása nélkül, biztosan hasznos valamire, minden esetre az alap 36 mm egy teljesen jó érték, néha 24 mm-re állítom a régi digitális kamerám emlékére.

A szenzor méret állítása a Blender virtuális kamerájában.

Az utolsó hasznos funkció a mélység élesség használata (depth of field). Hatására a fókusz ponton túl eső dolgok homályosabbnak tűnnek, ezzel a jelenséggel idézhető meg a bokeh hatás, ami a fényes pontok szemcse szerű töréséhez vezet, stílusosan képes növelni egy render realizmusát, hatásos. Az ezzel kapcsolatos beállítások is hasonlatosak egy valós digitális kameráéhoz, ezért ezek működését itt nem ecsetelném.

A mélységélesség állítása Blenderben

A fókuszpont megadásához használhatsz egy lehelyezett objektumot is, ezt kiválaszthatod a pipettával, vagy a listából. Ha nincs objektum a beállított távolságig fókuszál, ha van az objektum kamerához eső legközelebbi pontja alapján állítja a fókuszt – amennyiben a súlyközéppontja a geometriai közepére esik. Erről majd egy későbbi bejegyzésben számolok be részletesebben. Fókuszként használhatsz egy üres objektumot is amit SHIFT+A-val empty-ként tudsz kiválasztani a felugró listából.

Ezt az objektumot helyezd a fókuszálni kívánt pontra majd válaszd ki kamerában, a mélységélességnél a pipettával. A kamera most erre a pontra fókuszál.


Ez a bejegyzés, a legelsőhöz hasonlóan egy igazi bestia, de úgy gondolom mindennek amit itt találsz van valamiféle értéke, helye a leírtak között. Igyekeztem több érdekességet hozni és minél átfogóbban bemutatni a témát. Ha kimaradt valami, igyekszem pótolni a későbbi bejegyzésekben.

Köszönöm, hogy végig olvastad, találkozunk legközelebb.

Közzétéve 2024. február 24. Módosítva 2025. április 5.

Renderek nyomdai előkészítése

Renderek nyomdai előkészítése

Egy korábbi bejegyzésben ígértem, hogy átadom, hogyan lehet egy renderelt képet korrekt módon előkészíteni Blenderből nyomtatásra.

Az UV Kicsomagolás elmélete

Az UV Kicsomagolás elmélete

Az UV kicsomagolás fontos praktika, nélküle nem kerülhet textúra a tárgyaink felületére. Ebben a bejegyzésben az eljárás elméletét mutatom be pár gyakorlati példán keresztül.