Tendemos a generar movimientos de cámara ficticios para nuestros shots estáticos, bien sea utilizando camera shakes u otros nodos procedurales. Puede que no sea una mala idea para algunas situaciones, pero siempre conseguiremos resultados más realistas utilizando movimiento de cámara real, no procedural.

En Nuke, existe una forma muy sencilla de "robar" el movimiento de cámara de cualquier plano y añadirlo a un plano estático, para crear un movimiento de cámara fluido, orgánico y natural. En este video te explico como hacerlo.

Los suscriptores de elephant vfx pro, podéis descargaros el footage de ejemplo para practicar.

Otro consejo muy útil a la hora de capturar assets on-set. La importancia del high frequency detail (o el micro detalle). Cuando tenemos superficies con micro detalle resulta muy beneficioso a la hora de reconstruir el point cloud del que partirá la generación de geometría. ¿Porqué? Básicamente porque añadimos muchos puntos de control comunes entre diferentes fotografías, de esta forma, resulta mucho más sencillo (que no rápido) los cálculos que el software ha de realizar para generar dicho point cloud.

En este ejemplo, las condiciones de captura no eran demasiado buenas. Poca luz, cámara en mano sin trípode, viento y lluvia, etc. Con apenas 50 fotografías he obtenido un resultado muy bueno, perfecto para el remodelado de esta roca.

En cuanto a settings de cámara se refiere, fijaos que estoy utilizando un ISO poco recomendable 640 y una apertura no especialmente baja F8.
El shooting pattern no podría ser más sencillo. Casi todas las fotos realizadas desde la misma altura, como digo, solamente unas 50.

El tiempo para alinear el material apenas fue de 24 minutos. Sin embargo, la generación del point cloud llevó alrededor de 11 horas en mi iMac con calidad alta. Resultó en unos 9 millones de polígonos. Podría haber optimizado la escena eliminando gran parte del terreno (que no me interesa) pero quería la menor participación humana posible.

Teniendo en cuenta las condiciones, el output es bastante bueno. Gracias al high frequency detail.

Este es un asset que no necesita de topología cuidada, con una retopología automática en Zbrush tengo mas que suficiente.

El siguiente paso lógico es crear un buen UV mapping para poder utilizar posteriormente en Zbrush para re-proyectar todo el detalle de la roca original y extraerlo como displacement map. Tengo algunas distorsiones que afortunadamente no afectan en absoluto al comportamiento de la roca.

Algunos render test.

Los suscriptores de elephant vfx pro pueden descargar todo este material para su exploración detallada.

En este video tutorial os muestro como realizar tareas de re-topología de forma muy rápida gracias al script UV to Mesh. En esta particular demo trabajamos como utilizar un modelo creado en Marvelous Designer para crear ropa con topología perfecta en apenas unos minutos. Para posteriormente volver a simular en Marvelous Designer y transferir todos los nuevos detalles a la re-topología, y así tantas veces como necesitemos para crear diferentes versiones.

Gracias a David Muñoz Velázquez por el tip y por enseñarme a utilizar el script.

El otro día un alumno del curso "Técnicas guerrilla para la creación de planos VFX" me escribió un email preguntándome si Arnold no tenía AOVs para RAW lighting y albedo, ya que anteriormente trabajaba con otros motores de render que si disponían de los mencionados AOVs.

La respuesta es si y no. Es decir, por defecto si miramos la lista de AOVs de Arnold, no veremos ninguno llamado RAW lighting o albedo. Pero si, podemos fácilmente crearlos, os explico un par de soluciones.

  • En los AOVs de Arnold, como veis en la imagen los AiStandard no disponen de AOVs para RAW lighting o albedo.
  • La solución más sencilla es utilizar los AlShaders. Que como podéis comprobar, si que incluyen AOVs tanto para RAW lighting como albedo. Solucionado.
  • Supongamos que tenemos que utilizar AiStandard, aun así, podemos controlar de forma individual este tipo de información. Lo que necesitamos hacer es renderizar los AOVs que comúnmente renderizamos, dependiendo de las necesidades de cada uno, pero generalmente seran AOVs primarios y AOVs tecnicos.
  • También necesitamos hacer un albedo a mano, es decir, sustituyendo todos los shaders AiStandard de la escena por Surface shaders de Maya, que como sabéis, no les afecta la iluminación. En una escena muy compleja, esta tarea puede ser tediosa, pero raramente necesitaremos el albedo de toda la escena, solo de algunos hero assets. Además, esta tarea puede ser automatizada mediante scripting. ¿Algún voluntario?
  • Una vez en Nuke, voy a importar el beauty y el albedo pass.
  • Si dividimos uno por el otro obtenemos el RAW lighting. Con lo que podemos manipular la iluminación sin afectar a el color.
  • También podremos manipular el color independientemente de la iluminación. En este caso estoy tocando el color utilizando un color correction y clonando parte de la textura utilizando un roto paint.
  • Vuelvo a juntar los dos componentes, luz y color utilizando un multiply.
  • Si no hubiera realizado ningún ajuste a la iluminación o al color, esta operación debería de darnos exactamente el mismo resultado del beauty.
  • Finalmente como tenia tambien la informacion de sombras almacenadas en el alpha, provenientes de un shadow catcher, voy a ponerle un suelo a la imagen :)

