Outline of the Mount&Blade 3D Art pipeline: How to make your models and get them in the game

From Mount&Blade Modding Wiki
Revision as of 08:09, 14 January 2012 by 123.243.222.152 (Talk)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

[edit] Choose your software

I start by using a subdivision modeler called 3dsmax, but you can use basically anything oscillating from Wings3D, passing by Blender, to Maya, XSI or even Modo, Milkshape or Cinema4D based on your taste and needs.

[edit] Learn your modeling technique

I start by using primitives, principally boxes, later by extrusion, pulling vertices following reference images.

[edit] Draw your textures

Once your happy with the work, and completely sure it's the final model. Start the UV mapping, the trick is projecting all your 3D model in to a 2D square in the less space possible, but also following a logical order. You can also do only unwrap half of the model and mirror the results, using only half of the texture.

[edit] UV Mapping, Unwrapping your model

Export the UVs and paint them. You can use Photoshop, Gimp, Paint.Net or even Sculptris' Paint mode. Projection mapping is used often professionally for getting proper results. That means you're painting directly the model instead of the texture.

Try to make your own little library of patterns for metals, clothing, skin, frequently used colors, and references. Feel free to use photos, but many of them need editing to look good on your model: the texture needs to be uniformly lighted, and photos rarely are.


[edit] Learn to do Great textures

You have your model, your texture. Now you have to export your mesh as Wavefront OBJ. And your texture as DirectX Draw Surface (DDS) with DXT compression.

Use DXT1 compression for textures without transparency (R G B) to save both disk space and video memory when loaded. Also use this format for RGB style normal maps.

Use DXT3 or DXT5 compression for images with transparency (R G B A); they include an additional grayscale channel called alpha where the transparent parts are hi-lighted in white. DTX3 is best for images that have a sharp transition between their transparent and opaque parts (eg. hair textures). DTX5 is best for images that have gradient transitions between transparent and opaque areas.

The size of those game textures needs to be multiple of four. So choose 512x512 for the standard ones, and 1024x1024 for detailed ones. You should use 256x256 for small details, color ramps, normalmaps, specular maps, and so forth.

[edit] 3D Sculpting and creating Normalmaps

Create a high resolution version of your mesh with a lot of details, folds in cloth,.. by using Sculptris as we've previously said in its own guide. Follow the Barf's tutorial for getting your normalmap in xNormal. You can also get an occlusion map for adding extra depth in the diffuse texture (use multiply layer for proper shadowing). [!] Remember, the UVmapping in the hi-resolution mesh doesn't matter. xNormal will be using your normal resolution one for exporting. Be sure to follow it closely.

If you feel sculpting isn't necessary for your model, an alternative to baking a normal map from a high-poly model is converting a heightmap to a normalmap. Painting a heightmap is done by creating a grayscale image where darker shades of grey represent lower relative heights on the mesh and lighter shades of gray represent a higher relative heights on the mesh. For example, a normal map for a texture of stone tiles would be overall lighter on the surface of each slab (with noise and variance to make it look realistic) and near-black in-between each slab. Once you're satisfied with your heightmap, open up xNormal and use the heightmap-to-normalmap converter under the tools tab to generate your normal map.

[edit] Put all together

Put all together. Unify your nomenclature and be tidy. Import your meshes in OpenBRF, apply them materials with the right shaders, add your texture references (diffuse, normalmap, specular). If everything is fine, press Ctrl + E and no errors should be popping.

Use your recently created resources in the code by wiring them to be shown as items, bodies, scenes, or scene props. The two last ones need a collision mesh you can add by right-clicking on OpenBRF.

[edit] You're done

Start the game. And the most important thing, have fun.

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox