Model Styleguide

This page explains what your 3D models should look like and how to make them.

For specialized styleguides, see:

* Character Styleguide
* Building Styleguide
* Equipment Styleguide
* Monster Styleguide

## Prereqs

Make sure you've installed Blender and you've done all the steps in Setting Up. You should be comfortable with navigating all the windows and panels in Blender. To get a basic idea of what you're doing, take a look at this Blender tutorial.

A few extra things you should know:

### Camera View

* The buttons on the numpad will let you rotate the camera around. 4 and 6 rotate to the sides, 8 and 2 rotate around the top. Press 5 on the numpad to switch between isometric and perspective views. 7 will view from the top down, 1 and 3 will view from the sides.
* Middle clicking (clicking with the mousewheel) and dragging will also rotate the camera.
* Holding shift while scrolling will move the camera up-and-down, holding control will move it side-to-side.
* Holding shift while using the numpad will rotate the camera, holding control will move it up-and-down and side-to-side.

### Editing

* Switch between vertex, edge, and face mode (lets you select smaller or larger groups of vertices at a time) using the icons on the bottom toolbar.
* With a face selected (or edge, or vertex), press "E" to extrude. (extends the object)
* Use the "knife" tool (found in "Mesh tools" in the left panel in the 3D viewport) to split faces. Hold Control to center the new vertex on an edge. Click to make a new vertex. Press Enter when you're done.

With all that, you should be set to do anything this page mentions.

## Style of *Castle Storm*

Castle storm has a "low poly" aesthetic with retro pixel textures. Basically, what this means is:

* Stay away from anything round or smooth.
* Try to stay away from anything "boxy." If you see a large, flat surface, chances are you can add some 3D detail to it.
* Use low-res textures. The example foliage blob uses a 128x128 image.

* Make sure your pixels look continuous. If you don't unwrap your mesh right, pixels will appear right next to each other in different orientations (diagonal vs parallel to the ground), breaking the pixel art illusion. Not all your pixels need to be aligned, but make sure they don't clash against each other. (Mesh unwrapping is explained below)

## Creating a Model

This section explains how to create a *Castle Storm* model from start to finish, using a simple rock as an example.

### Creating the Mesh

Start with your standard Blender cube. Add a Subdivision Surface modifier and a Decimate modifier. You can play around with these (adding subdivisions, changing the Decimate ratio) to see how they affect the end result.

Once you've added the modifiers, go to edit mode. From here, you can alter the mesh; switching back and forth between edit mode and object mode to see what your changes look like. After you're done editing, you can apply the modifiers.

### Creating the Texture

First, open the "UV/Image Editor" window. Then, click the "New Image" button. Set the title to whatever you want, and the width and height to a relatively small value (this example uses 128x128).

At this point, you'll probably want to open the "User Preferences" window, go to the "System" tab and uncheck "Mipmaps." This won't actually have any effect on how the model will look in Unity, but it will keep Blender from blurring the textures, so it will give you a more accurate preview of what the model will look like in the game.

### Unwrapping the Mesh

Once you've done that, it's time to start unwrapping the mesh. This can be done automatically; however, you may find this will cause problems with how your texture looks later down the line. Some tips for manual editing:

* Faces that aren't adjacent on the 3D model should never be adjacent on the UV map (where all the vertices are "mapped" onto the texture - seen in the right window of our example). Otherwise, because we're working with such low-res textures, one pixel can overflow from one face and appear somewhere else on the model.

* The unwrapped mesh should be "readable." Every group of vertices on the UV map should be identifiable as something on the model (as in, those two oval things are the eyes, that blocky thing is the hat, etc)
* If you want your pixels to be oriented in a certain way, you have to actually rotate the corresponding face on the UV map so it aligns with the pixels in the right way. In our case, for example, the runes are off-kilter to the ground. If we wanted to straighten them, we would want to take the face surrounding them and rotate it clockwise until it ran straight up and down.

This particular example won't use manual unwrapping, but you can find a guide on how to do it here. (Read this article and the next, "Realistic Eyes in Blender.")

For automatic unwrapping, just go to Edit Mode, select all the vertices by pressing "A," open the UV menu by pressing "U," and select "Smart UV Project." Press "OK" to unwrap (the default settings are fine).

### Painting the Texture

Now, you can paint the texture. In the 3D viewport, switch from Edit Mode to Texture Paint. In the left panel, go to "Curve" and choose the bottom right preset (the rectangle missing its bottom side). This will get rid of all the blur on the brush. It isn't mandatory, but it helps create a pixel-y feel.

Also, some tips:

* To copy a color that you've used previously, click the bar under the color wheel and click on the eyedropper icon. Then, click on somewhere in the UV/Image editor that has the color you want.
* You can edit the texture directly from the UV/Image editor by changing it from "View" to "Paint" mode.
* You can also edit the texture in an external program (gimp, photoshop, Paint, whatever). To view your edits, go to the UV/Image Editor and select Image > Reload Image. (Alternatively, press "Alt + R")

See Texture Styleguide to make sure your textures fit in with the rest of the game.