Técnicas avanzadas de render: baking para mental/vray en...

12
Técnicas avanzadas de render: baking para mental/vray en 3dsmax®, renders de 10 min a tan solo 5 seg Carlos Vilchis Universidad del Valle de México DG5200-V El objetivo de esta clase es comprender y utilizar de manera eficiente las características de Render to Texture tan subestimadas en 3dsmax. Como ejemplo un render de 10 minutos puede ser reducido a tan solo 2 segundos, técnica muy útil para recorridos arquitectónicos, visualización científica y extensiones de set para VFX a un costo realmente bajo de render. Como base se utilizara un motor de render avanzado como mental ray o vray para demostrar las capacidades de la herramienta en ambientes de producción profesionales. Learning Objectives Al final de esta clase , Ud. podrá: Utilizar el rendering tradicional como complemento al basado en baking. Entender el proceso paso a paso de baking para render. Reconstruir la escena con materiales previamente bakeados. Conocer las situaciones ideales para animación de cámara y recorridos para render con baking. Corregir elementos que no pueden ser rendereados a través de la técnica de baking. Renderear secuencias arquitectónicas o de animación a un coste mas de 20 veces mas rápido. About the Speaker Carlos Vilchis ha trabajado en la industria de 3d y animación desde el año 2000. Ing. En Sistemas de profesión, estudio en Madrid, España un Master en Animación 3d y postproducción. Ha trabajado como 3d artist en gran cantidad de anuncios de TV así como en 4 largometrajes animados . Su experiencia académica se origina desde hace 4 años que inicia como profesor en la UVM sobre la herramienta 3dsmax. Posteriormente obtiene la certificación de ACI (Autodesk Certified Instructor). Actualmente Carlos continua de Instructor en diversos ATC, es Líder Nacional del programa de animación 3D en la Universidad del Valle de México, así como consultor de desarrollo académico para otras tantas universidades en México. [email protected] www.carlosvilchis.com

Transcript of Técnicas avanzadas de render: baking para mental/vray en...

Técnicas avanzadas de render: baking para

mental/vray en 3dsmax®, renders de 10 min a tan

solo 5 seg Carlos Vilchis – Universidad del Valle de México

DG5200-V

El objetivo de esta clase es comprender y utilizar de manera eficiente las características de Render to Texture tan subestimadas en 3dsmax. Como ejemplo un render de 10 minutos puede ser reducido a tan solo 2 segundos, técnica muy útil para recorridos arquitectónicos, visualización científica y extensiones de set para VFX a un costo realmente bajo de render. Como base se utilizara un motor de render avanzado como mental ray o vray para demostrar las capacidades de la herramienta en ambientes de producción profesionales.

Learning Objectives Al final de esta clase , Ud. podrá:

Utilizar el rendering tradicional como complemento al basado en baking.

Entender el proceso paso a paso de baking para render.

Reconstruir la escena con materiales previamente bakeados.

Conocer las situaciones ideales para animación de cámara y recorridos para

render con baking.

Corregir elementos que no pueden ser rendereados a través de la técnica de

baking.

Renderear secuencias arquitectónicas o de animación a un coste mas de 20

veces mas rápido.

About the Speaker

Carlos Vilchis ha trabajado en la industria de 3d y animación desde el año 2000. Ing. En Sistemas de

profesión, estudio en Madrid, España un Master en Animación 3d y postproducción. Ha trabajado como

3d artist en gran cantidad de anuncios de TV así como en 4 largometrajes animados . Su experiencia

académica se origina desde hace 4 años que inicia como profesor en la UVM sobre la herramienta

3dsmax. Posteriormente obtiene la certificación de ACI (Autodesk Certified Instructor). Actualmente

Carlos continua de Instructor en diversos ATC, es Líder Nacional del programa de animación 3D en la

Universidad del Valle de México, así como consultor de desarrollo académico para otras tantas

universidades en México.

[email protected]

www.carlosvilchis.com

Técnicas avanzadas de render: baking para mental/vray en 3dsmax®, renders de 10 min a tan solo 5 seg

2

NOTAS:

Hay que tomar en cuenta que, aunque este video se utilizara Vray para 3dsmax, los

fundamentos son exactamente los mismos en Mental Ray. Por otro lado, todas las pruebas

contenidas en este documento fueron realizadas en un equipo dual Xeon Quad Core 2Ghz

con 16Gb de ram. Por lo cual los tiempos pueden variar en cada caso.

1.- Rendereo arquitectónico tradicional.

Setup de la iluminación.

Vamos a comenzar colocando el setup de iluminación tradicional para arquitectura en Vray.

Colocaremos una VraySun, ubicada en el menú de Lights>>Vray>>VraySun. Los parámetros

los dejaremos por default. La luz la colocaremos de manera cenital de tal forma que ilumine de

manera general nuestra escena y de forma perpendicular a nuestro tiro de cámara.

Una vez creada el sistema de iluminación VraySun, Vray automáticamente nos solicitara

colocar un VraySky en el slot de enviromental, por lo cual deberemos decir que si deseamos

que sea colocado.

Técnicas avanzadas de render: baking para mental/vray en 3dsmax®, renders de 10 min a tan solo 5 seg

3

Setup del motor de rendering.

En el tipo de Image Sampler, colocaremos Adaptive

subdivisión, y en el rollout inferior de Adaptive

subdivisión sampler dejaremos los valores de Min.

Rate: -1 y Max. Rate : 2, a fin de conseguir un render

claro y sin bordes iterados.

Posteriormente, en la pestaña de Indirect

illumination, nos moveremos al rollout Indirect

Illumination (GI) y seleccionaremos las opciones de:

Primary bounces: Irradiance Map y Secondary

bounces: Brute forcé. Mas abajo en el rollout de

Irradiance map seleccionaremos el preset: Medium.

De esta forma sacaremos nuestro primer render.

Presionamos F9 para obtener el primer render a una resolución de 1920 x 1080.

Obtendremos un render de cerca de 2 minutos aproximadamente. Este será nuestra marca a

rebasar. Tratándose de una animación de150 cuadros, nuestro tiempo aproximado de render

asciende a 300 minutos o 5 horas.

Afinando Vray para mejorar la velocidad de render.

Para tratar de mejorar nuestra velocidad de render, ajustaremos los parámetros del mapa de

irradiación, a fin de que guarde en disco la información de irradiación necesaria, y la tome para

el render durante cada frame. Para hacer esto nos iremos a la opción de “mode” y

presionaremos el botón de SAVE para guardar el ultimo mapa de irradiación creado.

Cambiaremos de Single Frame a From File, especificaremos la ubicación en el disco duro

donde queremos hemos guardado el archivo y presionaremos F9 para renderear.

De esta manera esteremos utilizando el mapa de

irradiación guardado en disco y evitaremos todos

los pre cálculos originales del proceso de

Irradiance map, nuestro render habrá bajado

ahora a aproximadamente 1 minuto.

Técnicas avanzadas de render: baking para mental/vray en 3dsmax®, renders de 10 min a tan solo 5 seg

4

Cambiaremos ahora el tipo de rebotes indirectos

secundarios por uno que pueda administrarse a

través de un archivo, buscaremos en las

opciones de Secondary Bounces : Light Cache.

Ahora le daremos render con F9 para ver el

tiempo resultante.

Nos moveremos ahora a la opción de Light

Cache y buscaremos el rollout donde dice

Mode, y presionaremos ahora Save To File, y

cambiaremos el modo de Single Frame a From

File.

Nuestro render ahora estará ahora sobre los 49 segundos.

La incompatibilidad con los mapas de irradiación y la animación.

Hemos podido reducir de manera drástica el tiempo de render gracias a las técnicas

tradicionales de rendereo arquitectónico. El problema ahora radica en que los mapas de

irradiación no conservan la información que la cámara no ve, y como se trata de una animación

en movimiento, al moverse la cámara hacia otro punto de la escena, podemos ver los errores

de calculo detrás de nuestro edificio.

Habrá que solucionar esto aumentando la

cantidad de información de nuestro mapa de

irradiación, para esto, iremos al menú de

Irradiance map nuevamente y ahí

cambiaremos por Add to current map, nos

colocaremos en el frame preciso donde la

Técnicas avanzadas de render: baking para mental/vray en 3dsmax®, renders de 10 min a tan solo 5 seg

5

cámara esta observando la parte no calculada de la imagen y nuevamente le daremos Render.

