Resum

Un motor de renderització és el programari que s’encarrega de fer els càlculs de les dades que hi ha a una escena per tal de generar imatges a partir d’objectes 2D o 3D.

Renderitzar un píxel de l’escena implica que el motor ha d’interpretar les diferents dades dels elements que hi ha i comunicar-les a la GPU (Graphics Processing Unit). També és possible el processament d’aquestes dades directament a la CPU (Central Processing Unit), és a dir, al processador de l’ordinador, però és una solució, en termes de rendiment, poc òptima. Recentment, han aparegut motors de renderització que permeten un processament híbrid d’aquestes dades fent servir al mateix temps CPU i GPU de l’ordinador.

Podem classificar els motors de renderització en funció de si fan preprocessament. D’aquesta manera tenim els que són propis de les produccions audiovisuals i la visualització arquitectònica o de producte i els que fan la renderització en temps real, que són aquells que estan integrats als Game engines i es fan servir a les produccions de videojocs.

També es poden classificar pel tipus d’algoritme que fan servir per al càlcul de la llum a l’escena. Actualment la majoria de motors de renderització fan servir tres tècniques:

  • Rasterització, que consisteix en la projecció de la geometria de l’escena a un pla 2D, mètode ràpid però on el càlcul de llums i ombres no és massa acurat.
  • Ray casting, que calcula la trajectòria dels raigs llençats des de la càmera fins que interseca amb la superfície d’un objecte, i determina, així, quins objectes són visibles.
  • Ray tracing, que és una evolució del Ray casting, on els raigs llençats des de la càmera intersequen amb els objectes de l’escena i té en compte efectes com la reflexió i la refracció de la llum, traçant rajos secundaris que permeten un càlcul més acurat i l’obtenció d’imatges fotorealistes.

D’altra banda, els motors poden ser externs (com Keyshot, Marmorset o Arnold), o integrats, com a plug-ins, dintre del programari de 3D.

El funcionament dels motors de renderització és el següent: mitjançant la tècnica de Ray tracing, s’envien uns rajos des de la càmera (el punt de vista) per cada píxel de la imatge cap a l’escena. Cada cop que un d’aquests rajos es troba amb algun dels objectes presents a l’escena, es fan una sèrie de càlculs determinats per l’algoritme emprat a cada motor de renderització, que retornen informació relativa a l’objecte (valors lumínics, color, tonalitat…) al píxel de la imatge corresponent.

A Arnold, aquest procés de mostreig s’anomena sampling, i es fa en funció de diferents paràmetres relatius al comportament de la llum a la realitat. Per fer el sampling s’han de tenir en compte dos valors:

  • Camera (AA), que és el valor d’Anti-Aliasing que suavitza l’efecte de dents de serra (Aliasing).
  • Camera Sampling (AA), que multiplica també el valor de les mostres de la resta de paràmetres de l’apartat sampling del Render Settings.

Per dur a terme el procés de renderització amb Arnold, el primer pas serà configurar els menús, dins del programari Autodesk Maya. Heu d’anar al Menu Set i escollir l’opció Rendering. Això farà aparèixer, dins del Menu Bar, els menús relatius al procés de renderització. Des d’aquesta secció, podem controlar-ne els paràmetres. Triarem el motor de renderització Arnold.

Un cop triat Arnold, s’han d’establir uns paràmetres generals pel que fa al format de sortida i resolució d’imatge, així com quina ha de ser la localització on volem guardar els frames de la renderització (a la pestanya Common). S’han de configurar els recursos de hardware, per tal d’optimitzar el rendiment de l’ordinador (a la pestanya System) i determinar la qualitat del mostreig i de la llum (a la pestanya Arnold Render).

En la pestanya Common establim la ruta on es guardaran els arxius, a l’apartat File output. A Imatge format seleccionem el tipus de fitxer. A Format, podreu escollir la profunditat de color. La secció Color Space l’heu de deixar tal com ve per defecte, amb l’opció Use View transform, que ens mantindrà l’espai de color en sRGB. A File Size heu d’escollir la resolució de la renderització.

