Lograr profundidad de campo (DOF) con nodos en blender.
Buenas!, hace tiempo que no escribo algún tutorial. Me han preguntado mucho acerca del uso de los nodos por eso quiero mostrarles como aplicar un efecto de profundidad de campo y enfoque a una escena compuesta mediante los nodos. Para los que suelen renderizar con yafray este tutorial no les servirá de mucho ya que ese motor de render incorpora el efecto en las propiedades de la camara, pero como ustedes sabrán si se puede hacer todo con el motor de render interno de blender mucho mejor!
No explicaré como crear la escena porque doy por sentado de que sabrán hacerlo! (y mejor que yo!) asi que veamos las imagenes para poder continuar.
![]()
La composicion consiste en un cubo duplicado unas 15 veces. La camara la ubiqué de tal forma que se puedan ver en el mismo plano el primer cubo y el ultimo.
Si hacemos un render deberiamos ver algo como esto:
Bien, antes de pasar a la composicion de nodos vamos a chequear que en el panel de render este activado el pase de profundidad Z. Al activar este boton (suele estar activado por defecto) el render incluye, ademas de la información de color, la información de profundidad de la escena. Hagan un render (F12).
En una ventana que nos quede libre vamos a activar el editor de nodos.
Luego en la barra de botones de esta nueva ventana presionen los botones “Composite Nodes” (El icono con la cara de la mujer) y Use Nodes y Backdrop (para que muestre en el fondo de la ventana de nodos el resultado del Viewer seleccionado).
Genial!, deberiamos estar viendo algo como esto:
Bueno, como veran el nodo Render Layer corresponde al render que hicimos de la escena seleccionada. Este nodo de entrada posee 3 salidas: Image (Todo lo que no es alpha y que corresponde a las secciones solidas y con color), Alpha (El canal de transparencia del render, suele ser todo el espacio vacio de la composicion) y el canal Z que como dijimos antes: almacena la información de la profundidad de los objetos en la escena.
Lo que vamos a hacer es un procedimiento para transformar la informacion del canal Z en una imagen de escala de grises en la cual la parte blanca sera la parte fuera de foco y la parte negra la enfocada. Para lograr esto agregaremos un MapValue presionando la tecla Space. Este nodo limita a la información Z a un rango de valores mas accesibles antes de aplicarle el ColorRamp.
De todas maneras podemos usar simplemente el MapValue para obtener el gradiente de profundidad. A continuación pongo unos ejemplos con distintos valores para mostrar el funcionamiento de los parametros:
Como vemos en los ejemplos de arriba, el parametro Offs (Offset – Distancia) controla la posición del gradiente de profundidad, en cuanto que el valor Size maneja el tamaño de ese gradiente. Un valor cercano a 1.00 indica un rango de valores mas pequeño en donde el gradiente es mas corto, en cambio, un valor menor a 1.00 (y cercano a 0.01) muestra un gradiente mas extenso abarcando mas profundidad.
Pueden ir modificando los valores para darse cuenta ustedes mismos de los resultados.
En el caso de este ejemplo voy a usar un Size = 0.1 como se ve en la imagen a continuación. Fijente que el valor Offs en 0.00 ubica el foco (la parte mas oscura) en la misma posición en la que se ubica la camara.
Ahora agregamos el ColorRamp en la salida del Map Value y le agregamos un nodo Output del tipo Viewer para poder ver el resultado en el Backdrop de los nodos. Ahora, como se ve en la imagen de abajo, ubico la posición del Offset en -5.00 y con el ColorRamp modifico esa rango de colores para obtener un foco en la posicion -5 . Aclaración: Backdrop es la imagen que se ubica en el fondo de la composición de nodos y que nos va mostrando en tamaño de render el resultado del Viewer seleccionado.
Ahora solo queda aplicar el filtro defocus:
Este filtro posee dos entradas y una salida con el resultado. En una de las entradas introducimos la imagen de render de la escena. Y lo mas importante: en la entrada del valor Z introducimos el resultado del ColorRamp. Luego en el nodo Defocus configuramos la escala del Blur mediante el parametro Zscale. La calidad de este Blur estará determinada por la cantidad de Samples (muestras). Finalmente recuerden que el resultado de este procedimiento debe salir hacia un nodo Composite (para que pueda ser renderizado). Por ultimo y tambien muy importante es activar en los botones del panel de Render la opción Do Composite para luego apretar el boton Render.
Es un proceso largo pero el resultado es bueno, y aunque parezca complicado en realidad con el tiempo descubrirán que son procesos muy simples.
Espero que les haya servido!, hasta la proxima!
blog
about me
contact
links
demoreel







12 December 2007 a las 12:19 PM
Muy bueno!!
Un millar de gracias!
14 December 2007 a las 5:12 PM
La verdad sé lo mismo que vos acerca de los cursos que va a dar Manos Digitales, no tengo idea si me tocará dar alguno, apenas sepa de algo aviso. Supongo que darán noticias más adelante, en cuanto a mí, en enero estoy de vuelta por la capital, por ahora sigo en el sur
16 December 2007 a las 12:04 AM
encantada pablo! cualquier cosa mi mail está en mi blog,
beso!
20 December 2007 a las 5:35 PM
17 January 2008 a las 11:05 AM
Hola.
Que bien esto! descubrí para que es el valor ese Z de los nodos, y tambien una forma mas rápida de simular la apertura de foco, ya que yo conocia solamente la que utiliza el motion blur, y mueve la camara en un circulo durante un solo frame, y la camara tenia un track to a un empty que simbolizaba el punto de foco.
De esa forma, la camara siempre enfocaba al empty.
Se puede usar un empty para este efecto con la tecnica que vos describis???
Gracias
saludos,
Agu10
20 November 2008 a las 5:48 AM
Respecto a lo que dijo agu10 del empty en la camara, tambien se puede utilizar de esta forma, pues es muy bueno para animacion, pues solo tienes que mover el empty para ajustar DOFDist de la camara segun requieras tu enfoque en la camara.
Es una tecnica en los nodos muy interesane, pero creo que, al menos yo, prefiero solo utilizar el nodo de Defocus en conjunto con el DOFDist de la camara y da excelentes resultados