Realització de la separació de capes i efectes de renderització

A l’hora d’encetar una producció de renderització és imprescindible desglossar les contribucions que aquesta durà a terme sobre els diferents elements d’una escena; en diferents capes de renderització i en diversos Render passes o, com els anomena Arnold, els AOVs.

A banda d’aquesta planificació, el coneixement de les diverses tècniques us ajudarà a establir característiques específiques de renderització, tant per a una capa determinada, com per a un element individual, que Maya anomena Overrides.

Finalment, també us serà de gran utilitat conèixer algunes estratègies d’optimització dels temps de renderització.

Elaboració de la llista de fotogrames de cada pla

Durant la producció d’una narració audiovisual, és molt important tenir molt ben organitzada la fase de renderització; ja que és una de les més costoses, tant des de la vessant econòmica, com en termes de temps. Per això, é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 d’ells, per tal de planificar i prioritzar les tasques de renderització. A continuació definirem els conceptes necessaris per fer la planificació:

  • Seqüència: són les diferents escenes que expliquen una mateixa idea o la concatenació de diferents accions vinculades narrativament entre elles.
  • Escena: acció que transcorre en un mateix lloc o temps.
  • Pla: és la unitat mínima de qualsevol obra audiovisual. Una escena pot tenir més d’un pla. Quan canviem l’enquadrament de la càmera, canviem de pla.
  • Fotograma (o frame): cada pla pot tenir un nombre variable de fotogrames, o imatges fixes, que és el que renderitzarem.

Des del punt de vista de la renderització, els que ens interessen són els dos últims elements, ja que s’acostuma a enviar cada pla a la granja de renderització, o a la renderització en segon terme a la xarxa local (Batch Rendering).

Granja de renderització ('Renderfarm')

És com s’anomenen els servidors amb molta potència de computació, dedicats únicament a la renderització, poden ser locals (un xarxa d’ordinadors locals connectats es pot convertir en una granja de renderització), o bé pot ser remota, s’envien per internet els arxius que cal renderitzar al servidor.

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, d’una panoràmica… Aquesta informació es troba en el guió tècnic de la producció (vegeu la figura). Aquest document trasllada el guió literari a aspectes tècnics (càmeres, il·luminació, so…).

Figura Exemple de guió tècnic

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, en cas que sigui una sèrie, estan definits per a cada episodi. El Render Sheet és una llista on consta informació de la marxa i les previsions de producció de renderització (vegeu la figura). En aquest document podeu trobar:

Figura ‘Render Sheet’, amb la llista de plans i nombre de ‘frames’, així com la situació del renderitzador
  1. Informació general de l’episodi, nombre total de plans, frames
  2. Informació general de l’estat de l’episodi que cal renderitzar.
  3. Número d’episodi.
  4. Número de pla.
  5. Nombre de frames del pla.
  6. Seqüència a la qual pertany el pla. Descripció.
  7. Tipus de càmera.
  8. Estat de la renderització.
  9. Persona que té assignat la renderització.
  10. Dates previstes per a la renderització, dintre del pla de producció.

Com podreu comprovar, l’objectiu és que aquest document permeti fer una traçabilitat àgil de l’estat de la producció, per tal de corregir qualsevol incidència al més aviat possible.

És important llistar i prioritzar cada pla amb el nombre de fotogrames de cadascun d’ells, per tal de planificar correctament la producció de renderització. En cas contrari, repercutiria molt negativament, tant des del punt de vista dels terminis d’entrega, com pel que fa al cost econòmic.

Separació d'elements en capes

A Maya podem treballar per capes, tal com es fa a altres programaris d’edició d’imatges (Photoshop, After Effects, Nuke…). És a dir, tenim capes on podem posar diferents elements d’una escena per tal de treballar-los d’una manera endreçada; tenim capes d’animació per separar animacions; i també tenim capes de renderització, on podrem aïllar els diferents elements de l’escena per tal de poder ajustar els Render Settings en funció de cada element.

A partir de la versió 2017 es va introduir Arnold com a motor de renderització de producció (anteriorment disposava de Mental Ray). Abans, el sistema per a la creació i gestió de les capes de renderització es feia des del Channel Box/Layer Editor (vegeu la figura); opció que encara manté com a opció Legacy la versió 2018 de Maya.

A partir de la versió 2017 aquesta feina es fa mitjançant el nou Render Setup, accessible des del menú Windows/Rendering Editors/Render Setup (vegeu la figura), o bé prement, a l’Status Line, la icona Render Setup (vegeu la figura).

Figura Antic gestor (Legacy) de capes a Maya, on podem afegir i eliminar capes, afegir ‘Overrides’, i distribuir els elements d’una escena, segons les necessitats del renderitzador.
Figura Accés al nou ‘Render Setup’ de Maya, que és la finestra on podem gestionar ara les capes de renderització.
Figura Icona ‘Render Setup’ a ‘Status Line’, per cridar directament la finestra.

Aquest ens obrirà una finestra on podreu distingir tres zones. La primera pertany a la Scene Layer o Master Layer; és aquí on establireu els Settings globals de l’escena, la il·luminació, i els AOVs (Arbitrary Output Variables). A sota tenim el gestor de capes, on podrem crear i editar las capes de renderització que anem creant. Finalment, teniu el Property Editor, on podrem editar i gestionar les propietats dels diferents elements d’una escena (objectes, shaders, llums…). En aquesta zona també podem afegir la finestra Arnold RenderView, o els Render Settings (vegeu la figura):

Figura La interfície del ‘Render setup’, on troben tres zones: la ‘Scene Layer’, el gestor de capes i el ‘Property Editor’
  1. Scene Layer, la capa mestra on guardem els paràmetres generals de la renderització.
  2. La zona de gestió de capes, on afegirem i eliminarem les capes de renderització.
  3. El Property Editor, on podem editar les propietats de les capes de renderització.

A Arnold podem treballar amb tantes capes de renderització com necessitem, i a cada capa podem tenir el nombre d’objectes de l’escena adients.

Imaginem ara una escena donada, on anirem distribuint els diferents elements en capes (vegeu la figura). Obrim el Render Setup, i des del Layer Manager premem la icona New Layer i li donem un nom, en aquest cas “BackGround” (vegeu la figura).

Figura Exemple d’escena en 3D per renderitzar
Figura Afegim una capa nova des de la icona ‘New layer’ al gestor de capes del ‘Render Setup’

Per tal de poder afegir elements de l’escena a aquesta nova capa, hem de crear en primer lloc una Collection. Així doncs, amb el ratolí sobre la nova capa, premem l’RMB per tal d’obrir les seves opcions, i escollim Create Collection (vegeu la figura). Li donem un nom, de nou “BackGround” (vegeu la figura), ja que afegirem l’escenari a aquesta capa.

Figura Creació d’una ‘Collection’
Figura Afegir un nom a la ‘Collection’

Ara, per afegir elements a la Collection, podem arrossegar-los amb l’MMB, des de l’Outliner, fins a la finestra Add To Collection del Property Editor (vegeu la figura). O bé, escrivint el nom de l’element a la finestra Include del Property Editor, i prement el botó Add, l’afegim a la Collection de la nova capa (vegeu la figura i la figura).

Figura Afegir elements de l’escena a la ‘Collection’. Selecció per l’‘Outliner’
Figura Afegir elements de l’escena a la ‘Collection.’ Selecció per noms d’elements a l’escena
Figura Afegir elements de l’escena a la ‘Collection’, mitjançant el botó ‘Add’ al ‘Property Editor’

A Arnold, per poder afegir elements de l’escena a cada capa de renderització, heu de crear-li les Collections, que contindran aquests elements. Dintre de cada capa podeu tenir una o diverses Collections.

Ara, mentre teniu la visibilitat de l’Scene Layer activa, teniu el renderitzador de l’escena amb tots els elements (geometria, llums, shaders), amb els seus atributs establerts en un primer moment (vegeu la figura). Si fem una renderització, obtindrem la següent imatge (vegeu la figura).

Figura Capa de renderització activa
Figura Escena resultant, continguda a la capa activa, renderitzada

Però si, en canvi, activem ara la visibilitat de la capa “BackGround”, veiem que per defecte es desactiva la capa de la Scene Layer (vegeu la figura); si fem una renderització, obtindrem una imatge on només apareixen els elements que hem afegit anteriorment (vegeu la figura).

Figura Activació d’una nova capa de renderització
Figura Escena resultant, continguda a la nova capa activa, renderitzada

Anem ara a crear un parell de noves capes on afegirem, d’una banda, les esferes de l’escena i, de l’altra, el cub.

Una altra forma de seleccionar elements de la nostre escena, per tal d’afegir-los a la Collection d’una capa (en cas que tinguessin un prefix al nom, o tinguessin part del nom igual), seria escriure a la finestra Include, el nom i un asterisc (vegeu la figura). Si premem el botó Select, veurem com són seleccionats, a l’Outliner, tots els elements que continguin el nom que hem escrit (vegeu la figura).

Figura Seleccionar i afegir elements similars
Figura Seleccionar elements a la capa de renderització.

Si premem ara el botó Add, els veurem afegits a la finestra de la Collection (vegeu la figura). Així, finalment, tindrem tots els elements de l’escena, organitzats per capes; on podreu editar diversos paràmetres de renderització de forma individualitzada, o per grups d’elements (vegeu la figura).

Figura Afegir elements a la capa de renderització.
Figura Objectes organitzats per capes de renderització.

Amb aquest exemple, hem après que podem descompondre l’escena que tenim en diferents capes, per tal de poder gestionar-la i editar-la durant el procés de renderització. Però encara podem tenir més control i establir variacions en els paràmetres de renderització per un únic element concret dintre d’una capa de renderització; per exemple, podem variar el shader d’un dels objectes i assignar-n’hi un que simuli les característiques del vidre; aleshores, per aquell element concret podem afegir únicament per la capa on tenim aquest element, un render pass Refraction, que mostrarà l’efecte de la llum al travessar un objecte refractiu, com és el vidre. A grans trets, això és el que fan els Render Passes.

Treballant amb els 'Render Passes' o AOV

Per controlar l’escena, a banda de descompondre-la en capes, també podem establir uns Render passes per a cada un dels elements que tenim aïllats a cadascuna de les capes de renderització. 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, un major control del que tindríem fent servir només la renderització final en una única capa.

Per tal d’optimitzar la renderització i també per tal de facilitar la composició final de les imatges, podeu descompondre la renderització en els seus elements constitutius per separat; és el que s’anomena Render Passes. Un render pass és un arxiu que conté una part de la informació corresponent a la il·luminació, la geometria o els shaders de l’escena (ombres, reflexió, especularitat, diffuse…). Arnold els anomena AOVs (Arbitrary Output Variables), i funcionen com els Render Passes habituals.

Per seleccionar i activar els diferents AOVs adients a les necessitats de composició de l’escena, hem d’anar a la finestra AOVs dels Render Settings (vegeu la figura); aquesta finestra es pot incloure a la finestra Render Setup d’Arnold, arrossegant-la dintre d’aquesta.

Un cop allà, a la finestra de la dreta apareixen cadascun dels AOVs disponibles. A la imatge es mostren els que venen per defecte amb la instal·lació d’Arnold a Maya: <builtin> i aiShadoeMatte. Les aiShadowMatte són uns passes que ens permeten major control per a l’edició d’ombres, sempre que el Render Node les suporti.