La pestanya System ens permet establir una sèrie de paràmetres per tal d’optimitzar els temps de renderització i el rendiment del nostre ordinador.

Dins de la finestra Render Settings, trobareu la pestanya Arnold Render, que inclou, entre d’altres, les opcions de Clamping, Filter, Ray Depth, Environment, Motion Blur… i les opcions de Sampling.

El sampling és un mostreig de la imatge, per tal d’optimitzar els temps i la qualitat de la renderització. Consisteix en que el motor calculi un nombre de mostres determinat, pels rajos per píxel llençats des de la càmera; en funció del nivell de precisió, qualitat i netedat de la imatge requerida. Com més rajos, millor serà el mostreig, més precís el càlcul i més qualitat tindrà la renderització, però també serà més llarg el temps de renderització.

Arnold té el seu propi joc de llums, que permeten il·luminar l’escena. Consta de:

  • Area Light: és una llum que tracta de simular la llum provinent d’una finestra, o les finestres dels estudis fotogràfics.
  • Skydome: és una llum que simula la il·luminació provinent d’una semiesfera, s’acostuma a fer servir per a exteriors.
  • Mesh Light: es pot fer servir per convertir qualsevol malla 3D en un punt de llum.
  • Photometric Lights: les llums fotomètriques ens permeten carregar perfils Ies.
  • Light Portal: és una llum que es fa servir per il·luminar entrades de llum, com ara finestres.
  • Physical Sky: es tracta d’un shader (o capa d’ombreig).

Un altre motor de render és V-Ray. Es pot afegir com un plug-in a Maya, i és un motor de renderització que es caracteritza per la seva flexibilitat.

Durant la producció d’una narració audiovisual, és molt important la fase de preproducció, on s’han d’establir llistes de plans amb el nombre de fotogrames que ha de tenir cadascun, per tal de planificar i prioritzar les tasques de renderització. Per fer la planificació s’han de tenir en compte els elements de la narració audiovisual: seqüència, escena, pla i fotograma.

També és important definir quin tipus de càmera tenim al pla, si es tracta d’una càmera fixa, o d’un tràveling. Aquesta informació es troba en el guió tècnic de la producció. Aquest document trasllada el guió literari a aspectes tècnics (càmeres, il·luminació, so…).

Amb aquesta documentació, l’equip de producció prepara un pla de renderització ordenant els plans (shots) segons la seva prioritat. Aquest pla de renderització es dissenya en funció de les previsions dels altres departaments, i es trasllada a un document on es troben definits:

  • els plans de cada escena,
  • el nombre de fotogrames de què estan formats,
  • una breu descripció de la seqüències,
  • una descripció de la càmera,
  • un apartat amb la informació general de l’estat del episodi,
  • l’estatus de renderització de cada pla,
  • l’estatus del que s’entrega al departament de producció i
  • si aquest pla ha necessitat algun arranjament i s’ha tornat al departament de modelatge, d’il·luminació o altre, quina és la seva situació abans de tornar a la renderització.

A Maya podem treballar per capes, tal com es fa en altres programaris d’edició d’imatges (Photoshop, After Effects, Nuke…). Hi ha les capes de renderització, on podrem aïllar els diferents elements de l’escena per poder ajustar els Render Settings en funció de cada element.

La creació i gestió de les capes de renderització a Maya (versió 18) es fa des de la finestra Render Setup accessible des del menú Windows/Rendering Editors/Render Setup. Distingim tres zones: Scene Layer o Master Layer, el gestor de capes i el Properties editor.

Per poder afegir elements de l’escena a cada capa de renderització a Arnold, heu de crear dintre d’aquestes les Collections, que contindran aquests elements. Dintre de cada capa podeu tenir una o diverses Collections.

Es pot descompondre l’escena en diferents capes per tal de poder gestionar-la i editar-la durant el procés de renderització. Per tenir més control podem establir per a cada un dels nodes de renderització a l’escena quins són els Render Passes de renderització que necessitem per a un element concret. Un Render Pass és un arxiu que conté una part de la informació d’il·luminació, geometria o shaders de l’escena (ombres, reflexió, especularitat, diffuse…).