De esta manera lo que conseguiremos es complementar el mapa de irradiación con aquellas

regiones que no fueron calculadas.

Nuevamente le daremos click al botón de SAVE a un lado de Add to Current Map para guardar

el nuevo mapa de irradiación. Cambiaremos nuevamente de Add to Current Map a From File,

para ahora trabajar con el nuevo mapa de irradiación extendido.

Ahora tenemos un render limpio, listo y con muy buena calidad, con un tiempo de render de 45

Segundos.

Esto será lo mas que podamos exprimirle a Vray, nuestro total de tiempo de render ha bajado

ahora a casi 2 horas de render para toda la secuencia. Nada mal si comparamos con las 5

horas originales, sin embargo aun podemos exprimirle mas.

2.- Baking de texturas.

Preparando los objetos para el baking de texturas.

Es importante considerar que antes de hacer el proceso de baking, se requiere tener la menor

cantidad de objetos en la escena posibles.

De la misma manera, darle prioridad a aquellos elementos que son de tamaño mayor, como la

casa en este caso, y menor prioridad a los objetos mas pequeños, como las tejas y el pasto.

Por tal razón, mediante un proceso de Attach, vamos a unir en 1 solo objeto aquellos objetos

pequeños, y dejar solos los objetos grandes.

Recordemos también que es importante desactivar el frame stamp de Vray para que nuestras

texturas no salgan con la leyenda de Vray. Vamos a empezar seleccionando todos los objetos

de la escena y abriendo el cuadro de dialogo “RENDER TO TEXTURE” ( shortcut 0 ).

Técnicas avanzadas de render: baking para mental/vray en 3dsmax®, renders de 10 min a tan solo 5 seg

6

El proceso de baking.

Primero es importante definir donde queremos que sean

almacenadas las texturas después del proceso de baking, por

lo cual en el rollout de OUTPUT vamos a seleccionar una

ubicación en el disco para que sean guardadas.

Render to Texture agrega automáticamente a Objects to Bake

los elementos seleccionados de la escena que vamos a

bakear.

Posteriormente, nos moveremos a la sección de OUTPUT y

ahí seleccionaremos el tipo de textura y las características con

que queremos que sea hecha bajo el baking.

En este caso, tratándose de un render hecho con Vray, le

daremos click al botón de Add… y buscaremos la opción que

dice VrayCompleteMap, ya que esta opción contiene todas las

características del material de Vray. Si se tratase de un

material de MentalRay, buscaremos la opción CompleteMap

únicamente. Le daremos ahora click en Add Elements.

En la parte baja del cuadro de Output, buscaremos una opción

que dice “target map slot” y ahí colocaremos “Diffuse Slot”,

esto debido a que queremos que el nuevo material creado

tenga las nuevas texturas en su canal difuso.

Por otro lado es importante seleccionar el tamaño de la textura

que queremos que sea generada, es recomendable utilizar el

mayor tamaño de textura posible para tener mucho mayor

calidad de render final (recomiendo mínimo 2048*2048).

Es muy importante activar la opción “Apply color mapping” para

que la textura salga con los colores adecuados.

Mas abajo, en el cuadro de dialogo “Baked Material” tenemos

que seleccionar “save source (create Shell)” para que

conserve los materiales originales, y mas abajo seleccionar

“Create new baked” y “Standar Blinn”, esto con el fin de

seleccionar el tipo de material que queremos que se cree con

las nuevas texturas después del proceso de baking.

Técnicas avanzadas de render: baking para mental/vray en 3dsmax®, renders de 10 min a tan solo 5 seg

7

Finalmente solo hará falta darle click a RENDER para iniciar el proceso de baking, el cual

primero se encargara de extraer los UVs de todos los objetos y posteriormente a renderear las

texturas. Este proceso puede llevar varios minutos, dependiendo la complejidad de la escena y

la cantidad de objetos (es por eso que es importante no tener tantos objetos y preparar la

escena de manera adecuada).

3.- Reemplazo de materiales.

Ajustes del render de la escena.

Una vez terminado el proceso de baking, veremos

como la escena aparece lista con los materiales en

viewport mostrando las características del render.

Es muy importante quitar cualquier fuente de

iluminación como luces y objetos iluminantes.

Posteriormente quitaremos el motor de render