Autodesk ha publicado un clip donde aparecen dos robots, uno supuestamente representa 3D Max y el otro Maya. (lo se, hace tiempo, pero lo he descubierto hace un par de días).
Lo que está bien, es que puedes descargarte los robots para utilizarlos como te venga en gana. Están en los formatos propietarios del software correspondiente. Me he descargado el robot de Maya, sólo viene el modelo en si, sin texturas. Bueno, se adjuntan dos máscaras, una para detalles de pintura y otra para los textos que se pueden ver escritos en el cuerpo del robot.

Lo cierto es que la organización del material es muy caótica. Las UVs más o menos están bien desplegadas, pero no están organizadas mediante UDIMs (año 2016...) y resulta una pesadilla saber donde hay que colocar las máscaras proporcionadas por Autodesk.
En fin, me he descargado el material y lo he reorganizado de tal forma que sea UDIM friendly. Importado en Mari y exportado las dos máscaras proporcionadas con nomenclatura UDIM. Ahora solo necesitas dos segundos para hacer el setup. Todas las piezas tienen un UV mapping más o menos decente (que no perfecto) excepto algunas piezas internas que no tienen UVs.

Aquí abajo dejo un render rápido que he hecho en Arnold para que veas la apariencia del robot que más o menos se puede conseguir con el material proporcionado. Dejo también un link con mi versión re-organizada para trabajar de forma cómoda, no como estaba originalmente organizado por Autodesk. A ver si alguien se anima a realizar unas texturas decentes y compartirlas. También estaría bien que alguien que utilice 3D Max hiciese lo mismo con el otro robot. Si alguien lo hace, que me avise por favor y lo comparto en el blog.

Descarga desde la web de Autodesk.
Descarga mi versión re-organizada human friendly.

Posted
AuthorXuan Prada
Categoriesrecursos

Proyectar footage, backplates o cualquier otro tipo de material fotográfico y/o pintado en Nuke, es probablemente una de las tareas mas comunes que podemos realizar en un estudio de efectos visuales. Compositores, texture artists, matte painters o paint artists, son generalmente los encargados de realizar este tipo de tareas. En algunas ocasiones, en lugar de simplemente proyectar los detalles que necesitemos en los renders, es preciso bakear el trabajo realizado en Nuke en las propias texturas de nuestros assets, y así, poder renderizar de nuevo sin necesidad de volver a pasar por Nuke. La mejor forma de realizar este tipo de tareas, es proyectando los detalles directamente en las UVs de los assets.

  • He exportado mi escena de Maya a Nuke. En este sencillo ejemplo tengo la cámara utilizada para el render, y un cubo donde necesito proyectar mi footage.
  • Para importar la geometría utiliza un ReadGeo y para la cámara un nodo Camera.
  • He importado el footage que quiero proyectar, en este caso es un solo frame.
  • Conecta el footage a un nodo Porject 3D.
  • Conecta el input de la camara el nodo Porject 3D.
  • Conecta el img input del nodo ReadGeo al nodo Project 3D.
  • Mira a traves de la camara.
  • Además de estar proyectando el footage en la geometría, también estoy pintando algunos detalles encima de la misma, utilizando un rotopaint.
  • Conecta un nodo UVProject al axis/cam input, y el secondary input al ReadGeo.
  • Deja la opcion Projection como Off.
  • Conecta un ScanlineRender al UVProjector mediante el input obj/scene.
  • El projection mode tiene que estar como UV.
  • Si cambias el visor 3D a 2D verás como el trabajo realizado en Nuke aparece en el espacio UV de tu asset.
  • Utiliza un write node para escribir el trabajo a textura.
  • Ya ya está, listo para ser renderizado en Maya.