Tuesday, May 12, 2009

Building the Water

About six years ago, I wanted to animate an ocean for my film – More Human than Human. I have never attempted such a task and my instructor –-Raz Oved- - advised me that I should change my idea. Never the less I insisted, and Raz suggested that I would try making it in 3D. His exact words, if I remember correctly were: “There will be a lot of blood and tears in this process, but perhaps an ocean will come out of that”.
Indeed he was right, and after that experience I vowed not to make a film with an ocean ever again. I broke that vow a year later with In the Silence, and I am a breaking it once again with
The End of Things.
Hatchiman will forever be linked to the ocean

This concept image represents the geometric look that I wanted for the waves.There are two types of waves here, the breaking waves are the ones that curl, and the surface waves are the ones that act as the water surface.
Theoretically, I would create a polygon box with many subdivisions, stretch it and then create some sort of rig to control the wave’s movement.


The Breaking Wave Rig
I experimented with several different rigs, before I found one that was efficient to animate with and gave me the results that I desired. The first rig consisted of an IK spline that controlled the back end of the wave. I could pull its segments up and down with the help of the clusters. The front curl was controlled with forward IKs. By selecting all the purple joints in sequence, I could curl them by rotating the Y Axis.

Click to play Quicktime

Next I tried to simplify and built a simple line of joints. The idea was to quickly animate the wave and not rely on too much automation. It was a simple rig, but gave stiff animation results.
Click to play Quicktime

Here is a similar rig to the last, with a polygon box smooth-binded to it. Not quite there yet…
Click to play Quicktime

These three attempts brought me to the conclusion that a spline IK would be useful for controlling the back of the wave as it results in a smooth motion. Forward IKs would be useful to control the curl. There was still an issue of the geometry curling into itself though.

To solve this, I created two separate rigs -- one for the back and one for the front. The back was controlled with a spline IK, and the front was simple joints. I wrote an expression where each joint in the chain automatically rotates and scales down an increment in relation to the joint preceding it. I created two attributes out of the expressions: WAVE controls the curling, while CURL controls the scaling.

Once the two rigs were complete, I connected them to each other via another joint and then smooth binded additional joints on top of the spline IK. I attached locators to each of these joints for quicker control and I assigned the WAVE and CURL attribute to the front locator. Allowing fast access to the curling attributes.


Later, I quintupled the wave and parented it to a nurb curve that allows me to control all five at once. Below is the first successful test animation.
Click to play Quicktime


The Surface Wave Rig
After creating the breaking waves, the surface waves proved to be an easy task. I simply created an identical rig to the back rig of the breaking wave, only with more joints.
I placed numbers as the controls for each joint so that I would be able to track the high points and low points of the wave.

Below is a test of the surface waves and the breaking waves together:

Click to play Quicktime

I would like to thank my good friend Thomas Huang for all the time and knowledge that he has given me with rigging these waves. Without his help, I would probably still be rigging today.

No comments:

Post a Comment