avanzado (Vray / MentalRay) para colocar el motor

de render mas básico : Default Scanline.

Ajustes de los nuevos materiales.

Es importante limpiar nuestro editor de materiales si es que lo

tenemos lleno de los materiales originales.

Para esto, abriremos el editor de materiales y nos iremos al menú

Utilites >> Reset Material Editor Slots, lo que limpiara todo el editor

y nos permitirá comenzar a abrir los nuevos materiales para

ajustarlos.

Una vez limpio el editor de materiales, utilizaremos nuestro Dropper

, para ir abriendo uno a uno los materiales de cada objeto en la

escena.

Una vez que empecemos, el primer material que agreguemos

desde el viewport notaremos que son materiales de tipo

Shell, estos materiales permiten mantener 2 tipos de

materiales para distintas ocasiones: viewport y render.

Técnicas avanzadas de render: baking para mental/vray en 3dsmax®, renders de 10 min a tan solo 5 seg

8

El primer material, Original Material, veremos que esta preestablecido a ser utilizado en el

render, el segundo Baked Material, estará destinado para usarse en el viewport. Vamos a

cambiar el 2do material para que también funcione en el render, de tal manera que Baked

Material funcione tanto para Viewport, como para render.

Una vez hecho esto, nos meteremos a las propiedades del

2do material, y justo dentro de los parámetros del material

de tipo Blinn, subiremos la auto iluminación a 100, esto con

el fin de que el nuevo material bakeado funcione al 100% de

su tonalidad de color.

Haremos esto en todos y cada uno de los elementos, a fin de decirle a 3dsmax que queremos

que todo se renderee con el material bakeado, y que estén auto iluminados.

El nuevo tiempo de render.

Notaremos que una vez reconstruida toda la escena con los nuevos materiales para render, y

desactivadas todas las luces de la escena, nuestro render bajo Default Scaline tarda

únicamente 4 segundos. Esto es un excelente tiempo, ya que si calculamos , nuestro render de

150 cuadros ha bajado a tan solo 10 minutos de render total.

4.- Animación de recorridos y render.

Preparación de un recorrido animado.

Vamos a utilizar una técnica bastante sencilla pero eficiente para la realización de recorridos

virtuales. En este caso utilizaremos un constraint de posición para decirle a nuestra cámara por

donde queremos que se mueva.

Lo primordial es confirmar que tenemos el tiempo necesario en nuestra escena para lo que

deseamos hacer, como recordaran nuestra escena dura 150 frames, por lo cual la cámara se

moverá durante este periodo de tiempo (0-150)

Técnicas avanzadas de render: baking para mental/vray en 3dsmax®, renders de 10 min a tan solo 5 seg

9

Diseño del recorrido basado en splines.

Vamos a utilizar un simple path para definir el

recorrido de nuestra cámara, así que iniciaremos

colocándonos en la vista Top a fin de poder trazar

libremente.

Haremos click en la pestaña de creación de

objetos y posteriormente en el menú de Shapes, y

finalmente en Line. Comenzaremos a crear una

línea con la forma que deseamos que nuestra

cámara recorra.

Una vez generada la curva, ajustaremos si es necesario los nodos de nuestra línea a fin de

hacer curvas suaves para que el movimiento de la cámara sea fluido e interesante.

Asignación del Constriant de path position.

Empezaremos colocando el Target de nuestra cámara justo en el centro de

nuestro objeto a observar, posteriormente seleccionaremos el cuerpo de la

cámara y nos iremos a la pestaña de motion en el panel superior derecho.

Expandiremos el rollout de Assign Controller, para ver como tenemos

enlistado en un menú toda las transformaciones de nuestro objeto (Position,

Roll Angle, Scale), le daremos click al que dice POSITION.

Le daremos ahora click al botón que esta en la parte superior derecha del

Roll Out assign Controller que tiene por icono una palomita verde y una hoja

de papel, ahí nos aparecerá un menú en el cual seleccionaremos PATH

CONSTRIANT.

De esta manera habremos especificado que queremos que el recorrido de

nuestra cámara dependa de un path o spline. Mas debajo de la ventana

buscaremos como ha aparecido un roll out llamado PATH PARAMETERS.

Ahí le daremos click al botón ADD PATH, para después seleccionar nuestro