Dins de les <builtin>, seleccioneu l’AOV que necessitem dels grups d’AOVs disponibles; i de la llista que apareix a la finestra de la dreta, Available AOVs, seleccionem els passes necessaris (vegeu figura). Els AOVs disponibles els trobem a la secció AOV Browserde la pestanya AOVs de la finestra Render Settings; on:

Figura Pestanya AOVs als ‘Render Settings’
  1. AOV Groups: llista del grups d’AOVs.
  2. Available AOVs: AOVs disponibles a cada grup.
  3. Active AOVs: llista dels AOVs que estan actius.

Si premeu el botó » que teniu sota de la finestra, passareu la selecció a la finestra Active AOVs (vegeu la figura). Si volguéssiu desactivar qualsevol dels passes que tenim actius, l’haureu de seleccionar a Active AOVs i prémer el botó « que teniu sota la finestra.

Figura Pestanya AOVs als ‘Render Settings’. Activació dels AOVs.

Els Render Passes més habituals són:

  • ID: dona un nombre d’identificació als objectes de l’escena.
  • Direct: separa tota la contribució de la il·luminació directa a l’escena.
  • Indirect: separa tota la contribució de la il·luminació indirecta a l’escena.
  • Diffuse: s’obté la reflexió del canal de Diffuse.
  • Diffuse_albedo: on tenim el color de l’objecte, sense il·luminació, ni ombres.
  • Diffuse_direct: tenim una capa amb la il·luminació directa del canal Diffuse.
  • Diffuse_indirect: tenim una capa amb la il·luminació indirecta del canal Diffuse.
  • Specular: el pass on tenim la reflexió especular.
  • Specular_albedo: el color especular sense il·luminació ni ombres.
  • Specular_direct: la il·luminació directa del canal Specular.
  • Specular_indirect: la il·luminació indirecta del canal Specular.
  • Transmission: tenim la refracció de l’objecte.
  • Transmission_albedo: el color de l’objecte, sense il·luminació ni ombres del canal de refracció (Transmission).
  • Transmission_direct: la il·luminació directa del canal de refracció (Transmission).
  • Transmission_indirect: la il·luminació indirecta del canal de refracció (Transmission).
  • Shadow_matte: separa les ombres, fent una proporció de les ombres ocultes i no ocultes per la il·luminació directa.

Un cop tingueu els diferents passes actius, és el moment d’obrir la finestra exclusiva de renderització d’Arnold, anomenada Arnold RenderView. Per fer-ho, la ruta que heu de seguir és: Menu Bar/Arnold/Arnold Render View (vegeu la figura).

Figura Ruta d’accés a la finestra ‘Arnold RenderView’

Arnold RenderView té la possibilitat de fer una renderització interactiu, que us permetrà que qualsevol canvi que feu a l’escena (transformació d’objectes, canviar paràmetres d’il·luminació, renderització, o dels shaders…) s’actualitzi automàticament a la finestra de renderització (s’ha de tenir en compte que això té una despesa pel que fa al rendiment de l’equip). Aquesta finestra també es pot afegir a la finestra Render Setup arrossegant-la per tal de fer més còmoda la gestió de capes i render passes (vegeu la figura).

Figura Finestra ‘Arnold RenderView’ a Maya

La finestra Arnold RenderView us permet, a més, visualitzar cadascun dels passes separadament. Des del menú desplegable que apareix a la cantonada superior esquerra de la finestra, podeu escollir quin és el pass que voleu veure; per defecte, teniu seleccionat el pass “Beauty” (vegeu la figura). Així, si escolliu qualsevol dels AOVs que teniu actius veureu únicament la contribució del pass a la imatge final (vegeu la figura).

Figura Selecció dels AOVs per visualitzar-los
Figura Visualització de l’AOV seleccionat

Si seleccioneu l’opció Save Final Images (vegeu la figura) del menú File de la finestra Arnold RenderView, i si teniu el vostre projecte degudament establert, les imatges es guardaran a la carpeta images/tmp/masterLayer (vegeu la figura). També apareixeran les carpetes de cadascuna de les capes que hàgiu creat, i dintre de la carpeta masterLayer tindreu una carpeta per cada AOV que tingueu actiu.

Figura Opció ‘Save Final Images’
Figura Carpetes d’imatges dintre del projecte de Maya.

És important fer correctament el Setup del projecte, per tal que, tant si fem les renderitzacions de forma local o des d’una granja de renderització, tot estigui ben endreçat i sigui fàcil trobar els arxius.

La 'Master Layer' o capa mestra

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, als Render Passes, als paràmetres d’il·luminació… La trobareu dins de 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, aquesta capa mestra s’anomena Scene; dins de la finestra Render Setup (vegeu la figura).

Figura La ‘Master Layer’, que a la finestra ‘Render Setup’ s’anomena ‘Scene’

Al següent videotutorial podreu veure un exemple de com establir les capes i passes de render per la realització del render d´una escena senzilla.

Anàlisi prèvia dels moviments de les càmeres i les diferents capes de renderització

De la mateixa manera que podem crear overrides per a qualsevol element de l’escena, també ho podem fer per a una capa de renderització concreta, per a comportaments, característiques, o per a shaders de les càmeres. És per aquest motiu que, a la Render Sheet, apareix descrit el tipus de càmera de la seqüència (vegeu la figura); per preveure quin ha de ser el plantejament per arranjar el pla abans de llençar-ho a la renderització.

Per exemple, si volguéssim tenir la renderització de l’escena amb una càmera en perspectiva i una versió amb una càmera ortogràfica, podríem crear dues càmeres, cadascuna amb les seves característiques (vegeu la figura). O bé, crear una capa de renderització i sobre la càmera aplicar un override que canviï aquesta característica de la càmera en la capa de renderització.

