Saturday, November 3, 2012

3Delight for Maya | render passes

Algunos videos que hay en la pagina de 3Delight no estan actualizados en cuanto a los render passes, asi que vamos a ver como obtenerlos en versiones mas recientes.





Primero, la escena que voy a usar la pueden descargar de este link. Es el dragon de Stanford (mas modelos e informacion en  http://graphics.stanford.edu/data/3Dscanrep/).

Ya tiene un shader asignado y un spotlight. El render con mental ray se ve asi:


Vamos a crear un nuevo renderpass y podemos ver un render inmediatamente. Recuerden cambiar el valor del gamma en su i-display. Esto porque estamos trabajando en linear colorspace dentro de maya. Seguramente van a notar que nuestra imagen se ve deslavada :)


Esto sucede porque aunque las luces y materiales en maya funcionan en linear colorspace, los swatches de color y rampas (todo lo que tiene un color como salida en maya) no se maneja asi. Lo que tenemos que hacer es  corregir esto usando nodos gammaCorrect.


Esto lo pueden hacer en hypershade o en el node editor. Creamos 2 gammaCorrect y copiamos el color del shader en shd_dragon y shd_ground a cada gammaCorrect, ajustamos el gamma a 0.45 y conectamos. Esto no va a desplegarse bien en el viewport de maya, pero no importa.

Es importante manejar nuestras imagenes en el espacio correcto porque al momento de pasar al compuesto vamos a evitar errores.

Una vez que ajustamos el gamma en el color de cada shader obtenemos:


Ahora si, vamos a seleccionar Point-Based Full Global Illumination en el drop down menu Effect en el tab de Global Illumination de nuestro render pass:




Van a notar algunos artefactos en el render. Esto lo arreglamos ajustando el valor de bias en la seccion de Point Cloud. Usamos un valor mas grande y probamos el render:


Ahora si, vamos a separar nuestros render passes. En la seccion de Display, van a notar un boton Add Display. Damos click en este boton para crear un secondary display.

Para seleccionar que vamos a separar, damos click con boton derecho en el cuadro de texto 'Output variable'. En la imagen de abajo esta marcada en color rojo:


Para este ejercicio vamos a crear 5 AOVs (arbitrary output variable):
  • diffuse intensity
  • global illumination
  • luminance depth
  • occlusion
  • surface color

Tambien cambien el bit depth a 16 bit float. Aqui vamos a tener mayor informacion en la imagen - una imagen exr con multiples canales/layers.

Pueden ver un render hasta este punto y las salidas que seleccionaron. Tal vez noten que en la salida de diffuse_intensity tenemos tambien la informacion de global illumination. Para renderear estos elementos separados, desactivamos Add To Final Mix en el tab de Global Illumination.

Y finalmente, en lugar de idisplay  seleccionamos exr del drop down menu de display driver, que esta seleccionado en rojo en la imagen que sigue:



Para obtener un exr con multiples canales o capas, solo basta usar el mismo nombre para todas las imagenes:



Una vez que rendereamos este frame, podemos cargarlo en su aplicacion de compuestos favorito.. en este caso, Nuke :


En la parte de abajo pueden ver las capas que componen la imagen.

Y este es un render del compuesto con los elementos que separamos como render passes o AOVs:



La escena final la pueden descargar de este link.  Y tambien pueden descargar la imagen exr con los render passes de aqui: dragon.0001.exr

Esta escena es de maya 2013 y la version Pro de 3Delight, asi que si tienen algun problema avisenme. El changelog de la version mas reciente esta aqui  http://www.3delight.com/en/modules/dokuwiki/doku.php?id=3delight_for_maya_changelog .


No comments: