Building a “Ship of the Line” of the 17′th century.
This article is work in progress :)

In April 2011 I held a course in 3d at Denmark’s Design School where we built a real-time ship in 3ds max.
We went through how to set blueprint drawings into a 3d scene.
How to read drawings.
How to build the ship’s hull with ribs, and lines.
Strategies.
Textures and UV mapping.
Details.
To build a game model is a complex task which involves many challenges. A ship is neither a piece of static environment, nor is it a simple game object. It is something between a big house and a car… It has many details and if you do it wrong it will probably engulf the entire texture and polygon budget for the entire scene or game. In this exercise, we have built a 3D ship model, a warship from the 17th century.
First steps

We started to build planes in MAX and place the plan drawings of the ship we would build. When this was done we drew all the ribs which spline shapes by following layouts as illustrated here:

We did the first center rib based on the widest one in the mid-ship area, and then copied it out along the ship’s longitudinal axis (Z) by placing it as shown on the plan. (It is important to use the same rib model as the base because it is important thatvertex number is the same on all the ribs).Then we shaped each rib model individually from the ship center to the stem and rear, following the blueprints carefully (front view). When this initial task was done we roughed out the keel as marked up on the drawings(side view). It was placed exactly in the stage center cordinates 0.0.0
The Hull
When the ribs were in place and shaped correctly, we went on to make the surface of the ship’s hull.
There are several strategies. You can attache all splines with each other (we used splines to draw them), and using a surface modifier to create the surface. Or you can do it manually by collapsing all shapes to “editable poly” mode and build them together manually by extruding poly and connect with either snapping or bridging. We used the latter method since it is more sturdy and solid.

We started to collapse the elements for “editable poly” mode. This converts them into polygon models that could be edited. Then we walked to the edge edit mode and extruded side edge to the next rib element with snap tool so that each vertex was snapped to the same vertex on the next item. Then we deleted the interior polygons that were redundant.
When it was done, we ended up with a nice and controlled model of the outer hull surface. Finally we added a shell modifier to extrude the surface and provide the solid form.
Adding detail

When the basic hull was finished and welded together, we made deck and fore and aft castles. We implemented mesh planes and adjusted them according to the drawings. Then we added the Shell modifier to give them the desired thickness. The deck planes were aligned from the side view so they followed the cross-sectional drawings accurately. We also referenced to other original drawings from the 17th century.
When the decks was implemented it was time to make the gun ports. We turned off the the Shell modifier and then drew them into the edit poly cut tool in side view. When it was done, we enabled the Shell modifier again to make it solid.
UV’s and texture
This type of model should be mapped 100% generic as a piece of environment artwork, as it is quite large. The ship was mapped with a set of textures that all fits together in a large tile set, and can be combined with each other, both horizontally and vertically. Each texture type has it’s own material. The ships generic materials can be braked down to:
Bottom boards
Side boards
Details – Rails and ornament
Deck boards
The gallery – black paint
Each texture is first created by making a dummy placeholder to evaluate color, material, size and stretch before doing art.
We used a single multi-sub object in MAX to apply materials to the model. A Multi-Sub Object is a master material that holds many unique materials together in on material. All with a unique ID number that identifies the material. This number can be added to a polygon in the model, which will then show the material. The idea is that you can use many separate textures on a single mesh without having to split the object to separate parts to apply it.
Unwrapping
A ships hull is very curved and consists primarily of convex or concave shapes. This is difficult to express in a UV editor.
The whole model was first mapped to generic UV coordinates with a tile size of 4×4 meters by applying a standard UVW modifier and setting it to BOX mapping and setting size on all axes to 4 meters. The UV’s on the model was then reset to match 4 meters. This ensured that the size and pixel resolution of the textures was maintained throughout the whole model, so that all boards had the same size and detail to begin with.
UV’s were laid out in rows starting from the middle. By using a systematic approach, we made the model’s UV layout manually piece by piece. We started from the middle, because the shape of the model is least distorted here, and moved us towards both ends of the ship from here. UV’s was streched carefully and evaluated by keeping an eye on the texture. Texture has a circle drawn in to evaluate how much it is stretched.
On a curved object it is practically impossible to completely avoid stretch. Instead use the streching to your advantache. A little stretch can make the texture appear more unique, and fool the eye to believe that there is more detail, than there actually is.

The Gallery
The Gallery is the aft area and rear parts of the ship. This is the where the captian and officers has quarters.
This is complex to sculpt because all shapes is bending and/or angles. There is also both interior and exterior details to consider.
Windows and gunports makes it even more complex. It is important to follow a clean and well structured workflow here in order to keep the model clean of errors.
Key is to separate problems from each other and work on each part separately. Snap vertices to each other and make shure everything fits befor re-attaching objects and welding.

Note: Always start out by using shape from something you already created if possible. In this case detach a chunk from the hull mesh, go to the sub-object tap and start to create the side gallery geometry based on the hull. Use cut tool and edge extrude new polys to shape the gallery.
MAX can hide a selected object from the rest by pressing Alt “Q”. This gives more overview.
Gallery ornaments texture

This sheet shows the steps for creating ornamental highres shapes for projection and baking a high frequency normalmap (deep normals).
Step one – Select splines and do a line with rectangular shape selected. Look at ship reference and try to simplify the shapes (works best in game meshes when stuff is simplyfied and a little exaggerated).
Step two: Collapse to poly and delete the faces pointing backwards. Now select the top front faces and add a push modifier (inside sub object). Shape them as shown.
Step tree. round the ends by applying a chamfer operation on the corner edges in the ends.
Step four: Apply a turbo smooth modifier. Done
See this post for details for specific details on Normals map:
http://skalle.dk/skalleblog/import-normals-to-crazybump
This one covers settings for baking in MAX:
http://skalle.dk/skalleblog/projecting-high-frequency-normalmap
The masts, sail and rigging
When the basic hull, decks and railing was finished in first pass we contimued by adding the masts and rig. We created rudimentary sail layout and shaped them roughly to outline the rigging.

The next steps on this model would be:
Second pass detailing
Adding small parts like guns and ports, fittings, doors and rig detail.
Making textures based on dummy templates.
Sculpting details to the gallery.
Sculpting ornaments.
Creating normalmaps, specular and diffuse maps.
Export to Unity
Adding interior
This is the exercises we went through on this project. There is a lot to do on the model to make it a complete game object but at this point the model is well structured, easy to overlook and very nice to work with.
I’ll plan to make a complete tutorial pdf doc based on this project, when i have some time…
Cheers C