Figura Escena amb dues càmeres, que es poden renderitzar per separat

L’aplicació d’un override a la càmera s’estudia al punt “Aplicació dels efectes de renderització”, d’aquest mateix apartat.

Optimització de fitxers per a renderització

Per tal de reduir els temps de renderització tant com sigui possible, tractant d’assolir el nivell de qualitat requerida en la renderització, els equips de producció sempre tracten d’optimitzar al màxim possible els recursos de l’escena. Així, els modeladors tracten de no fer servir més polígons dels necessaris per aconseguir la forma dels models en 3D; ja que el nombre de polígons afecta els temps de renderització.

Una altra optimització que cal tenir en compte és la resolució de les textures que s’apliquen als shaders. Les mides de les textures es donen en potència de 2, en píxels, i acostumen a ser en proporció 1:1. Per exemple, 1024×1024 píxels, que en termes de producció s’anomenaria una textura d’1K; així, 2K seria una textura de 2048×2048 píxels, 4K serien 4096×4096 píxels…

Evidentment, com més resolució té una textura, més pesa l’arxiu, i més triga a renderitzar-se el shader on és aplicada. Per exemple, una resolució de textura de 4K seria adient per a una producció cinematogràfica, però potser no per a la producció d’un videojoc per mòbil. En qualsevol cas, es tractarà de fer servir la resolució mínima que ens doni el nivell de qualitat desitjat, per no encarir la renderització.

En el cas de les textures, tot i que s’intentaran optimitzar tant com sigui possible, en producció no es faran servir formats d’arxiu amb compressió, com per exemple .jpg, i seran preferibles formats com .exr, .jpg, .psd…

Per tal de reduir els temps de renderització, sense perdre qualitat en la imatge final, s’han d’optimitzar els recursos de l’escena (models 3D, textures, so…). La idea de l’optimització és fer servir els mínims recursos necessaris per assolir el màxim de qualitat.

Tanmateix, una vegada tenim tots els recursos de l’escena optimitzats, 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 i de reflexió dels shaders són correctes.

Per començar una sèrie de 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 (vegeu la figura).

Figura Primera iteració d’ajust, a la finestra ‘Render Settings’

Una altra optimització és desactivar l’opció Auto convert textures to tx, a l’apartat Textures de Render Settings (vegeu la figura). Arnold converteix les textures de l’escena a un format .tx més optimitzat per defecte que els arxius d’imatge. Però, si deixeu aquesta opció activa, després de la primera renderització (és a dir, una vegada ja ha fet aquesta conversió) tornarà a fer-la cada vegada que feu una renderització. Penseu que si es dona el cas que l’escena conté moltes textures, o aquestes són d’una resolució elevada, estareu afegint un temps de renderització innecessari.

Figura Desactivació d’‘Auto convert textures to tx’, una vegada feta la primera renderització

Per agilitzar aquesta renderització de prova (on no necessiteu una gran qualitat), podeu també reduir la mida de les mostres que pren el motor de l’escena. Per fer-ho, aneu a la finestra Render Settings, a la pestanya System. Allà podreu indicar el valor del paràmetre Bucket Size, que per defecte està establert a 64 (això ens indica que el motor està agafant mostres en quadres de 64×64 píxels), que és prou adient per assolir una bona qualitat sense excedir-nos en els temps de renderització. El que fareu serà abaixar-lo al mínim, que Arnold estableix en 16 (vegeu la figura); amb aquest tenim prou qualitat a les imatges per valorar-les i la renderització serà molt més ràpida.

Figura Paràmetre ‘Bucket Size’

Els paràmetres de les llums que tenim a l’escena es poden controlar i editar des de la pestanya Attribute Editor, mentre que a l’Outliner trobareu els elements de l’escena (vegeu la figura). Us heu d’assegurar que aquestes tenen (al paràmetre Samples a l’Attribute Editor) el seu valor per defecte, que és 1 (vegeu la figura). En el moment de la renderització final, podem apujar el valor de les mostres dels punts de llum, per tal de millorar les condicions lumíniques i les ombres de l’escena; però heu d’anar amb compte, perquè aquest és un dels valors que dispara els temps de renderització.

Figura Elements de l’escena: ‘aiAreaLight’, dins de l’‘Outliner’
Figura ‘Samples’ de les llums de l’escena

Per fer les renderitzacions de prova, si el vostre equip triga massa, podeu també abaixar la Test Resolution, del 100% al 75% o el 50% (vegeu la figura); així reduireu la resolució de sortida de la imatge final. Per exemple, si tenim una imatge de 640×480 píxels als Render Settings, reduïda al 75% us donarà una imatge de 480×360 píxels.

Figura Amb el ‘Test Resolution’ es regula la resolució de la renderització de prova a ‘Arnold RenderView’, però no la mida de l’arxiu de sortida final.

Emmagatzemar informació de renderitzacions prèvies

Hi ha alguns motors, com Mental Ray o V-Ray, que permeten emmagatzemar informació de renderitzacions prèvies, per tal d’aprofitar-la en el moment de la renderització final per tal d’accelerar-lo. Arnold no té aquesta característica, ja que és un motor de renderització molt optimitzat internament. En el cas de Mental Ray els mètodes de Global Illumination i Final Gather tenen opcions per guardar aquests càlculs; en el cas de V-Ray s’anomenen Irradiance Map i Light Cache.

Precàlculs i proves de renderització

Proposem ara una primera estratègia d’optimització dels temps de renderització, encara que, de fet, l’optimització de recursos depèn de cada producció, i es poden establir prioritats diferents en funció de l’acabat desitjat.

