Your message has been sent.
This article has been saved to your account.
Go to my account
This article has been emailed to your Kindle.
Send this article
Packt are due to launch a new Open Source brand, into which future Blender titles will be published. For more information on that launch, look here.
In this article series by Reynante Martinez, we will learn how to go about creating a underwater scene from scratch. We will begin by creating the terrain for the underwater environment. In the sequel of the article, we will learn how to add vegetation, pebbles and corals. After which we will discuss how to add distant terrains, lighting effects and finally composition.
Let’s leave the terrain as it is right now and make sure it is in layer one (just to keep things more organized). Then let’s select the camera and move it to layer five by pressing M then clicking the fifth layer or by pressing 5 on your keyboard. Activate layer two by pressing 2 on your numeric keys (not the Numpad). We will use this as our layer for our first group of seaweeds.
Go to front view, add a new Bezier Curve, proceed to Edit Mode and follow the initial settings I have on the Editing Panel.
Moving the Camera to Layer Five
Adding a Bezier Curve and its Settings
Let’s leave the curve settings for now and we’ll get back to them when necessary. What we have to do now is to rotate the curve such that we see the thicker part of the face in front view and the start point of the curve on the bottom portion. There are two easy ways to do this; either we rotate the curve on view at a time or we can type in values in the transform window, you can settle for either of the two. To make things quicker, I opt for the latter. With the curve currently active/selected, proceed to Object Mode (Tab), then bring up the Transform Window if it is not yet on your screen by pressing the N key while having your mouse pointer on the 3D Window.
Afterwhich, using the Transform Window, let’s change the default name of the bezier curve from “Curve” to “Curve.Weed”, then change the rotation values for RotX and RotY accordingly, as seen in the following screenshot.
Renaming and Rotating the Curve
Next comes the fun part: editing the curves and giving them the wavy forms they deserve. With the curve selected, go to Edit Mode (Tab), then for convenience purposes, we are going to disable the drawing of the curve handles. We do this by going to the Editing (F9) panel and under the Curve Tools1 tab, disable the Draw Handles button. Now if we select all the points in the curve, the handles that are usually there and are sometimes in the way are now hidden, and if you wanted to have more control over your curves, you can always turn them back on by simply enabling the same button we disabled awhile back. Right now though, we only have two points to work on our curve which is a bit limited. But don’t fret, because Blender’s curve tools are of its greatest assets and they won’t let us have it unless it’s good to use. With that said, we can solve the problem by selecting all curve points (pressing A twice), then press W to bring up the Specials Menu and choose Subdivide. You can also access the same function by going to the Editing (F9) panel and click the Subdivide button. You can repeat the same process to achieve more subdivisions on your curve, but I highly suggest you keep it as simple as you could, and only add points when needed. Another way you can add points to your curve is to select existing points then pressing the E key (as in extrude) which will automatically put you in grab mode and confirm location with your left mouse button. You can also select a point from the curve then press CTRL left mouse button which will add a new curve point to where your mouse pointer is.
Subdividing the Curve
Now that you already have enough subdivisions to work on, you can manipulate the individual points the way you want to as shown in the screenshot below. Another cool thing with manipulating curves is the ability to tilt curve points along their own axes with ease. You can tilt points by selecting one or many points then pressing T or accessing it through the menu via Curve > Transform > Tilt.
Tilting Curve Points
After creating the shape of our sea weed, it’s time we convert it to a polygon for us to further edit and finalize the shape. Select the Curve in Object Mode, then press Alt C then choose Mesh (which should be the only option available from the pop-up menu). What this does is it converts our existing curve into a polygon mesh with editable points (similar to what the mesh primitives have). This way we can add more details to the weed. But first, we mush fix first one problem that our weed mesh has: a hole at the top. You can choose not to address this issue, but in order to avoid getting back and fixing some stuff later on, it’s better to do it now. When we rotate our view such that we see the top part of our weed, we can clearly see a cut through the mesh, let’s fix this by going to Edit Mode, selecting four neighboring vertices and create a face by pressing F or going to the menu then choosing Mesh > Faces > Make Edge/Face. While in edit mode, you can also occlude background vertices by clicking the button with the cube icon on your menu 3D Viewport menu. This might also be a good time to rename our object from Curve.Weed to Weed.
Let’s exit Edit Mode and get back to Object Mode (Tab) and just give our weed a basic subsurface smoothing. With the object selected, you can press Ctrl 1 to add level 1 Subsurf to the weed or your can go to the Editing (F9) panel, and go to the Modifiers tab, click Add Modifier and choose Subsurf, then change the default Render Levels from 2 to 1 since we don’t need the extra count since they hardly differ in this case like ours.
However, you’ll notice that hardly any smoothing took place and it even revealed problems with our mesh. Don’t panic because this would just be an easy fix. Select the Weed Object and proceed to edit mode, select all vertices, then press W to access the Specials Menu and choose Remove Doubles.
Removing Mesh Doubles
Next, after successfully applying subsurf to our weed object, we know scale down the top-most part to further make it more convincing and natural. While still in Edit Mode, select the top-most vertices then use the Proportional Editing tool with a Smooth Falloff and perform a scale (S) operation while controlling the radius of influence with your middle mouse wheel.
Using the Proportional Editing Tool for Scaling
After performing the proportional scaling, it should look something like this
Next, we add in just an initial material to distinguish it from other objects we’ll create later on.
Weed Initial Material Settings
Hardly do we see weeds by their own, as singular leaves with no nearby leaves, unless it’s artificially setup. To add more weeds as group, we simply duplicate the weed we have now and edit the duplicates accordingly.
Group of Weeds
Next up, we “group” the weeds using Blender’s grouping function. We do this by first selecting the objects we want to be included in the group, in this case, the weeds. After we’ve selected the weeds, let’s split our 3D view and make our left view an Outliner (by clicking the lower left-most icon of the screen), then change the drop-down menu entry from “All Scenes” to “Groups”. Let’s move our mouse pointer over to our 3D View and press CTRL G then click Add to New Group or via the Menu, Object > Group > Add to New Group.
Preparing the Weeds for Grouping
Grouping the Weeds
Right after you perform the grouping function, you’ll notice your object outline change from the default white to green which indicates that it belongs to a group. Additionally, we also see a new entry at the Outliner Window labeled “Group”.
The outliner is a very powerful aspect of Blender in a way that you can keep your assets, shots, groups, etc. as organized as you want them to. Think of it as your file manager inside of Blender, aside from the fact of course that Blender has its own dedicated file manager too.
To rename the group we just created (for easier searching later on), move your mouse pointer over to the group name, then press CTRL left mouse button and the name will change into an input area where you can type the name you want to, in our case we will name it “Weed.Group”. It took me a long time before to figure out how to rename items in the Outliner, I checked every possible menu entry showing some rename-this-group function but unluckily I didn’t find any, not until I accidentally pressed this shortcut (after being so frustrated and bugged). Sometimes, accidents just bring out great surprises we never thought be useful. But of course, I could have settled into asking or searching the Blender forums for the solution, but the stubborn user that I am, I still decided to solve it on my own until I lose my mind, and I did after all (without losing my mind though).
Weeds as Group
Renaming the Group
Now here’s one fun part of creating groups for our objects: using them as particle instances. You’ll see what I mean in a moment.
Let’s get back to our terrain layer by pressing 1 on your keyboard or by clicking the first layer button on our layer lineup. Select the terrain object and go to Object (F7) panel then to the Particle buttons sub-panel. Here you’ll see one tab labeled “Particle System”, pretty puny and out-of-place you might say? Just look after we’ve created some system to play around with and you’ll notice just how powerful the particle system of Blender is (far beyond what this article can stress). Click the Add New button to add a new and fresh particle system.
Adding a Particle System to the Terrain Object
Rename the particle system from the default “PSys” to something more meaningful like “Weed”. Next, change the Particle Type from Emitter to Hair. Under the Particle System tab, click Random button and beside it select Faces from the dropdown menu, next click Even button and beside it select Random from the dropdown menu. What we just did is to tell the particle system to emit particles in a random order, in an evenly distributed manner on a per-face basis.
Still on the Particle System tab, change the amount to 50 and the Segments to 2. We won’t need much for this system, just an adequate amount since we don’t want our system to slow down due to the calculation that Blender does when visualizing particle instances. Right now we don’t see yet what’s actually happening and it’s more like a guessing game at this stage but you’ll see shortly how all this comes together.
eBook Price: $26.99
Book Price: $44.99
The greater the particle amount you specify, the heavier your scene will become, thus slowing down your viewport performance.
Now we jump to the Particles tab. Here, we’ll only manipulate the Tan and Rot values accordingly. Normally though, we would have altered the Normal and Random values, but let’s not touch them for now, but you can always do so if you want to feed your curiosity.
Proceeding, we now change some values in the Visualization tab. From the drop-down menu, choose Group then in the GR: input, type the name of the group we just added and renamed awhile back: “Weed.Group”. And finally, click DupliGroup to tell the particle system to regard the group input as a whole and not as individual objects (which we’ll use later on).
Particle Instancing the Weed Group
You might notice one problem though (depending on your setup), it seems that the particle weeds we just added are not sitting on top of our terrain. To fix this, just go to layer 2 and move the weed group higher on the z-axis and this should do it. If we switch to our camera view (Numpad 0), this is what we’ll mostly have as of now:
Weeds Position Fixed
To add more variation, we will follow similar steps that we did with instancing the weeds and this time we’ll add weeds that are singular and not bound on groups. Let’s add a new particle system above the one we currently have now by selecting our terrain object, then proceed to the particle buttons, you’ll notice that beside the name input of the current particle system we have now (labeled “Weed”) is the number of particle systems present in our object, labeled by “1 Part 1”. What we’ll do next is tick the right arrow of the particle number such that we change it from “1 Part 1” to “1 Part 2”. Don’t worry though, the previous particle system we had is still there intact. Now that we’re in the second particle system, we’ll follow the same steps we did in creating the system we had awhile back, except for some tweaks on some of the values, primarily the amount of particles emitted and the group settings. Instead of using Dupli Group as instance method (under the Visualization tab), we’ll use Pick Random and let Blender choose individual objects from our Weed Group and randomize them. Additionally, you can change the Seed number which is the way randomization occurs. Play around with the settings until you find the right ones.
Now that we already have a clear idea about using Blender’s particle system to instance groups of objects on our scene, this next step we’re about to do would be a no-brainer. Let’s activate layer 3 and use this as our holder for our stone group that we’ll create shortly.
This time, the modeling process of the pebbles is as simple as creating the base mesh you want, as in my case I used an icosphere with the default subdivision of 2 and went from there on, manipulating points using the proportional editing tool, and duplicating the stones and adding variations to each piece. After you’re done with the modeling process and you’re pretty confident to use these pebbles on to your scene, go ahead and group them and name your group accordingly.
Just like what we did with the weeds, let’s give these pebbles some initial materials and basic shaders for now.
Pebbles Initial Materials
Now, we use the same technique used to instance the weed group to our terrain object. Let’s add a new particle system to the same object that used to be our particle emitter. So from “1 Part 2” we increment to “1 Part 3” and use the Pick Random function to randomly distribute the pebbles on our terrain.
Adding Pebbles to the Scene
Underwater scenes wouldn’t be complete without those lovely corals we see, blooming with life and populating parts of the water world as we know it.
To get started, we begin with modeling the first set of corals we’ll be adding in. Let’s use layer 4 for our corals. Add a cube primitive to the scene and in Object Mode then press CTRL 2 to add a level 2 Subsurf.
By default, objects added in Blender are shaded as solid, and you’ll notice that right after adding in a subsurf modifier to our cube, it interpolated the edges thus creating curved surfaces, but the result is that it created a faceted shaded look. To address this, go to Edit Mode and press W then choose Set Smooth or go to the Editing (F9) panel and under the Link and Materials tab, click the Set Smooth button.
Subsurfing the Cube
Smoothing the Shading
Go to front view (Numpad 1) then select all the top vertices of the cube and move them up on the z-axis, elongating the shape along its height.
Moving the Top Vertices Up
With the vertices still selected, extrude (E) them upwards a few units along the z-axis and left click to confirm the location.
Extruding the Top Vertices
Next, while still in front view, scale the active and top-most vertices along the x-axis by 0.200 forming a shape like seen in the following screenshot.
Scaling the Top Vertices along X-axis
Then (still in front view), select the upper left four vertices (or the upper left face) then perform several extrusions, scaling, and rotation, forming the shape that you see below.
Left Part Shaped Through Extrusion, Scaling, and Rotation
Let’s add some hole to detail out the tip of the upper left part of the coral-like thing we have now.
Detailing the Tip of the Coral
Repeat the previous steps and apply it to the right part of the coral, adding a bit of variation.
Coral Shape Completed
To add more shape, add several edge loops to the mesh in Edit Mode by pressing CTRL R and further manipulating them the way you want to.
Detailing the Mesh
Coral Model Finished
Just like how we usually do it (for ease of scene visualization), we are going to add preliminary material setup for this one, as seen in the image below.
Brown Coral Material
Now, instead of instancing this model using the particle system, we’ll do the placement by hand, this way we can clearly define the manner by which we stage our scene. And of course, aside from the fact that using particle instancing can be a heavy load on your system and on your scene (depending on how complex your models are and how much particles are being emitted).
Instead of only activating layer 1 (terrain layer) and layer 5 (camera layer), we also include layer 4 in our layers now, which includes the coral object we just created. With three layers active, select the coral object and place it in your scene the way you want to, scaling and rotating the coral as necessary.
Here’s how I made mine:
Terrain, Camera, and Coral Layers
eBook Price: $26.99
Book Price: $44.99
ADDING DISTANT TERRAIN
Looking at our scene in our 3d viewport now, it looks rather bland and lacks depth, much like what you’ll see in a small aquarium or fish tank. What we’ll basically do in this step is to add more land to the farther side of our view, which will be of great help later on when we compose our scene with haze effects and such.
Right now, we only needed to see the terrain in layer one and less the other objects which are making our viewing experience slower. Activating only layer one, we see all but the camera and corals, which is still a bit heavy. Let’s fix this by simply turning off the instanced objects for the moment so we gain an almost realtime display of our scene.
Select the terrain object, go to Editing (F9) panel and under the Modifiers tab, you’ll notice three (3) modifiers in the stack, namely the particle systems we’ve added before. Simply disable the modifier during interactive display by untoggling the button with the grid icon (as shown in the screenshot) and there you go, only the terrain object is what we see now (but in theory, the objects used in the particle system are still there, just hidden from our view).
Disabling Particle System in Interactive View
Let’s go back to our modeling steps with the terrain and apply this to the new terrain we’ll add on the distance, except of course it would be offset in the y-axis, a bit far from our original terrain mesh. For this distant terrain, we’ll use the same layer that the original terrain belongs to. Take advantage of the proportional editing tool and choose whichever falloff you wish is suitable.
Fast forward in time, this is how our layer 1 scene should look like:
CREATING THE TEXTURES AND MATERIALS
Now for the fun part. With layer one still the active layer in our viewport, let’s get started by selecting either of the two terrains (which share the same materials). Activate Shading (F5) then Material Buttons. Under the Ramps tab, beside Material tab, activate Show Col Ramp, then click Color Band.
Setting Up the Sand Material
Color ramps are one of the greatest features of Blender’s materials that I have discovered since I embraced the software. They can either add subtleties to the way your materials are shaded or they can also be used to fake highlights and shadows. Let’s continue on. With the Color Band activated, click and drag the slider bars (which aren’t shown well) and you’ll see the effect in the preview window of the materials button. What we want to achieve here is let the materials shader dictate the way the color is interpolated, be it the lights in the scene, the ambience, or any other factor. Let’s flip the sliders by dragging them on to their opposite direction. By default, the light blue slider is positioned to the far right side of the color band and the transparent slider on to the far left side. So what we need to do is move the transparent slider to the far right and the light blue slider bar to the far left, achieving something like shown in the screenshot. Another option we should take note of is using the Shader as Input and Mix as Method.
Setting Up the Color Ramps
Next, click the light blue slider, and change the color to something dark orange, or something near brown.
Color Ramp Settings
Now, some textures. With the same object active and the same button window, scroll below until you see the Textures tab. Click Add New then rename the newly added texture slot as micro bumps. This will serve as our grains-of-sand texture for our terrain.
Adding a Texture to the Terrain
What we have done so far is just to add a texture slot to the stack, much like a placeholder, but it doesn’t tell yet Blender what type of texture nor which channels of the material will it affect. To add definition to our texture, head over to the Texture Buttons (F6), and on the Texture Type dropdown menu, choose Cloud. This texture that we just added is one of the many procedural textures available in Blender, which are one of the most powerful additions yet. Cloud textures are great for creating irregular bumps or even stains (or whatnot, a whole lot more with the right combination of settings).
To achieve the grain effect that we want to for our texture, we scale down the cloud texture size to about .005 and the noise depth to 3. Leave the default settings as they are.
Setting cloud texture sizes to absolute zero can sometimes lead to undesirable effects like jittery motions when animated (just like how the default Noise Textures are). Always keep the values non-zero.
Now we tell Blender what to do with this texture and how it will be used on our current material.
Let’s head over to Material Buttons, then scroll over to the Texture tab and beside it you’ll see two more tabs beside it namely Map Input and Map To. These are our primary tools in telling Blender what to do with the textures we create. You can play around and see what each setting does. If you’re done experimenting around, let’s get back on track. For now let’s leave the default settings of Map Input as they were. Move to Map To tab and here you’ll be presented with lots of confusing buttons which are confusing at first (thanks to tooltips, life is easier). Activate Col then change the color from the default purple to something close to the original material color but a tad darker. Leave the Col slider to the right portion at its default as 1. Next, activate Nor by clicking it once (which means positive, twice is negative) and then move the Nor slider to the right part to something higher than 1. Normal mapping is one of the greatest things ever invented yet in 3D. What it does is it fakes displacement – which is the actual distortion/alteration of mesh points, by using a mesh’s normal coordinates and simulates displacement by faking the way diffusion, specularity, and shadows are casted, created the illusion of bumps. To cut the long description short, it creates bumps for us, the fake way. Below is a comparison of the mesh with Normal mapping as against a mesh with displaced geometry which has more faces than the other one.
From the images, we can clearly see that with normal mapping, the sphere object which we applied mapping to stays the same shape, with its contours perfectly as that of a smooth sphere while the other one with displaced mapping, the geometry is actually modified such that in all angles, the definition is clearly stated.
But since we wouldn’t need that much of information as the displacement mapping has, we’re good with using normal mapping which is lighter and easier to set up.
Now let’s move on to giving the see weeds some decent materials and textures.
Activate layer 2 and select either one of the weed objects. Proceed to Shading (F5) then on to the Material Buttons then do the same process that we did with the terrain except that you change some of the mapping options and ramps. Instead of using a Shader ramp, we’ll use Normal as the input; this is to simulate translucency and light diffusion.
Use the same procedure to your other scene objects, after which, we’ll proceed to lighting up the scene.
About the Author :
Reynante Martinez is a self-learnt graphic designer, illustrator, web designer, and 3D generalist. His interest in CG started nine years ago and was directly introduced to The GIMP as one of the open source image editing applications available in Linux. Aside from being an animator at work, he also has experience in mentoring and has been a speaker and workshop conductor at several occasions during the past few years. He is also the co-founder of PinoyBlender, a Filipino Blender User Group. Since his discovery of Blender six years ago, his passion for CG art grew even more, with more upgrades coming now and then and with an active and helpful community of Blender artists being one of the most exciting factors in his career.He can be reached through the email or through his weblog and you can also view his online gallery.