The Watershot
Friday, 18th January 2008
If you've ever been told you can't do something, with full knowledge that you can, you produce what I refer to as "Spite-Art". This my friends is what we call spite art.


The establishing shot


Wireframe of the establishing shot

The shot is simple enough in design. The shot would open to turbulent seas, then suddenly the camera pulls back to reveal the water is actually contained within a glass, the background sky is actually the label of a bottle. Then for good measure, a robotic hand picks it up.

Why the robotic hand? Because I damn well wanted to.

Step 1 - Creating the Water
Because the water would also require a base for accurate refraction, it was made out of a cylinder. The top was then assailed with various noises and displacements, bump maps and various other methods. While there was a major ray-tracing component, the water texture is actually photos of water mixed with procedural solutions used mostly as a mask.

When the camera pulled out, the water that looked decent when the camera was close, looked terrible out wide. The wide shot version of the water was a standard Mental Ray physically accurate water shader. The switch between them happened over a period of 10 frames (the transition where the camera flies backward). Luckily, there was enough blue in both sides of the transition for it to feel extremely natural and not at all "they fudged it in post".


A transition Frame


The transition frame final - Note the "Original" boat floating in the middle of the water

Step 2 - The mast on the boat
Mesh. Noise. Deformation. Yawn.

Step 3 - The robot hand
Based on a design I pulled out of the air, this hand model was knocked over in an hour including 'Dynamic' cables. Since I was quite aware of the range my robot arm would need to do in the shot, the cables are actually a hose object with a soft selection in the middle and a flex modifier applied. This allowed them to jiggle realistically when the arm moved and clamped.


Final robot arm shot


Hand mesh

Step 4 - The render
Final gather, HDRI maps, area lights and general trickery were all heavily utilised. Render time was no concern.

Step 5 - The composite
The shot went through several iterations. Initially, there was no splashes on the side of the boat. Pulling in stock footage of a waterfall, I luminance keyed the splashes I liked the most and then tracked them in pieces to the bow and stern of the boat. The boat was originally not intended to be included in the shot (but was included after someone said "You need a boat or something").

More disturbingly, I decided to put the reflections in entirely in post. There was never a 3D reflection rendered of the boat.

To fake caustics on the underside of the boat, I offset its matte and subtracted it from itself (so I only had the bottom of the boat), blurred and used a heavily contrasted piece of the water (taken from somewhere else) and applied it as a tinted additive layer.

At this point, the boat had splashes, reflections and caustics.

Step 6 - Final Touches
So at this point, the shot was in the 95% stage. The last 5% was finding some wind/snow stock footage and applying it over the water layer. This cemented the comp together. A fairly contrasty grade and glows were then applied with a subtle hint of grain.

Step 7 - Laughing at my mistakes
In order to put the boat onto the water, I used a surface constraint on two different vertices of the water. The boat would then sit between the two. Cool.

Not cool. In all animation previews it worked flawlessly. Then at render time, it was nowhere to be seen. Why was this?

Render Iterations on the Turbosmooth was set higher than what was used in the viewport, thus the number of polys in the surface was different, thus the vertices that existed in the viewport existed elsewhere (or not at all) on the render-time model. Rendering the boat off on its own pass was simple enough and quick enough that this didn't actually pose a big issue.

And viola, the water/robotic hand shot is complete!


Ah, this is obviously some new usage of the word 'safe' I was previously unaware of.
 

 
  ADVERTISE WITH JTBENTLEY.COM