Si feu una primera renderització de prova amb els valors que hem anat establint, obtindreu un imatge amb certs defectes (vegeu la figura). Com podeu veure és una mica plana i té molt soroll a les ombres, a més, hi ha dos objectes que apareixen en negre; això es degut a que els seus shaders tenen valors de reflexió i transmissió molt alts i, com que hem abaixat aquests Samples a la pestanya Arnold Renderer dels Render Settings, el motor de renderització no els contempla.

Figura Resultat de la primera prova de renderització

Així doncs, augmentareu les mostres dels paràmetres a 2: Camara (AA), Diffuse, Specular i Transmission. A l’apartat Ray Depth, també apujareu el valor del paràmetre Transmission a 4 (vegeu la figura).

Figura Segona iteració dels ajustos de ‘Sampling’

Comprovareu que, en termes generals, la imatge millora (figura), tot i que encara tenim soroll a les ombres (figura) i als reflexos especulars (figura).

Figura Resultat de la segona prova de renderització
Figura Continua havent-hi soroll a les ombres
Figura Continua havent-hi soroll als reflexos especulars

Per millorar la imatge, apujareu els valors dels Render Settings de Camera (AA) a 6, Diffuse a 4, Specular a 4 i Transmission a 4 (vegeu la figura); anireu a la pestanya System i apujareu el valor del paràmetre Bucket Size a 32 (vegeu la figura). D’aquesta manera, obtenim una renderització on ja s’aprecia una millora en les ombres i els reflexos especulars (vegeu la figura).

Figura Tercera iteració d’ajust dels paràmetres de ‘Sampling’
Figura Ajusteu el valor del ‘Bucket Size’.
Figura Resultat de la tercera prova de renderització

Ara seleccionareu les llums de l’escena. A l’Attribute Editor canviareu el valor dels paràmetres Resolution a 1024 i Samples a 2 (vegeu la figura); torneu a fer una renderització de prova (vegeu la figura).

Figura Ajustar els ‘Samples’ i la resolució de les llums de l’escena
Figura Resultat de la quarta prova de renderització

Canvieu el valor del paràmetre Transmission de l’apartat Ray Depth de la pestanya Arnold Renderer (vegeu la figura), i també augmenteu una mica l’exposició a les llums, a l’Attribute Editor, per un valor de 13 a la llum principal, i de 10 a la llum secundària (vegeu la figura). Ara feu una última renderització de prova (vegeu la figura).

Figura Ajustar el paràmetre ‘Transmission’ de l’apartat ‘Ray Depth’
Figura Ajustar una mica l’exposició de les llums
Figura Resultat de la renderització de la iteració final

Definir la resolució de sortida i format d'arxiu

Una vegada establerts els paràmetres de renderització, heu de definir la resolució de sortida des de la pestanya Common dels Render Settings (vegeu la figura). També heu d’establir el format d’arxiu (vegeu la figura).

Figura Establir la resolució de sortida final als ‘Render Settings’
Figura Establir el format de sortida de l’arxiu

També, de cara a tenir endreçat el projecte, s’hauria de donar un nom aclaridor a l’arxiu. Això és especialment important en el cas de renderitzar una animació, ja que el nombre de fotogrames (o frames) pot ser molt elevat, i tenir-los organitzats es crucial. Per això, podem posar un nom a l’arxiu des de l’apartat File Name Prefix (vegeu la figura), que en el cas d’una animació podria ser el número de l’escena.

Figura Posar el nom a l’arxiu

Si activeu l’opció Use Custom Extension, a l’apartat Extension, podeu afegir una extensió al nom, que podria ser el número de pla (vegeu la figura). Finalment, des de Frame/Animation ext, podreu escollir un format per tal de fer servir el nom i l’extensió que heu posat a l’arxiu (vegeu la figura).

Figura Afegir una extensió a l’arxiu
Figura Establir la nomenclatura de l’arxiu

Aplicació dels efectes de renderització

Hi ha tota una sèrie de situacions on, mitjançant les possibilitats dels motors de renderització, es poden falsejar alguns efectes. Això es fa perquè o bé no són possibles tècnicament o, si fossin renderitzats, podrien, efectivament, resultar massa cars o portar un temps excessiu.

Per poder portar a terme aquestes tècniques de postproducció, els AOVs, altrament anomenats render passes, tenen un paper principal, ja que separen aquells elements de la renderització amb els que el compositor pot treballar, per aconseguir l’efecte desitjat.

Dos dels efectes més habituals són el Motion Blur, o desenfocament de moviment, i la renderització dels ZDepth Maps.

Efecte 'Motion Blur'

Motion Blur és una tècnica de postproducció. Té com a avantatge els temps de renderització, i com a principal desavantatge el soroll que genera, i que aquest Motion Blur no serà reflectit a les superfícies reflectants que tingui al voltant l’objecte; fet que no el fa adient per emprar-ho a totes les situacions.

En aquest punt, us proposem una pràctica on farem la renderització de dues capes:

  • Motion_Blur_Sphere (separar l’element al qual se li ha d’aplicar l’efecte de Motion Blur)
  • Motion_Blur_BG (separar tota la resta dels elements, escenari i altres elements que es renderitzaran normalment).

Escollirem EXR. com a format de sortida; aquests arxius es poden obrir en qualsevol programari de composició (After Effects, Nuke, Fusion…), per tal de fer l’edició final de la imatge.

El Motion Blur, o desenfocament de moviment, és el rastre que deixa el moviment dels objectes mentre l’obturador és obert, quan els enregistrem amb una càmera fotogràfica o de vídeo. Les càmeres virtuals dels programari 3D no poden simular aquest efecte, però es pot aconseguir fent postproducció, mitjançant aquesta tècnica de renderització.

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

