| La importancia de renderear en capas o "pasos" | ||||
| Sea para el
programa 3D que sea, trataré de explicar lo que implica renderear una imagen
o animación en capas. Esto es dividir en varias imágenes cada cuadro de
nuestro producto final. Así tendremos mayor control general de la calidad
final de la imagen, y al mimso tiempo lograremos ahorrar considerable los
tiempos de render. Para comenzar sería bueno explicar qué es un render. En términos simples, un render es el resultado final en forma de imagen que entrega el computador, específicamente, a través del motor de render dentro de un programa 3D. Hay varios motores de render y se diferencian entre sí en cómo calculan los atributos de la escena para obtener sus resultados, con las consiguientes ventajas y desventajas. Por nombrar algunos: Raytrace, Raydiosity, Mental Ray, Brazil, Arnold y el ya famoso RenderMan. Otro tema al que tampoco quiero entrar en detalles, porque da para otro artículo, es sobre los formatos de imagen que conviene usar. Sin embargo de todas formas yo recomiendo por experiencia el formato SGI; no comprime pero es liviano ya que no toma en cuenta el peso de los píxeles que no están en uso o que se renderean fuera del canal "alpha". Nunca renderear en AVI o MOV nada que no sea una prueba. Sería una pérdida de tiempo tener que hacerlo todo de nuevo porque se cayó el computador o hay un cuadro medio raro… secuencias de imágenes... siempre usar secuencias de imágenes. Ok, vamos al tema, y espero que les haya quedado claro que existe el verbo renderear. Cuando creamos una escena en un mundo 3D siempre estamos tratando de imitar algo de la vida real. Por muy caricaturesco o experimental que sea, hay parámetros que estarán presentes dentro de la escena: luces, colores, sombras, reflejos, brillos, etc. Algunos de ellos, sino todos, serán parte de del render final para obtener la imagen que deseamos. Todos ellos pueden ser separados y rendereados en diferentes imágenes (o secuencia) para después juntarlos en algún programa editor de video o compositing como After Effects, Combustion o Final Cut, donde se le dará el toque final de post producción. Muchas veces puede obtenerse una imagen muy buena sin mucho tramite, y los motores de render mejoran haciéndose cada vez mas rápidos, pero lo importante es la flexibilidad que te da el tener diferentes capas o "pasos". Controlar la intensidad de luces, la opacidad de reflejos y sombras, o corregir o cambiar colores sin estropear sombras o fondos... y todo esto después de terminar el rendereado. Eso es flexibilidad. También esta el tema de ahorro de tiempo. Para esto es bueno ser metódico y saber bien como nombrar y ordenar archivos e imágenes. Las empresas tienen biblias sobre esto y la nomenclatura a usar tanto para archivos como para secuencias de imágenes. ¡Hay escenas de películas que manejan más de 500 capas por escena!. Parece una locura... y lo es, pero seria mucho peor si no fuera así. Tengan en mente entre 5 ó 10 capas por elemento 3D en la escena multiplicadas por la cantidad de elementos... saquen la cuenta. Por ejemplo, calculen la cantidad de elementos dentro de una escena de Star Wars: la batalla en Naboo. Cuántas naves, soldados, láseres, polvo, explosiones, fuego, escudos, pájaros, nubes y quién sabe qué mas detallitos... más color, sombra, reflejos para cada uno de esos elementos... una verdadera locura. Eso sí, hasta que llega George Lucas y dice: "Mmm, no me gusta esta nave, sáquenla. Y ese robot... que mire a la cámara". Gracias a Alá que está todo en capas. Esa nave es sólo cosa de borrar su capa, al igual que para cambiar la animación de ese robot y reemplazarlo dentro de la escena. Pero si de no ser así, es volver a renderear todo de nuevo... por culpa de 2 elementos... eso sí que sería de locos. Otro factor que ahorra tiempo de render es cuando no existe movimiento de cámara. Si tenemos un personaje camimando por la calle, pero no hay movimiento de camara, el fondo sera el mismo. Para qué renderear un fondo en todos los cuadros si podemos renderear sólo una imagen con el fondo y colocar nuestro personaje caminando sobre este único cuadro. Así ahorramos el tiempo que implicaría renderear cada cuadro con toda la información de la escena. Incluso se puede simular un leve movimiento de cámara con sólo una imagen de fondo un poco más grande y mas tarde jugar con el espacio que nos proporciona esta imagen. Respecto a la forma de generar sombras y reflejos más reales, puede hacerse que quede impeque, pero los tiempos de render son insoportables. Raydiosity, HDRI, o Global Ilumination hacen su trabajo, pero aún son asesinos del tiempo. Lo mismo con las luces de área. Para un solo cuadro esperar cinco horas esta bien, pero cuando hay miles de ellos, no hay productora que te aguante. Por eso tanta y tanta importancia en los motores de render avanzados (y por eso los precios). Pero para el resto de los mortales, y para el 90% de los casos, una capa se sombra dura (sin nada especial) es más que suficiente. El render es rápido, y después podemos jugar fácil y ágilmente con la Opacidad y Blur en algun software de postproducción. Lo mismo pasa al crear pasos o capas para reflejos, o bien lo que sea necesario. Es más “barato” hacer los ajustes después. Para crear las diferentes capas-pasos hay programas que tienen todo un menú de configuraciones, pero para programas no tan avanzados un buen consejo, y algo que hago muy seguido, es duplicar el archivo original y hacer tantas copias como elementos o pasos diferentes quiera crear para renderear. Si no puedes separar por capas o pasos, por lo menos estarás separando elementos. Incluso esta modalidad es mejor aunque se tenga un programa avanzado... son diferentes formas de trabajar. Yo suelo usar ambas, dependiendo de la escena. Normalmente separo la escena virtualmente en por lo menos nueve zonas con respecto a la cámara: Fondo, Centro, Cerca; Izquierda, Centro, Derecha. Veo qué elementos están dentro de esas zonas y creo un archivo para cada zona con su correspondiente nombre... y que sea entendible por cualquier mortal, no solo por uno mismo. Algo así como: Scn23_Robot_Sombra_03 Donde tenemos la ESCENA_QUÉ COSA_QUÉ CAPA_QUÉ VERSION Así mantendremos un orden con las secuencias de imágenes que generarán esos archivos, donde resultará fácil saber de dónde viene un render y de qué versión del archivo, generando una secuencia con un nombre así: Scn23_Robot_Somb_03.0001/0500.sgi Ahora si hay elementos secundarios y principales, ahí hay otra forma separar renders... como dije, será a gusto del consumidor. La idea es luego compilar todas las secuencias de imágenes en algún software que trabaje con multicapas…como After Effects o Combustion, que permiten hacer lo que Photoshop hace, pero con video o secuencias de imágenes. Sé que faltan muchos detalles, pero gran parte del proceso se va concretando en el camino. Les dejo unos ejemplos para mostrar la flexibilidad post-render que proporciona el uso de capas. En el ejemplo A todo está hecho sólo con un cuadro por imagen. En el ejemplo B se puede ver la gran cantidad de elementos que puede llegar a tener una escena. |
||||
|
||||
| Manutara.tk
Publicado tambien en MMUG.CL |