01.gif

Una de las prácticas más comunes cuando iluminamos un plano utilizando un scene assembler, es realizar constraints de luces cg a partes de un alembic cache. En este ejemplo sencillo, tengo un alembic cache de un coche que ha sido animado en Maya y que será iluminado en Katana. El primer paso suele ser colocar un locator en aquellas partes donde necesitamos colocar luces posteriormente. En el caso de este coche, bastaría con tener un único locator, ya que la animación no requiere de mayor complejidad. Si es importante realizar un bake de la animación en el locator, para que la información de animación viaje con el mismo.

En Katana, creamos un gaffetThree para las luces del coche, pero es importante no añadir ninguna luz antes de realizar los constraints necesarios. De lo contrario, puede que tengamos que corregir algunos offsets posteriormente.
Para ello utilizamos un parentChildConstraint donde indicamos el gaffer que contiene las luces del coche en el basePath y el locator que viene en el alembic cache en el targetPath.

Ahora si que podemos añadir con libertad las luces del coche. Si damos al play veremos como las luces siguen perfectamente la animación del coche.

04.gif

En caso de que nos olvidemos de realiar el constraint del gaffer y añadamos luces, es posible que tengamos ciertos problemas de offset y tengamos que compensar ciertos valores. Para ello podemos utilizar un constraintResolve y un transformEdit para poder leer los valores de animiación que están siendo aplicados al gaffer o a las luces de forma individual.

Posted
AuthorXuan Prada

Scene: Progresión de planos que ocurren en un mismo lugar o localización.

Shot: Acción que ocurre de forma continua e ininterrumpida.

Cut: Acción editada.

Sequence: Colección de escenas que forman una sección de la pelicula.

Special effects
: Efectos recogidos por la fotografía principal.

Visual effect: Efectos realizados en post producción.

Principal photography / plate photography: Rodaje de la acción principal.

Plates: Planos filmados para ser utilizados en efectos visuales.

Turnovers: Secuencias editadas y cerradas proporcionadas a las compañías de efectos visuales para empezar a trabajar en ellas.

Clean plates: Versión de los planos filmados sin actores o sin acción principal. Utilizados para facilitar ciertas tareas en efectos visuales.

Greenlit: Aplicado a una secuencia, plano, etc. Quiere decir que el trabajo esta confirmado y aprobado económicamente para empezar a ser desarrollado por la compañía de efectos visuales.

Posted
AuthorXuan Prada

En mi blog personal, llevo un tiempo escribiendo posts sobre como utilizar Houdini como scene assembler. Posts cortos con contenido muy sencillo, y empezando prácticamente desde cero. Iré recogiendo toda esa información en elephant vfx, y por supuesto, con el tiempo seguiré escribiendo al respecto. En esta ocasión, aumentando dicha información, voy a hablar rápidamente sobre como exportar volumes desde Houdini hacia otras apps 3D, o para ser utilizados en el propio Houdini con renders de terceros, como Arnold render. 

Para ilustrar el ejemplo, he creado esta simple nube que vemos más abajo, utilizaado algunas herramientas de volumes en Houdini. Lo que pretendo es exportar un vdb para ser utilizado como digo dentro de Houdini con Arnold render, o en cualquier otro software 3D y cualquier otro renderer.

En esta ocasión no voy a hablar de como crear nubes en Houdini, hay varios métodos que yo conozco, aunque no soy ningún experto en el tema, pero es algo que podemos discutir otro dia. Simplemente mostrar que parto de estas tres esferas moldeadas a mi gusto para conseguir un volume más o menos atractivo y que pueda repesentar una nube.

Una vez creada la nube, hay que exportarla como vdb. La opción más simple, en el caso de tener un volume no animado, como en este caso, bastaría con crear un file node, en modo write. Y escribir el archivo vdb. Tan simple como eso.

En el caso de tener un volume más complejo, como podría ser una simulación de unos cuantos frames, necesitaríamos un nodo convert vdb, en modo VDB.

Después un nodo rop geometry para escribir el archivo vdb en su totalidad de frames.

Hasta el momento sólamente estamos exportando volumes con un field density, que es información float. En el caso de tener información vector, es decir, tres canales, como por ejemplo un field de velocity, necesitaríamos antes realizar un merge de esos 3 canales. No es obligatorio, pero sin duda es más eficiente.

Tras el vdb vector merge, conectaríamos un rop geometry para escribir el vdb.

Una vez exportado, podemos importar el vdb mediante un nodo arnold volume. Es imortante indicar el grid que queremos utilizar, en este caso density, y también el modo de visualización.

En el caso de tener una secuencia e vdbs, podemos utilizar el padding $F4.vdb

En esta ocasión estoy utilizando el mismo volume dentro e Maya.

Una vez renderizado de forma correcta, obtenemos el render qu eilustra este ejemplo.

Los suscriptores de elephant vfx pro, tenéis un video de 25 minutos donde explico estos conceptos con mayor detenimiento. Podéis acceder al contenido desde vuestra web.