First things first. I feel like I'm in a position I've never been in before. Very few modders know how to do this stuff and I feel like I went from making submods and tweaks to leading the charge on the modding front if that makes sense. Second of all I'm not to good with tutorials, so bare with me. With that out of the way, lets get started!
Programs you need:
3ds Max(I used 2013 64 bit.)
OpenBrf
Total War Assembly Kit:
TWeak and BOB
Gimp or Photoshop(I use Gimp)
Step 1: Model and Max Set-Up
So the first thing we need to do is get your 3d models into Max. The first couple parts of the tutorial are designed around using the high quality Open Source Project assets from the Mount and Blade Warband community. If you are making a new model with in Max then this part won't be 100% relevant. So by the end of this tutorial series you will know how to bring a helmet, a weapon, a shield, a body and arms(a surcoat in this case) and legs and feet into the game as new assets. So here's the model we will be working with in part 1:
To get the same models I have added at the bottom a link to where I got the assets from. Along with links to the other free tools you'll need. So anyways you'll need Openbrf to export the model above as an "obj" file. Here's a picture showing how to do it. Basically you have to right click on the model name and click export static mesh, like so.
I would save it to this location in the aseembly kit: Total War Rome 2\Assembly Kit\Raw_data\Variantmeshes\variantmodels\man\helmets and all your custom textures at Total War Rome 2\Assembly Kit\Raw_data\Variantmeshes\variantmodels\man\helmets\tex Don't go to far with textures yet because there are some things you have to do with that.
So now you have your obj file ready to go. Now you have to set up 3ds Max so it reads the models correctly. If you go into the version of Max I have with one of the example project file in the helmets folder and it looks like this.
That means you have to go into customize , viewport settings, go under "choose driver" at the bottom and change your settings form whatever it was to Direct3d Here's a picture that should help.
So if you did it right it should look like this:
Now we have to apply the correct shader because the shader that the model uses by deault isn't right. So there are two files that we need to put in Max's files. In the assembly kit folder under "max_exporters" you should see a bunch of Max versions, go into the one that's the right year and bit and take the file place in the 3ds Max folder under "stdplugs"
The second file is under max_shader. There should be an "fx" file. Take that place it in the main 3ds Max folder under "maps\fx" Then in Max go under Rendering, Compact Editor. You should see a thing called a Directx shader. Click on the top most button and find that "fx" file. That should fix the texture of the helmet and lay the framework for our new helmet. Here are some pictures illustrating what I just said.
So if you got all that done, you are now ready for Step 2.
Step 2: Importing and Textures
So now we are going to bring our helmet model into Max. Go under the Max logo on the far left to the import function. From there find your obj file and import it. It will bring up some settings. For added help, here's what I go with:
So once it's imported, you'll have to use the rotate function to flip the helmet around. This can be done also by right clicking the rotate button and change the left hand z function to 180 degrees. Here's some pictures showing that.
Now the new model is actually way below the roman helmet model on top. So using the select and move button next to the rotate button, move the model so it's basically on top of the roman helmet model. Then use both move and rotate to place it where a helmet like this would be on a man. Here's some pictures showing that.
So next up is setting the Compact Material Editor. Go to that panel again and click the "x" button and when you get two options, choose the top one. This gives the shader parameters a clean slate for us. Here's what that would look like.
Next up we have to add the textures we need. First of all make sure that you name your textures "diffuse", not "diff", "normal", not " norm" or "normalmap", "specular" not "spec" and then level and gloss. Also I will not be covering on how to make those separate maps, just how to implement them. Add the corresponding textures to the right slots. Also it's a little vague, but level goes to the reflectiveness slot and gloss goes to the smoothness slot Two things, make sure that the textures are in .tga format and in the "tex" folder I mentioned earlier. This will be helpful for Bob later. Lastly when all the textures are in the right slots, select the model, go to the top the material editor with the green cube next to the "x" button. That will assign the model to the textures. Here's some pictures showing that in action.
Update: If you are using textures 1024x1024 and bigger, place you helmet and textures in the respective armor folders instead of helmets. Otherwise Bob reduces the quality. You can actually see this in my TWeak picture. I'll update that picture soon.
Lastly delete the roman helmet model lods. There should be 4 models deleted.
So now we're on to the final parts of this tutorial.
Step 3: Rigging and Export
So we need to go into the ultities tab on the right (a hammer symbol) and deselect the hidden objects called "helpers" These are basically the bones for rigging. Then go to the modifiers tab add a skin modifier. Also under Edit Poly make sure you're selecting the borders tab. You'll see what I mean with the pictures later. With that you'll see a bunch of options. Some of them near the bottom are minimized. Under the display tab there's a bunch of color and weighting options that should be checked. Then go back to the top under the add bones tab. You need to add these two bones: "bn_head" and "bn_neck" Now select the edit envelope button. Now the best way to do it in my opinion is to select the paint weights button. This will let you to click on various parts of the model and rig them. This will be shown by red, the more red a part of the model is, the more it's attached to that bone. In this case, you want to put add bn_head first so you just have to paint the bottom to bn_neck. This will require switching between two bone options until you get the result you want. Now if you're confused by that paragraph, here's pictures showing the process. (Note that to making the painting easier I would change that tab in the top left from smooth and highlights to flat during the process. You'll notice that in the pictures)
Okay! So if you've gotten this far, great! You might have some trial and error with the rigging, especially later on. I'll get to that later. Anyways now we are ready to export! Before you do that however, you need to rename the model "modelname_lod1" You can do it at the right seen in the pictures. Otherwise Bob won't convert it. And then adding other lods, you need to basically duplicate it and change it from lod 1 to lod 2, 3 or 4. I would make sure you can get one lod done first however. So now export it with the settings in the pictures below.
Now open up Bob under the assembly_kit\binaries and select the four texture files and the cs2 model. and press start. If everything works out right, you will see all green. Just in case you need it, here's some pictures:
If you did everything right, here's how it should look:
That concludes Part 1! If you have any questions or comments, leave them below! Expect Part 2 relatively soon! Now here's some helpful links!
Helpful Links:
Historic Lords Project: http://www.nexusmods.com/mbwarband/mods/3932/?
OpenBrf Download Link: http://www.mbrepository.com/file.php?id=1466
Gimp Link: http://www.gimp.org/