spline que dibujamos previamente. De esta manera , automáticamente será

asignado un recorrido del frame 0 al 150 de nuestra cámara, siempre viendo

el punto de interés de nuestro objeto.

Importante: revisar que nuestra spline este a la altura adecuada para

observar el objeto, si no es así, bastara con mover la spline en Z positivo.

Técnicas avanzadas de render: baking para mental/vray en 3dsmax®, renders de 10 min a tan solo 5 seg

10

5.- Corrección de elementos que no se pueden bakear.

Creación de un material reflejante.

Si somos observadores, nos habremos percatado que nuestro render se ve

perfecto, con excepción de aquellos elementos que son reflejantes, y que,

debido a que su superficie de textura ha pasado por el proceso de baking, están

reflejando los elementos de manera fija y no de manera real con respecto al

angulo de la cámara. Tendremos que solucionar esto colocando un material real

que se encargue de esto.

Tratándose del vidrio de las ventanas,

abriremos nuestro editor de materiales y

seleccionaremos un slot vacio. Aquí

colocaremos un material de tipo Architectural,

posteriormente seleccionaremos el slot de

Glass Clear para obtener un material con

aspecto de cristal.

Asignación de un enviromental para las reflexiones.

Ya que es necesario que nuestro nuevo material no solo refleje los elementos de la escena sino

un ambiente correcto, vamos a colocar en el menú de Enviroments and Effects un mapa tipo

spherical que se encargue de esto.

Apretaremos el botón numero 8 que es el shortcut de

Enviroments and Effects, y le daremos click al botón que debajo

de Enviroment Map. Buscaremos en nuestro disco duro la

imagen Sky_lightblue.jpg.

Dado que esta imagen es un mapa de tipo esférico, es necesario que nosotros especifiquemos

las coordenadas con la que queremos que sea representado. Por ese motivo vamos a hacer

click en donde dice Map#XXXXX (sky_lightblue.jpg) y lo arrastraremos a un slot vacio de

nuestro editor de materiales.

Técnicas avanzadas de render: baking para mental/vray en 3dsmax®, renders de 10 min a tan solo 5 seg

11

Una vez realizado esto, en las opciones que están en el

Edito de materiales de nuestro nuevo Mapa de bits,

buscaremos el roll out que dice Coordinates, y

seleccionaremos del combo box la opción Spherical

Enviroment.

Una vez realizado esto, nuestra escena estará completamente lista para ser rendereada

correctamente.

6.- Rendereo Final.

Render de la secuencia.

Para terminar nuestra secuencia solo hará falta presionar F10 para

abrir el cuadro de dialogo de render. Seleccionaremos en Time

Output la opción de ACTIVE SEGMENT a fin de que se renderee

toda la secuencia animada de 0-150

En la sección de Output Size, seleccionaremos el tamaño que

deseamos que sea rendereado nuestro video (en este caso

1920*1080).

Mas abajo en Render Output, seleccionaremos la carpeta donde

queremos que sea guardado nuestro render, es recomendado

guardar la secuencia como fotogramas, ya sea en PNG, JPG o TGA

a fin de poder continuar el render si es que lo pausamos o

cancelamos.

Técnicas avanzadas de render: baking para mental/vray en 3dsmax®, renders de 10 min a tan solo 5 seg

12

Nuestro render al final ha quedado de 5 segundos por frame incluyendo las reflexiones de

nuestras ventanas, esto nos da un tiempo final de 12.5 minutos total, un tiempo bastante

considerable si comparamos con las 5 horas de render original.

Sumario:

La meta de el proceso de Baking en 3dsmax es reducir el tiempo de render considerablemente

para visualizaciones arquitectónicas, recorridos para VFX o escenarios de animación que no

representan mayor complejidad de reflexiones. Reduciendo el tiempo de render es posible

aumentar el tiempo de productividad de nuestras animaciones en 3d. Hacer baking de luz es

inclusive una herramienta bastante útil cuando se trata de enviroments para videojuegos, ya

que reduce el tiempo de calculo para los motores de videojuegos haciéndolos aun mas ligeros

para dispositivos móviles por ejemplo. Espero que esta clase haya sido de su agrado, y sobre

todo que les ayude a todos a mejorar sus tiempos de render.

Cualquier duda me pueden contactar en :

[email protected]