Texturització i animació
Quan es generen els materials per un producte en concret, s’han de tenir diverses coses en compte. Principalment, si el producte és amb renderització en temps real (videojocs) o no (animacions). També, s’ha d’atendre la tipologia del producte final, si els materials hauran de ser PBR (physical based rendering) o no es tindrà la necessitat d’arribar al fotorealisme, quin motor s’utilitzarà per renderitzar, etc. En aquest apartat, es desenvoluparan algun d’aquests aspectes.
En els següents vídeos, que corresponen al videojoc Assassin’s Creed Origins d’Ubisoft, podeu comprovar la diferència en la generació i renderització del materials, segons si formen part de la cinemàtica del joc (animació) o bé del gameplay.
Materials específics segons motors de renderització
A l’hora de compartir recursos virtuals entre editors o motors de renderització us trobeu amb el problema que cada fabricant posa un nom diferent als mateixos paràmetres. El principal que s’ha de tenir en compte és que es diferencien en dos grans grups: els que tenen lluentor metàl·lica i els que no. Tots els materials que tenen lluentor metàl·lica tenen els paràmetres de color i també es poden anomenar difusos. Per exemple en alguns motors de renderització hi ha un paràmetre que es diu Especularity, però també podeu trobar-lo anomenat com a Glossyness en altres motors. També és comú que trobeu un paràmetre que estigui referint-se a les propietats metàl·liques i que es faci servir com a indicador de reflexió.
Gairebé tots els paràmetres tenen noms semblants o fàcilment identificables. Però hi ha molts paràmetres que es poden fer servir en cinema i televisió i que encara no funcionen en l’àmbit de temps real. Aquests paràmetres són:
- La transmitància
- La distribució subsuperficial
- Les reflexions internes
- L’índex de refracció
Aquests valors, per ser tan costosos de processar, són els que trobeu amb menys freqüència en un entorn de renderització en temps real. En canvi, són els que transmeten més naturalitat a les imatges que podeu veure en cinema i televisió. Els temps de producció i de procés de les imatges al cinema i a la televisió són molt més extensos que els de reproducció dels fotogrames en temps real. La norma de velocitat de fotogrames a temps real està al voltant de 60 fotogrames per segon; aquest paràmetre fa que sigui impossible processar una sèrie de factors que donarien molta naturalitat als productes interactius. En canvi, un fotograma d’una pel·lícula d’animació pot arribar a trigar 300 hores a ser processat, per això la il·luminació, els materials, les textures i els paràmetres de volum s’hi poden incloure.
Alguns dels motors de renderització que podeu trobar en produccions que no són de temps real són aquests:
- Arnold és el que actualment està inclòs en el programari de Maya
- Mental ray
- Redshift
- Octane
- Maxwell Render
- V-Ray
Els motors de renderització per temps real més famosos són Unreal i Unity 3D. N’hi ha moltíssims més, cada productora té tendència a crear el seu propi motor per les seves necessitats i per aconseguir la fluïdesa dels seus productes.
Aplicació de normals en el canal de relleu específic per a videojocs segons programari
Per aconseguir relleu superficial en entorns de temps real es fa servir el sistema de mapes de normals. Un mapa de normals és una imatge que mitjançant tonalitats de color barrejades us indicarà en quina direcció tombarà la llum quan trobi 1 px de color verd, vermell o blau. Seguint aquesta norma i mitjançant programes de dues o de tres dimensions, creareu aquestes textures per fer-les servir en temps real o en produccions cinematogràfiques.
El sistema va ser molt famós, perquè requereix molt pocs recursos de computació per representar a grans velocitats superfícies d’alt detall. Per veure com s’aplica en l’entorn del programari de Maya vegeu aquest vídeo:
La forma d’aplicar-se en altres motors de temps real o altres programaris d’edició 3D és molt similar, i la nomenclatura del paràmetre no varia.
Creació de les normals a través d'un programari 2D o 3D d'alta poligonització
Per crear mapes de normals a través d’un programari 2D es requerirà de fotografies de base o d’il·lustracions que poden ser pintades virtualment. Per crear-les en 2D podeu seguir els passos d’aquest vídeo:
Però per crear mapes de normals tridimensionals caldrà crear objectes d’alta poligonització que transmetin el relleu a objectes de baixa poligonització. En el programari 3D de Maya, i en la majoria de programaris actuals, podeu trobar l’opció per transmetre el relleu d’alta qualitat en superfícies de menor poligonatge. Aquest procés, que és altament pràctic, el podeu seguir en aquest vídeo:
Creació de multimaterial
Sovint, en l’entorn virtual, especialment de videojocs, us trobeu multimaterials aplicats als objectes. Els multimaterials es fan servir per donar diferent especularitat, rugositat o relleu a un mateix objecte en les seves parts.
Un personatge humà vestit no tindrà la mateixa qualitat, ni la superfície serà igual en totes les parts del model. Un model d’aquesta mena es modela tot en una sola peça, i aquesta inclourà les parts metàl·liques de roba o de pell necessàries.
-
- El reflex blanc al voltant d'aquest objecte és el resultat de la interpretació d'una xarxa de multimaterial.
Per assolir aquest detall es fan servir sistemes d’atles. En un atles es troba tot el patronatge del personatge en ple, i en cada espai podeu representar-hi la textura que faci falta. Per crear aquests atles el que necessiteu és posar diferents textures a totes les parts del personatge. També caldrà definir diferents materials per a cada una d’aquestes parts, diferenciant entre les rugositats o les especularitats.
Al programari 3D hi podeu trobar una eina que traslladi les diferents imatges de textura que heu fet servir per acolorir el personatge i les transmeti a una sola textura, on estigui representada cada superfície, en el patronatge. Posteriorment, aquestes textures que contenen totes les textures optimitzen molt el temps d’accés a dades en un entorn de temps real. El procediment per crear una textura multimaterial el podeu veure en aquest vídeo:
Nomenclatura i arxivament de materials, mapes i models texturitzats
Els protocols són les eines que us permeten arxivar i organitzar correctament tots els recursos virtuals que feu servir en una producció de qualsevol mida. La situació on un projecte és desenvolupat per una única persona no és molt comú en l’entorn professional de la producció 3D. Per això cal marcar una llista de normes de nomenclatura i de distribució i estructura de carpetes a l’hora de compartir projectes amb altres operadors.
Un exemple de proposta pot ser aquest:
- “_c” per definir color
- “_g” per definir especularitat o glossyness
- “_n” per definir relleu superficial amb mapa de normals
- “_b” per definir relleu superficial amb mapa bump
- “_h” per definir mapa de desplaçament - height
- “_a” per definir que es tracta d’una imatge que controla la transparència - canal alfa
Perquè vegeu com funciona un protocol o com identificar correctament quina nomenclatura correspon a cada tipus d’imatge us proposem aquest vídeo:
Mireu aquest vídeo per veure com anomenar i arxivar correctament els materials segons un protocol de projecte:
Animació de les textures
En el programari 3D en general hi ha la possibilitat de seqüenciar imatges per reproduir animacions sobre les superfícies dels vostres objectes. El més senzill d’aquests exemples podeu trobar-lo en moltes produccions: és la reproducció d’un vídeo en una pantalla de televisió creada virtualment. El que es fa en aquests casos és extreure els fotogrames del vídeo com una seqüència d’imatges, enumerar-les correctament, desar-les en una carpeta dins de l’ordinador i indicar a la superfície el camí que ha de seguir per trobar-les. També li podeu indicar la velocitat de fotogrames que heu d’anar canviant a mesura que canvien les imatges de la textura. D’aquesta forma, en moltes presentacions televisives d’informatius o de tota índole podeu trobar pantalles que estan reproduint textures animades en objectes virtuals de tres dimensions. Això dota de molta flexibilitat a l’hora de compartir materials i mitjans i d’informar a través de complexes estructures 3D on podeu canviar fàcilment els continguts de les pantalles canviant únicament la ruta d’on poden llegir les imatges que s’hi representaran.
Un altre exemple d’animació de textura es troba en molts dibuixos animats que podeu trobar pertot arreu actualment. Alguns personatges d’animació no tenen la cara o les expressions facials modelades en 3D, es fa servir una tècnica de textures animades de la mateixa forma que faríeu en dues dimensions. En aquest cas es poden enumerar correctament les expressions facials, dividir-les entre ulls, nas i boca i, posteriorment, canviar l’ordre de la producció i la presentació d’aquestes imatges sobre la superfície de la cara del vostre personatge. Escrivint una seqüència de números es pot crear fàcilment una sincronització labial entre el diàleg que el personatge dirà i les seves expressions facials i la seqüència de textures que fareu servir per expressar-les en el vostre personatge.
-
- Aquestes imatges es poden seqüenciar per crear una sincronització labial, on el personatge pronuncia les lletres "m" i "b" i "a" i "o", respectivament.
Però no tan sols es tracta d’animar textures per posar animació tradicional sobre els objectes 3D, també podeu fer servir aquesta potent tècnica per crear relleus i fins i tot esculpir objectes tridimensionals mitjançant els mapes de desplaçament. El moviment subcutani de la irrigació sanguínia en el braç d’un personatge es pot generar amb sistemes de mapes de desplaçament, seqüenciant una sèrie d’imatges que facin la feina. Però l’exemple que us podeu trobar més sovint és una gran superfície líquida on es representen les inclemències del temps. En un riu, un oceà o, fins i tot, un bassal es poden crear les ones que els deformin mitjançant mapes de desplaçament. En els programaris 3D podeu fer servir textures procedimentals i definir paràmetres de moviment, perquè hi ha aquests efectes a la superfície dels vostres medis líquids. D’aquesta forma aconseguim efectes visuals que modelant serien molt costosos i en alguns casos inviables. Un altre ús molt comú, és la d’utilitzar la seqüència d’imatges en els mapes d’opacitat, d’aquesta forma, podem controlar la transparència del model (això és molt útil a l’hora de recrear simulacions de desintegració, per exemple).
Per construir aquests exemples podeu seguir els procediments que veureu en aquest vídeo: