VFX TD reel


Baking occlusion on displaced geometry

I found myself trying to get a lot of different static objects to render with displacement and ambient occlusion. To optimize render times, I wanted to be able to bake the Ambient Occlusion into the objects, all of them coming from Zbrush so I didn´t want to lose the detail from the fine displacements, mostly visible thanks to the occlusion.

To bake a shader (or shaderUnwrap) in Houdini, you have to do what´s called an UV space render.  All you need to do to achieve it is to import the “UV Object” rendering property into your renderer node. Also, make sure that your UVs are set as a vertex attribute.
The problem is: Houdini doesn´t actually supports UV rendering of displaced geometry.

To achieve this, you´ll have to do a little trick (assuming you are working in VOPS):
You have to:
1.copy your displacement shader network and paste it into your surface shader
2.pipe the output of the pasted network into the occlusion node.

PS: The shading workflow has changed a bit in H11 and I haven´t tried this there. I hope this trick isn´t needed anymore, but it surely still works.


Basic iridescence shading in VOPS

Iridescence is generally known as the property of certain surfaces which appear to change colour as the angle of view changes (you´d better see Wikipedia, plus it´s got nice pics).
I´ll show the creation of a basic, “artistic” iridescent shader. For a model that´s closer to being physically correct, and for an explanation about this, you should better look at “Implementing Spectral Colours in Mantra“, from Mario Marengo.

Notice the hue shifting towards the edge.

VOPNET (click to expand)

Shader UI

If you have a basic understanding of VOPs you should be covered by now just looking at the VOPNET, but in case you are just starting I´ll try to explain how does it work:

This shader shifts the hue of the surface based on the angle between the normal and the eye. Step by step:
-The dot products returns a float between -1 and 1, depending on the angle between the direction to the Eye (I) and the surface normal (N), giving us a mapped value of this angle.
-Abs makes it always positive, chopping the range, making it from 0 to 1. It also means that if you are looking at a backface that´s on the opposite angle it will return the same value.
-The Ramp makes it easy for the user to assign a different amount to each angle, as we are already working from 0 to 1, the range is OK to be mapped to the ramp.
-The Base Hue parameter let´s the user choose what will be the hue when the ramp value is 0 (adding it).
-We connect this value as the Hue on an HSV to RGB node, also adding parameters for S and V.
-Finally, we connect the RGB value as the diffuse value of the surface on a Lighting node, to have a a light-reactive surface.

Try playing with the curve and with more complex models.

Here´s an image I did playing with the shader, pay attention to the background, where I´m only adding a default veins noise as a displacement to the shader. (The black patches aren´t created by the shader)


Volume R&D – Development of cloud layer and cloud shaper tools.

I developed cloud layer and cloud shaper tools for an oncoming short film and commercials. The tools were both built with Houdini, using mainly custom VOPs and expressions, no “coding” was involved.
Both tools support exporting the resulting volumes to be re-generated at render time, light baking and a real-time preview mode. The cloud layer tool also features a fading control in each axis for easy tiling of the obtained volume.


Huggies – Cuentitos – Commercial

I Did the particle simulations and, using custom attributes and hscript expressions I referenced baked geometries and the shaders based on these attributes, giving variations on speed, size and shading to each instance. I also did a set-up for using inter-frame blending on the cached geo, to get a more precise and fluid motion and motion blur at render-time.
Cycle Animation by Alejandro Ohanian, Composition by Patricio Barreiro

[Vimeo 11399010]


Sin Memoria – Feature Film


Shot and partial breakdown:
[Vimeo 11402556]

Open GL preview:
[Vimeo 11402912]

My first feature film shot, the main challenges were the smoke/fire simulation and the re-fracturing of the debris on collision.
I first proposed a version with a bigger explosion, there was more wall fracturing and falling to the street, so I setted up the debris to re-fracture based on the collissions (using Johner´s voronoi fracture otls).
On the final version it´s barely noticeable.
The shot also includes a cutting wire sim, many particle layers and a couple of 3D tree branches added (animated by Lucía Vidal) wich I rigged modelled  shaded and rendered.

Mi primera toma para cine, los principales desafíos fueron la simulación de humo y fuego, y conseguir que los escombros se vuelvan a fracturar con las colisiones.
Primero propuse una explosión más grande, donde se destruía más la pared, por lo que tuve que setear los escombros para que se re fracturen basándose en las colisiones (gracias a los otls de voronoi fracture de Johner), aunque en esta versión casi no se nota.
La toma también incluye un cable que se corta (simulado), varios pases de partículas y el agregado de ramas al arbol, para el cual hice el modelo y el rig, y Lucía Vidal las animó.


Poett Purse – Commercial

This was the first commercial I did using Houdini and being in charge of the 3D VFX.
I did custom particle behavior control tools and most of the simulations.

Este fue el primer comercial que hice usando Houdini y estando a cargo de los efectos 3D.
Hice herramientas de control de comportamiento de las partículas y la mayoría de las simulaciones.

[Vimeo 6805704]