El fet de separar aquesta informació té com a finalitat obtenir un set amb els diferents Render Passes, que ens permetran, a l’hora de compondre una imatge final en programes de composició (com Adobe After Effects o Nuke), més control del que tindríem fent servir només la renderització final en una única capa.

Arnold anomena els Render Passes AOV (Arbitrary Output Variables) i funcionen com els Render Passes habituals. Es gestionen des de l’apartat AOVs de la finestra Render Settings.

La Master layer és aquella capa de renderització on tenim tots els elements de l’escena i on s’han establert tots els paràmetres generals de la renderització, pel que fa a la qualitat, els Render Passes, paràmetres d’il·luminació, etc., a la finestra Render Settings. En funció de les necessitats de la producció podem descompondre la renderització en diferents capes amb els seus respectius paràmetres, però serà en aquesta on tindrem els Settings generals.

En el cas d’Arnold la master Layer, s’anomena Scene.

Per tal de reduir tant com sigui possible els temps de renderització, els equips de producció sempre tracten d’optimitzar al màxim possible els recursos de l’escena. S’ha de tenir en compte en la tasca de modelatge, reduint el nombre de polígons, i també en la texturació, controlant la resolució de les textures que s’han generat. També s’han d’optimitzar els recursos de l’escena (models 3D, textures, so) per tal de reduir els temps de renderització.

Abans de llençar la renderització amb els paràmetres de qualitat per a la imatge final, es fan unes renderitzacions de prova a una resolució menor i amb paràmetres de qualitat baixos, per comprovar que la il·luminació, els valors de les ombres, els paràmetres d’especularitat, reflexió, etc. dels shaders són correctes. Per fer les renderitzacions de prova, es pot començar per abaixar els valors dels diferents paràmetres de l’apartat Arnold Render a la finestra Render Settings.

Altres accions que es poden fer són:

  • Desactivar l’opció Auto convert textures to tx, a l’apartat Textures de Render Settings.
  • Dins de Render Settings a la pestanya System, abaixar al màxim el valor del paràmetre Bucket Size.
  • El valor Samples a l’Attribute Editor ha de ser 1.
  • Abaixar el Test Resolution del 100% al 75% o el 50%.

Hi ha tota una sèrie de situacions en què, mitjançant les possibilitats dels motors de renderització, es poden aplicar alguns efectes que, o no són possibles tècnicament o, si fossin renderitzats efectivament podrien resultar massa cars, o necessitarien un temps excessiu. S’hauran de fer amb els AOVs o render passes.

Són efectes de renderització l’efecte de Motion Blur o desenfocament de moviment i la renderització dels ZDepth Maps.

Per tal de configurar correctament la càmera per a la renderització de l’efecte Motion Blur, el primer que haureu de fer serà configurar el Shutter (l’obturador) de la càmera de tal manera que no enregistri el moviment de l’objecte, però que s’hi quedin enregistrades al Motion Vector AOV les dades que permetran al programa de composició editar-ne l’efecte.

Finalment, una utilitat dels AOVs és la possibilitat de generar ZDepth Maps, que són uns mapes en escala de grisos, semblants als canals alfa, que permeten als programaris de composició (com After Effects o Nuke) interpretar la distància de la càmera a la qual està un objecte en una determinada escena; per tal de tenir control sobre diversos aspectes, entre altres, la profunditat de camp o l’enfoc puntual.

Per poder renderitzar-los amb Arnold, en primer lloc hem d’anar a la finestra Render Settings, a la pestanya AOVs i des de l’AOV Browser/AOV Groups/<builtin> seleccionar de la llista dels AOVs disponibles.

El procés de renderització pot ser molt costós en el temps. Una manera d’optimitzar el procés de renderització és usar el Batch Rendering, que és la possibilitat de fer renderitzacions en segon pla.

Per implementar aquesta característica, Maya facilita la funcionalitat del Batch Rendering, i Autodesk proporciona programari lliure com el Backburner, que s’instal·la amb molts dels programes de la firma, i que serveix per gestionar una xarxa local, com una petita granja de renderització en segon pla.

Anar a la pàgina anterior:
Introducció
Anar a la pàgina següent:
Resultats d'aprenentatge