Modeling the war axe. Log #16 (Blender)

    In this log I am going to describe my way of modeling 3D objects in Blender (v2.78) for my game. As new model I chose a little more complex war axe. I always look for inspiration on google images, where I also download good reference picture. Of course if muse catches me I dont need use pictures to modeling, only for reference purposes to achieve realistics. I am going to describe the texture mapping too. Because I use simple colors in game I use color atlas to make game less difficult for PC performance. 

    So I find good picture on google and download it. I am going to use it in Blender as background. For adding a background into Blender I activate Properties panel [N] and at the bottom is Background panel and Add button. Via Open button I add my downloaded image. Now I set background picture to show only when right view is acitve, so in Axis I choose Right. Then I switch to right view by pressing numpad 3, and switch to orthographic mode [num 5]. Now I rotate image so helve is aligned with axis Z. (For smooth moving I hold Shift) It is important to set the right scale. For this I append already created axe from other scene. In menu File I click on Append and find my axe model. Objects models are always in folder Objects. I adjust background image to the imported model and then remove imported model [X, D]. And the background is ready.



    I chose complex model, because I want to show how do I create more complex meshes by references. Well simple axe can model anyone, for this log to have bigger purpose, I am going to show my method, which I use to model organic models. For instance, when the mesh is not simple and I couldnt see how would mesh looked like. I try to keep topology where are no plygons with more than 4 verticies, of course triangles are sometimes necessary. To keep mesh structure (topology) clear and nice when modeling complex object is not easy for me, I use method which is used in Blender for instance for retopology. Retopolgy, simply said, is creating new low poly mesh on top of very high poly model. This very high poly model, for example, could be created by sculpting, but this sort of models often have milions of polys, which is of course undesirable in games. So by retopologing model I'd get model with less detials but with clear mesh. Sculpted model would be used for baking normal and ambient maps, which would be used on low poly model. So to retopology model, Blender has great tools, first one is Grease Pencil which allows you to draw lines on surfaces (or anywhere you want), and second one is Bsurface, which can create polygons and mesh from Grease Pencil drawing.

    Now I will use both tools for creating this axe. Because this mesh would be hard to keep clear within modeling, I am going to design the idea of my mesh on top of this background image. So in propertis panel [N] I add new Grease Pencil layer, choose other color than black and in Tools panel [T] in bookmark Grease Pencil I check continuous drawing. By using Draw or Line I design my mesh.


Designed mesh


    It may seem to be too much polys for low poly, but its based on how much I want to keep details. I lower opacity little bit to get better visibility. Bsurface plugin has to be activated in Add-ons in User Preferences to show in tools panel (only in Edit mode). Grease pencil also has to be set to draw on object not in scene. Now to Bsurface to work I need to be in edit mode, so I add new object [Shift + A, Mesh > Plane] and delete all its verticies [X, V] in edit mode. To draw with pencil I hold D, for lines Ctrl + D, for erasing RMB. It's important to draw lines in the same direction and order I want, otherwise Bsurface will join opposite verticies. Then in Tools panel, in bookmark Tools, is panel Bsurface and button Add Surface. After clicking on this button plugin creates polygons from my drawing, which I can edit in panel at the bottom of Tools panel. If I want to connect surfaces, that I am going to draw, to my mesh, I need to select verticies I want to be connected to newly created mesh. And then click on Add Surface button again. I created video of what I described here, with screencast keys.



    But the axe is not flat right? So I have to add cutting edge and connect it to clevis. Now I add modifier mirror, which will do half of the modeling. In object mode, in object settings in modifiers (button with spanner icon), I add Mirror modifier. Set mirroring to X, clipping and merge. Then I switch back to Edit mode [Tab] and create cutting edge. For the clevis I add cylinder [Shift + A, Mesh > Cylinder], set 6 varticies, adjust to mirror modificator and also adjust the size. Then I connect the blade.


Blade mesh


    Now I add spikes and main part of the war axe is done.




    There is left to create helve, cross-guard and hilt. Mostly I use only extrude tool [E] to edit helve and then adding "details".




    Whole model has 398 polys which is relatively more than low poly would have, but it's only because I wanted to keep some details. Now I will mark seams to this model, meaning separate mesh edges for UV unwrap and finally attach texture.

    So first thing I need to do is apply mirror modifier, so I could edit whole model. Modifier could be applied only in object mode. Now I swich to edge edit mode [Ctrl + Tab, E] and start to dividing mesh into parts. I proceed this way; first I separate parts that will have different colors, then I seam these parts so they could be unfolded into 2D space. I begin with helve, this is going to be separated, then hilt compounded by pommel (the bottom part), handle and cross-guard (terminology taken from sword). To select loops I use Alt + RMB and to mark seam Ctrl + E, A. This is unwrapped model.




    Usually, if model allows it, I separate parts into halves. If theres confusion after unwrapping, and I cannot tell what part is what, at the main bar in UV Editor is button to enable synchornizing of selection, which projects selected parts in UV Editor on model in 3D view. It is icon with a cube with two verticies and a mouse cursor. Now when I know which part is which I order them by colors, so parts that share the same color I put over each other. To select whole part even if it is overlapping another part I use "island select" [Ctrl + L]. This shortcut choose all verticies (edges or faces, depend on edit mode) that are part of one whole. It is independent on view, meaning that in UV Editor are parts separated, so it does not select whole model like it would in 3D view. Of course there has to be disabled synchronizing.

    I mentioned color atlas above. It is one image containing all colors I will use in game. Then, I only put my UV mesh parts in color tiles I want. This is textured axe with my color atlas.




    I save .blend file into my Unity Asset folder into Objects/Items/Weapons. It is almost done, I only need to create icon for my war axe to inventory. Co create icon in Blender I add new Camera to the scene, and in first bookmark in object properties I set resolution to 64 by 64, set it to 100% and in Shading panel I choose Alpha to Transparent, so the background of the icon will be transparent. Now I rotate my axe model by 45° on X, camera to -90° on Z and move it in front of the axe. In camera properties I change the lens to be orthographic. Now I switch to my camera view [num 0] and move it by pressing G, so the axe is in center, then set, in camera propertis, orthographic scale, so the axe takes whole view. There also needs to be light, so the axe would not be black after render, hemi light with default settings should do. Last thing I need is set material and texture to my axe model. In texture I choose my atlas in Image panel. Now, in first bookmark of object properties (Camera icon) is Render button, after hitting this button the render result view shows up. In menu bar is Image button and there is Save As Image, so I save result image into Assets into Resources/UI/Icons/Items.


Axe icon


    For icon in Unity I change the Texture type to Sprite (2D and UI) and Max size to 64 and hit Apply button. Then I drag icon to created ScriptableObject of my axe on field Item icon. To create prefab I just simply drag axe model into scene, and then drag it back to Assets, set position to 0 and rename it. Then drag the prefab on fild Item prefab in my axe ScriptableObject. And that's all.