Figura Configuració de l’obturador de la càmera a Arnold

Una vegada establert correctament l’obturador de la càmera, també haureu de comprovar que en la configuració de la secció Motion Blur, dels Render Settings, teniu l’opció Enable activada (vegeu la figura).

Figura Activació de l’opció ‘Motion Blur’ als ‘Render Settings’.

I haureu de comprovar també quina és la selecció del paràmetre Position (vegeu la figura). Aquest paràmetre és el que defineix quin ha de ser l’Offset del Motion Blur. Ens interessaria que estigués en una de les tres opcions: Center On Frame, Start On Frame i End On Frame, en funció de quin sigui l’efecte que estem cercant.

En tot cas, per tal d’establir aquest paràmetre correctament, hauríeu de tenir en compte que, en cas de tenir escollit Center On Frame, haureu de donar el valor 0.5 als paràmetres Shutter Start i Shutter End de la càmera, a l’Attributte Editor. Els valors, en cas de tenir seleccionada l’opció Start On Frame, serien 0.0, i, finalment, si l’opció seleccionada és End On Frame, seria 1.0.

Figura Configuració del paràmetre ‘Position’ del ‘Motion Blur’

A continuació crearem una capa, que anomenarem Motion Blur Sphere; amb tota la geometria de l’escena (vegeu la figura), que podem seleccionar des de l’outliner. I, seguidament, desseleccionem a l’outliner l’element que ha de tenir l’efecte de Motion Blur (vegeu la figura).

Figura Separem en una capa l’element al qual li aplicarem l’efecte de desenfocament de moviment
Figura Desseleccionem l’objecte al qual aplicarem l’efecte

La resta dels elements seleccionats, els heu d’afegir a un Set, des de Menu Bar/Create/Set, i prémer la finestra d’opcions (vegeu la figura). A la nova finestra que s’obrirà, poseu-hi el nom al Set, en aquest cas Primary Visibility (vegeu la figura); que serà la característica dels elements seleccionats a la qual voldreu fer-li un Override.

Figura Creació d’un ‘Set’ de selecció
Figura Nomenament del ‘Set’

Aplicació d'un 'override'

Un override consisteix en seleccionar una o diverses característiques d’un o diversos elements, per canviar-ne el comportament, shader, textura, il·luminació… en una de les capes de renderització (i sense afectar la característica original a la Master Layer), per tal d’obtenir diferents renderitzacions, en funció de les necessitats de la producció.

Un cop tenim un Set amb tots els elements de l’escena que volem que siguin a la capa de renderització (però que, en aquest cas, no volem que apareguin a la renderització, per això hem anomenat el Set “Primary Visibility”), el que farem a continuació és crear aquest override a la capa Motion Blur Sphere.

Per fer-ho, seleccionem el Set Primary Visibility a l’outliner (vegeu la figura). I a la secció Arnold de l’Attribute Editor, activem l’opció Override i premem el botó Add (vegeu la figura), que ens obrirà la finestra Add Override Attribute amb els overrides disponibles (vegeu la figura).

Figura Selecció del ‘Set Primary Visibility’ a l’‘Outliner’
Figura Activem l’opció ‘Override’ a l’‘Attribute Editor’
Figura Finestra ‘Add Override Attributes’

Ara seleccionarem Primary Visibility i mitjançant el botó Add, de la finestra, l’afegirem a l’apartat Extra Attributes, de l’Attribute Editor (vegeu la figura).

Figura ‘Primary Visibility’ establert com a atribut de l’‘override’

I ja podeu activar o desactivar la visibilitat d’aquest element a la renderització. Us falta, però, afegir aquesta funcionalitat a la capa de renderització Motion_Blur_Sphere; per fer-ho, assegureu-vos de tenir activa la capa a la finestra Render Setup (vegeu la figura). Ara situeu el cursor sobre l’opció Primary Visibility de l’apartat Extra Attributes; amb el botó dret del ratolí desplegueu el menú contextual i seleccioneu l’opció Create Absolute Override For Visible Layer (vegeu la figura).

Figura Activem la capa on volem afegir l’‘override’ a la finestra ‘Render Setup’
Figura Afegim l’‘override’ a la capa de renderització seleccionada

Veureu que al Render Editor apareix una nova Collection, amb els objectes del Set Primary Visibility (vegeu la figura), i l’override amb la característica Primary Visibility (vegeu la figura).

Figura ‘Override’ afegit a la capa de renderització
Figura ‘Override’ actiu als ‘Extra Attributes’

Si ara desactiveu aquesta característica dels Extra Attributes a l’Attribute Editor (vegeu la figura) i fem una renderització, obtindrem la imatge únicament de l’objecte sobre el qual volem aplicar l’efecte de desenfocament de moviment (vegeu la figura). Si, en canvi, activeu la Master Layer (Scene a Arnold), obtindreu una renderització sense l’override (vegeu la figura).

Figura Desactivem ‘Primary Visibility’ dels ‘Extra Attributes’
Figura Renderització de la capa amb l’‘override’
Figura Renderització de la capa ‘Scene’, on no tenim l’‘override’

Renderització a partir d'un 'Motion Blur'

Continuem la preparació per poder fer una renderització d’un Motion Blur. A continuació, heu de crear una nova capa de renderització, de nou amb tots els elements de l’escena, que anomenareu Motion_Blur_BG (vegeu la figura).

Figura Nova capa de renderització, per separar el fons

Activeu aquesta capa i, seleccionant l’esfera on volem aplicar l’efecte de Motion Blur, afegiu -hi (seguint els mateixos passos que en el cas anterior hem seguit per al Set Primary Visibility) un override que us permeti també controlar la visibilitat d’aquest element en aquesta capa. Així obtindreu una renderització a la capa ‘Motion_Blur_BG’ (vegeu lafigura).

