An Ocean Water Tutorial
by D.M.S.
First, a couple of tips on water as I see it.
     1. Waves in the ocean appear
to move upwards as if coming out of the ocean. This is opposed
to simply moving the wave textures across the surface on the X
and Z directions. That method never seemed to have worked for
me.
     2. Water is primarily a distorted reflection
of its surroundings. Therefore, if it has nothing good to reflect,
it will look fake.
With those points in mind, let's get started.

  

Part I - Modeling
Modeling in this case is very simple.
In Modeler,
create a plane (a.k.a. box) 500km by 500km on X and Z. Give
the box 4 segments in both directions. This will give a total
of 16 polygons. Select the outside 16 points and move them 10m
on the +Y axis. (I make the object slightly concave so that
there is no black line on the horizon when using SkyTracer.)
Give the polygons a surface named "water," and turn
smoothing on. Save this object as "water.lwo."

  

Part II - Reflections
As mentioned, we need a nice environment for our
water to reflect. Out in the ocean, and in most cases, the sky
will be the most prominent feature.
In Layout,
set your ambient light intensity to an appropriate setting.
I used 19.5% for my daylight setting. Rename the default light
in the scene to "sun." Make the light color a very
light yellow, and make sure the light's intensity is at 100%.
Go to Effects>Image
Processing. Activate SkyTracer. Hit Options for SkyTracer. I
won't go into the details of the settings to use, so use this
file: oceansky.skt.
Hit "Render
Warp Images." Leave the resolution at 512 for now (that
will take long enough as it is), and give the files whatever
name you wish to use. Lightwave will now render out 5 different
IFF images for use in mapping the front, back, sides, and top
of a huge cube. You will also find that Lightwave gives you
a new LWO file somewhere in your content directory. (Note: This
might only happen with newer versions of SkyTracer.) This object
already has the images mapped properly in place.
Now, uncheck
"Enable SkyTracer." This will prevent SkyTracer from
re-rendering each frame when we go for the final render. However,
our settings, should we want to change them, will stay in place.
Close the SkyTracer Options window.
Load your
"LW_Sky.lwo" into Layout, or use mine LW_Sky.lwo
, and scale it up to 1000 on X, Y, and Z. Then, load your "water.lwo."
At this point, make sure your camera is somewhere near the middle
of the scene and do a few test-renders to make sure your sky
is mapped properly. Make sure that the surfaces for your LW_Sky.lwo
all have 100% Luminosity and 0% Diffuse. This is so lights in
our scene won't affect the sky, which is usually what you'll
want.
Create two
null objects. Name one "waternull" and the other "ripplenull."
These will be used as reference objects for our textures later
on.
Save your scene in case something crashes...I hate it when that
happens.

  

Part III - Texturing
In the Surfaces panel, select your water surface.
Here are the settings you'll need:
Color- RGB Values 57,88,121
Luminosity- 0%
Diffuse- 93.5%
Specularity- 93%
Glossiness- 400
Reflectivity- 25%
     Reflection Type- Ray Tracing and Spherical
     Map Spherical Map- Tinfoil.tga (under Reflections
in your
     Newtek\Images directory.
Bump Map- 1
     Texture Type- Fractal Bumps
     Opacity- 100%
     Reference Object- waternull
     Size- 2m,90cm,90cm
     Texture Amplitude- 65%
     Frequencies- 3
Bump Map- 2 (Add New Texture)
     Texture Type- Crumple
     Opacity- 100%
     Reference Object- ripplenull
     Size- 50cm,50cm,90cm
     Texture Amplitude- 50%
     Number of Scales- 4
     Small Power- .75
An example of this surface is here: water.srf.
For animating the waves, move the "waternull" and the
"ripplenull" objects approximately in the same direction
in the X and Z axes. Moving them in slightly different directions
seems to look more natural since, to me, the ocean seems to be
made up of "layers" of waves moving in different directions.
Make the waternull rise on the +Y axis about 48cm per second,
and have the ripplenull rise about 10cm per second. You can adjust
these all you want depending on how fast you want your water to
animate. Slower, smoother speeds usually work better. This same
animation effect can also be accomplished through the "velocity"
setting in the surfaces panel. I prefer this method, however,
since it seems to be more accurate and easier to use for my purposes.

  

Part IV - Rendering
In the Camera panel, it's good to set antialiasing
to at least low. The water effect just looks like noise otherwise.
In the Render panel, turn on "Trace Shadows" and "Trace
Reflection." I set the Ray Recursion Limit down to 2 so that
we don't have light rays bouncing all over creation and eating
up rendering time. Of course, this would depend on your scene.

  

Part
V - Suggestions
Now that the primary settings are in place, it's
time to add to them.
Almost always, especially here in Southern California, you'll
never be able to actually see the horizon. Right now,
where the water meets the sky, it's simply too clean. Add some
fog in the distance using Steamer or another plugin.
For the different times of day, use a different colored sun.
Of course, after you change the color, you'll have to re-render
your SkyTracer warp images to get the full effect.
I have found the above method to be a reliable and processor-friendly
way to create nice water effects. I hope that you enjoyed this
tutorial.
|