Tutorial 4: Creating the Sea

When your environments call for water, DreamScape offers you the ability to use another procedural object called the Sea Surface. In this tutorial, you'll take a first look at how to create and animate this type of object.


In 3ds Max, select File->Open, and from your \Scenes\DreamScape\Tutorials folder, select the Tut4-start.max file.


This file contains only a standard camera and a DreamScape Sun light.


First, we need to create the DreamScape SeaSurface.


Go to the Command Panel->Create->Geometry, and from the dropdown menu, pick DreamScape Objects.



Click on the Sea Surface button to select it, then in the Top viewport, drag out a Sea Surface mesh. Do not worry about the exact size as we'll fix that in the next step.

Change the Length and Width spinners for the Sea Surface size to be 200 each.

Next, using the Transform Type-In (F12 key), under Select and Move, adjust the Sea Surface's Absolute:World position so that it is X=0.0, Y=60.0 and Z=0.0.



The Sea Surface object is special type of primitive in that it has animation data built into it. By default, once you've created it, it automatically has animation associated with it. If you were to scrub the Time Slider, you'd see that the surface undulates as water would even though you've done nothing other than create it in the viewport.


Now once you have created the Sea Surface mesh, go to the Modify Panel to modify its parameters.


By default, the DreamScape Sea Surface will create what is known as a Simple Mesh with 32 width and 32 length segments. This is similar to a normal grid in that as the camera passes over the edges, they will be visible to the viewer.


Change Width and Length Segments to 256 to increase the rendering mesh resolution.

Set Vpt. Degradation spinner to 50 to reduce the number of polygons visible in the viewport.


This is a very handy way to keep interactivity with the 3ds Max interface responsive while not sacrificing quality when you render. Even though the viewport shows less polygons now, the actual number of rendered polygons won't be affected by this parameter.


The next thing you want to do is assign a material to your surface to make it look like water.


Open the Material Editor, click on the Get Material button and double-click on the DreamScape: SeaMaterial from the Material/Map Browser window, then close the Material/Map Browser window.



Back within the Material Editor, scroll down the DreamScape Sea Parameters rollout until you get to the Reflect/Refract group of controls. Un-check both the Reflect Objects and Refract Objects checkboxes as there are no other objects in the scene to reflect or refract.



Drag and drop the new SeaMaterial onto the Sea Surface mesh to assign it.


Next we'll add a quick DreamScape Sky before we do a test render.


Close the Material Editor, then go to the Rendering->Environment menu, then from the Atmosphere rollout click Add.

From the Add Atmospheric Effect dialog choose the DreamScape entry then click OK to add it to the Effects list.


Now we have added all the elements we need: a DreamScape Sea Surface that has been assigned a SeaMaterial, and a Sky for our background. Don't forget that the Sun and camera were already present in this scene.


Activate your Camera01 viewport and render the scene.



As the rendering finishes, you should get a quite calm sea with small waves. But there are some problems. The sea surface doesn't seem to stretch all the way to the horizon, or meet the sky and as a result, there's a black band in the middle. We'll fix that in a moment.


Select the Sea Surface primitive then from the Modify panel change its parameters as follows:

In the Waves rollout, under the Shape group of controls change Wind Speed to 20.

Under the Details group of controls change Grid Detail to 8.

Now, re-render the Camera viewport.



Now the Sea Surface is a bit rougher. We will definitely need to improve the sea color and shading, therefore we should go to the SeaMaterial dialog in the Material Editor. Don't worry about the black band; we're getting to it!


Back within the Material Editor, change the Glitter Sharp spinner to 30 to create a slightly weaker glitter effect.


Glitter works in a similar fashion to the Shininess of normal materials. Lower values de-focus the specular highlights. Similarly, lower glitter values do the same thing.


Next, within the Sky Color group of controls, make sure the Use DS Sky radio button is active.  



This will make the SeaMaterial calculate the sea color based on the sky color.


Finally, within the Underwater Color group of controls select the Automatic radio button option.


This forces DreamScape to use the chosen sky color to find an average to determine the overall water murkiness.


Render the scene.



You will notice how the color of the Sea Surface now matches the Environment color, thanks to the parameter changes we made.


Now, as promised, the final thing we need to do in this scene is extend the Sea Surface towards the horizon and get rid of the black area in the middle of the frame. It is practically impossible to do that with a regular mesh, as it would take enormous number of faces.


Select the Sea Surface primitive (if it isn't currently selected), then from the Modify panel go to the Parameters rollout and choose Adaptive Mesh from the dropdown menu.



Now in order to use the Adaptive Mesh you must select a Camera through which to render this scene. This Camera will provide enough information for the DreamScape Sea Surface to create the mesh inside the Camera's field of view (FOV).


Under the Adaptive Mesh group of controls, click on the Pick icon then in any viewport select Camera01.


When complete, the camera will automatically be added to the SeaSurface as shown below.



Now you should notice that the Sea Surface grid gets very rough and no longer maintains a smooth shape. This is because the Viewport degradation is too high.


Under the Adaptive Mesh group of controls, set the Degradation spinner to 7 first to make mesh manipulation easier as there will be fewer faces will be created in the distance. (NOTE: Do NOT confuse this spinner with the Vpt Degradation spinner in the Size group of controls)

Next, set the Width spinner to 100 and the Length spinner to 7000.


You should see in your viewports as you make these adjustments that the Sea Surface mesh adapts to your selected camera's field of view. That is why it is called "adaptive".


Finally, set the Length Resolution spinner to 1.0 and the Width Resolution spinner to 1.0.


These two spinners control the distance between adjacent vertices. At a lower value, you'll get more detail closer to the camera.


Render the image. The sea now stretches all the way to the horizon.



If you like, at this point you can render out the complete animation to see the SeaSurface moving over time.


Moving forward, we're going to look at the reflection and refraction controls that DreamScape's Sea Surface offers. We'll also look at another atmospheric effect called the SubSurface.