Figura Renderització a la capa ‘Motion_Blur_BG’ amb ‘override’ aplicat a l’objecte ‘Sphere_04’

Com que ens interessa ocultar l’objecte, però poder veure la seva ombra, o els reflexos que produeix, afegiu ara l’AOV, que s’encarregarà de proporcionar les dades al motor de renderització, per tal de poder simular un Motion Blur; és el que s’anomena motionvector. Per fer-ho, hem de tenir activa la capa amb l’element al qual hem d’aplicar l’efecte (vegeu la figura).

Figura Activació de la capa on és visible l’objecte al qual volem aplicar el desenfocament de moviment

I des dels Render Settings, a la secció AOVs, aneu a l’AOV Browser i cerqueu, a la llista <builtin>, l’AOV motionvector (vegeu la figura), i activeu-lo (vegeu la figura).

Figura Seleccionar l’AOV ‘motionvector’
Figura Activar l’AOV ‘motionvector’

A continuació, en la secció AOVs (on ara apareix el que acabem d’activar), desplegueu el menú filter i seleccioneu l’opció Closest (vegeu la figura).

Figura Establir el filtre ‘closest’

Finalment, desplegueu el menú que hi ha a la fletxa que es troba al costat de filter i seleccioneu l’opció Select Driver (vegeu la figura). Veureu que a l’Attribute Editor apareix una pestanya anomenada defaultArnoldDriver, amb el corresponent driver; aquí activarem l’opció Merge AOVs (vegeu la figura).

Figura Selecció de l’opció ‘Select Driver’
Figura Activar l’opció ‘Merge AOVs’, a l’‘Attribute Editor’

Efecte ZDepth Maps

Una utilitat dels AOVs és la possibilitat de generar ZMaps, també coneguts com a ZDepth Maps. Són uns mapes en escala de grisos, semblants als canals d’alfa, que permeten, als programaris de composició (After Effects, Nuke, Fusion…), interpretar la distància de la càmera a la qual es troba un objecte a una determinada escena (l’eix Z, quan estem treballant en 3D; d’aquí el nom), per tal de tenir control de 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 de la pestanya AOVs i, des de l’AOV Browser/AOV Groups/<builtin>, seleccionar de la llista dels AOVs disponibles, el Z (vegeu la figura).

Figura Activar l’AOV Z, a l’AOV Browser

A l’apartat AOVs, on apareix l’AOV Z que acabeu de crear, us heu d’assegurar de dues coses: que el format d’arxiu que apareix a l’apartat driver sigui EXR, i que, a l’apartat filter, l’opció seleccionada del menú desplegable sigui closest (vegeu la figura). A la fletxa que apareix al costat, heu de desplegar el menú i seleccionar l’opció Select driver (vegeu la figura).

Figura Configuració de l’AOV
Figura Seleccionar el ‘Select Driver’

A l’Attributte Editor trobareu una sèrie d’opcions ; a l’apartat Advanced Output, activeu Merge AOVs (vegeu la figura). Aquest fusionarà, en una única imatge, el pass de beauty i el ZDepth; en comptes de dues imatges. Si feu la renderització de l’escena, obtindreu els dos passes, al Render View: l’AOV Beauty (vegeu la figura) i l’AOV Z (vegeu la figura).

Figura Activació de l’opció ‘Merge AOVs’ a l’‘Attribute Editor’
Figura Contribució de l’AOV Beauty
Figura Contribució de l’AOV Z

Com podeu veure, la renderització de l’AOV Z apareix completament blanc, però les dades de profunditat hi són. Per poder visualitzar-les haureu de baixar l’exposició fins aproximadament valors de -5 o -6 (vegeu la figura). I, ara sí, podem veure el mapa de profunditat en escala de grisos (vegeu la figura).

Figura Baixem l’exposició de l’AOV Z.
Figura Contribució visible de l’AOV Z.

Recordeu que si obrim aquests arxius al programari de composició, podem editar, entre d’altres possibilitats, la profunditat de camp. Però una limitació del pass ‘ZDepth’ és que, per exemple, no serà possible enfocar un objecte que estigui reflectit en un mirall.

De la mateixa manera que les càmeres virtuals no poden simular el Motion Blur, tampoc poden simular efectes de desenfocament selectiu, de profunditat de camp o l’efecte Bokeh. Però també en aquest cas es poden assolir aquests efectes mitjançant la renderització de mapes de ZDepth, i les tècniques de postproducció.

Efecte Bokeh és una tècnica d’enfocament selectiu, que dona als elements que són fora de focus un desenfocament molt estètic.

Renderitzacions en segon pla ('Batch Rendering')

Com hem vist, els processos de renderització, fins i tot per a animacions molt senzilles, són molt costosos, i poden suposar moltes hores, que, o bé s’han d’assumir econòmicament o bé poden paralitzar els equips locals, mentre que podríem estar treballant en altres tasques.

Per això, sempre que sigui possible, es fan renderitzacions de prova a qualitat més baixa que la de sortida, per tal de fer tots els ajustos necessaris, abans de llençar la renderització. Una altra opció, compaginable, és fer servir el Batch Rendering, és a dir, la possibilitat de fer renderitzacions en segon pla, una possibilitat que ofereixen alguns motors de renderització.

Una renderització en segon pla ens permet seguir treballant amb el nostre equip, però al mateix temps, si el sistema detecta que hi ha algun nucli del processador lliure, l’aprofita per anar renderitzant el pla que hàgim llençat. Evidentment és un procediment més lent, però més barat; a més, és una bona solució per a plans que tinguin menys prioritat.

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 renderitzacions, en segon pla. S’ha de dir, però, que per poder fer servir la funcionalitat Batch Rendering des de Maya, s’ha de comprar al web Solid Angle una llicència a part de la que ve preinstal·lada al programa.

Per tal d’optimitzar al màxim possible la infraestructura tecnològica disponible, a la qual ens haurem d’adaptar, i dependre el mínim possible de granges de renderització externes, s’acostuma a fer una renderització en segon pla.

Solid Angle

Teniu informació més extensa a la documentació d’Arnold, en aquest enllaç: www.solidangle.com.

Per tal de fer un Batch rendering, en primer lloc us heu d’assegurar que teniu el projecte establert i dirigit correctament. Hem d’anar als Render Settings, per tal d’establir el nom de cadascun dels frames i el rang que volem renderitzar (vegeu la figura); tot i que, com veureu més endavant, també és possible reconfigurar i tornar a establir aquests paràmetres.

Figura Establir els paràmetres de render a la finestra ‘Render Settings’

La forma més fàcil de llençar una renderització al segon pla és des del menú Render/Batch Render (vegeu la figura). A partir d’aquest moment, l’equip està renderitzant la nostra animació; ho fa aprofitant els moments en què els nuclis estan alliberats. Podem veure la progressió de la renderització al Command Line (vegeu la figura).

Figura Es pot llençar un ‘Batch Rendering’ des del menú ‘Render’
Figura Progressió de la renderització al ‘Comand Line’

Un altra possibilitat que tenim per poder fer renderització en segon pla, com hem dit abans, és utilitzar el Backburner, un programa gratuït que facilita Autodesk, per tal d’aprofitar, si és el cas, una xarxa local d’ordinadors com si fos una granja de renderització local. És un programa basat en Linux i consta de tres elements:

Figura ‘Backburner Server’
Figura ‘Backburner Manager’
Figura ‘Backburner Monitor’

Així, l’ordinador que té el rol de Manager és l’encarregat de recollir cada feina de renderització (Backburner les anomena jobs), les prioritza i les distribueix entre els ordinadors que tenen el rol de Servers en una granja local petita. El Manager pot ser al mateix temps Server, però si aquesta granja és extensa, és aconsellable que el Manager estigui dedicat únicament a la feina de distribució dels jobs.

Una feina de renderització podria ser fer la renderització d’un pla amb 100 frames. Això es podria enviar sencer a un server, el que seria un job, o bé dividir aquest pla en fraccions més petites, que el Backburner anomena tasks (per exemple, en paquets de 25 frames), i aquests es poden enviar de forma simultània a diferents servers, i així es fa la tasca més ràpidament.

Per utilitzar el Backburner com a manager local, només heu d’anar a la carpeta on està instal·lat el Backburner; per defecte, C:\Program Files (x86)\Autodesk\Backburner. Allà trobareu els tres executables, que converteixen l’ordinador al rol de Manager o Server, o bé us permetrà obrir el Monitor, per tal de controlar el procés de renderització (vegeu la figura).

Figura Carpeta d’instal·lació de ‘Backburner’

Heu d’executar, en primer lloc, el Manager i s’obrirà la següent finestra amb les possibilitats de configuració (vegeu la figura).

Figura Opcions de ‘Settings’ del ‘Backburner Manager’

En principi, si volem fer servir el nostre equip des del Backburner, ens valdran els valors per defecte que apareixen a la finestra. Podeu veure que apareixen els ports del Manager i el Server.

Seguidament, heu d’executar el Server i n’apareixerà la finestra de configuració (vegeu la figura), on heu d’acceptar els valors per defecte. Després heu d’obrir el Monitor (vegeu la figura), per tal de connectar-lo amb el Manager. Allà premeu la icona Connect (vegeu la figura), que obrirà la finestra per tal de reconèixer el Manager.

Figura Opcions de ‘Settings’ del ‘Backburner Server’
Figura Al ‘Monitor’ podreu seguir el progrés de les diferents tasques de renderització actives
Figura Icona per connectar el ‘Monitor’ amb el ‘Server’

Un cop a la finestra, premeu OK (vegeu la figura). El Monitor es connectarà amb el Manager, i podrem veure ja el Server a la secció All Servers. En aquest cas, només tenim un ordinador, però si gestionéssiu una xarxa, en aquesta llista hi apareixerien tots els participants (vegeu la figura).

Figura Finestra per connectar el ‘Monitor’ amb el ‘Server’
Figura Llista dels ‘servers’ de la nostra xarxa.

Ja podeu tornar a Maya; allà heu de desplegar el Menu Set i seleccionar el menú Rendering (vegeu la figura). Un cop desplegat el menú Render, seleccioneu l’opció Create Backburner Job (vegeu la figura), que ens obrirà la finestra de configuració de la tasca.

Figura Seleccionar els menús de ‘Render’ a Maya
Figura Llençar la renderització, des de Maya al Backburner

Des d’aquí podeu posar nom a la tasca, establir la prioritat que ha de tenir (els valors baixos a l’apartat Priority fan la tasca més prioritària), i el rang de fotogrames que constituirà la tasca (Start frame/End frame). A l’apartat Task Size podeu establir en quantes Tasks voleu dividir la renderització; en cas de tenir una xarxa local, permetrà que diferents ordinadors renderitzin parts de la tasca, per tal d’agilitzar-la (vegeu la figura).

Figura Finestra de configuració de la tasca per al Backburner

La renderització en segon terme permet agilitzar els temps de renderització i aprofitar la infraestructura local, o una xarxa d’ordinadors, i al mateix temps continuar treballant amb els equips.

Anar a la pàgina anterior:
Exercicis d'autoavaluació
Anar a la pàgina següent:
Activitats