Page 1 of 2 12 LastLast
Results 1 to 20 of 33

Thread: Modeling & DB. Milkshape & UU3D. 3DS MAX workflow. How wangrin and I use them.

  1. #1

    Default Modeling & DB. Milkshape & UU3D. 3DS MAX workflow. How wangrin and I use them.


    First give thanks in this order to :

    ProvostGuard , because with his merging tutorial I made my first steps on modeling.

    T.C. for his tutorials and tool promoting so we can make models much eaiser.

    Wangrin for his discreetly very helpful personality and his merging tutorial.

    As title says I am going to explain here how I use these two programs to make models of the units for my mod. I have been using this programs for five months now, so I have some knowledge but I am not expertise. Thank Carricanta because his new interest in modeling has made me write this. Any other modeler please feel free to add any comment or knowledge you want to share.

    What is a model? what is textures? what is skin?.

    When you get to the vanilla files, you see in data folder ( C:\Program Files (x86)\Steam\SteamApps\common\empire total war\data) a file called models.pack and patch.packs, these ones five of them, and if you open them with PackFileManager, you will find a directory called + unitmodels, so if you open it you will see tens of files, most of them in groups of four, with what seems to be a unit name and followed by lod#.variant_weighted_mesh, and # values go from 1 to 4. These are the models files. And what is a model? The model is the 3D representation of the soldier that are part of the units you see when you play any battle, but this model files are just volume but not the colorful soldier you see in the battle. The colors, and some other light and relief effects, are given in the textures files, and this colors are commonly know as skins. That is why you may see advertisements of any mod team looking for modelers and skinners. First ones work with the 3D part of the soldier and skinners give them the beautiful look they have. So first ones are like sculptors and second ones are like painters.

    To find the textures files go down the unitmodels directory and there you will find another directory called just textures, difficult, isn't it? There you will find the files in groups of three, for colours mostly, for light, shadows, and faction colors effects, and for relief.

    Ok, but this thread is about modeling so retaking the thing, what are lods for? As you saw lods are named 1,2,3 and 4. Lod1 is the 3d soldier shape you see when you are watching the soldier in the closets position, then 2 a little bit further and so till 4 which is the soldier shape you see when you are moving your battle camera far from the unit. And why are four of them and not just one? Because the first one is very detailed and the second one is less detailed and so until the fourth, and the more details the soldier has the more your graphic card has to work, so to avoid the game colapsing or just getting too laggy when you have hundreds of soldier in your screen, the lods to see the soldiers from far have less details.

    So let's start talking about the programs UU3D and Milkshape. Models are worked with Milkshape, but you cannot work directly over vanilla files with it, you have to convert them to Milkshape (MS from now on) files. This is one of the things UU3d program is useful for. I am not going to explain how to convert the files from Empire to MS as T.C. has done a magnificent tutorial about it that you can find here , its name is about weapons but all the tool and file management is the same for soldier models files. Once you have converted lod1 you can work with it in MS, then convert lod2 and work with it and so. It is important that you have all the plugins needed or else you wont be able to open the files.

    When you open MS you will see several screens, a menu up and another vertical menu to the right or maybe to the left, we will see how to change this soon. Go to file and open the lod file you have just converted, once you do this you will see the 3d representation of the soldier on the several screens you have open. Going back to menu, in file you will find the typical lay out of this submenu, save, save as .... and some other functions. One that will be important is merge, that will allow you to merge parts of different models. This will be explained later.

    In the same menu to the right you can see windows submenu. There you have 'viewports', that you can open, and that you can use to change the numbers of screens you use to work, and also control panel which you can use to move the vertical menu to the left or to the right. But more important is that you have the show view caption checked, this will open little menus in each screen that allow you to change the type of screen, they are for you to work or to see. They are front, back, right,.... the point from where you are watching the model and 3D.To move the view on the working screens just press the mouse wheel and move the mouse. It moves up down right and left, also you can use the wheel to get a closer view of the model. But 3D screens intead of moving up down right left when the mouse wheel is pressed it moves arround the model. About this last type of screen, there is always a 3D screen open with the model in the caracteristic milk color surfaces, that you can see but not work with, if you make another screen to be the 3D type you will see that the image is not the same, you wont be able to work with it but the look of the model is similar to the front back ... screen types. This second 3d screen type is very useful to work as it allows you to move arround, over inside the model giving you a 3D view of the vertex, lines, faces, and groups of them that models are made of.

    And what is a vertex, a line, a face, a group?

    Vertexs are the little dots that you can see in any work screen(front, back...) that are united by lines. Three vertex linked by three lines make a face, which are the surfaces of the model, and groups are just groups of faces, so groups of vertex and lines that the model is made of. But models have more components. The faces are the surface but the model needs to move when playing so for that they have, as we have, a skeleton. The skeleton is made of joints and bones and the addition of the groups of the model to the joints is what makes the model to move as the joints are said to move by the game. This is the animation part, which I have no knowledge. I mean, I do not know how to change animations but I know and I will explain how to add the parts of the models to the joints for it to move as the game animations are set.

    Ok, so let's work. If we go to the vertical menu, that you can find to your left or to your right, depending on the settings you have in windows submenu in main menu, you will see four parts, model, groups, materials and joints. If we have model visible we can use several tools, first and main one is select. Once you press on it you will see that the lower part of that menu changes so you can check vertex, face, group or joint. Let's check vertex and once you have done so, go to any working screen and drag your mouse over any part of the model. You can do this too selecting now faces or groups. I never select joints now that I think about it but maybe you can find a good use of it. Select any vertex or faces or groups and go to main menu>edit. There you will see a lot of things you can do. As always an undo function so it will say undo selection. But then more, they are just what they say so just practice with them. About invert selection, it has not always worked as I wanted it. About hide selection, I have never used it but I have used hide groups in vertical group menu, and this will make the selected part to disapear temporary from the screens, working ones and 3D, until you unhide them, so this parts wont be selected or afected by any work you do, which can be very useful when you only want to work with a part of the model. In the vertical menu below vertex, face, groups and joint buttons you will see a checking box that says ignore backfaces, this will make that when dragging your mouse over the model only the closer faces vertex ... will be selected. This works in an somehow random way so it is not always so useful and you have to get really close to the model and work vertex by vertex.

    So once you have the components of the model you want selected then you can edit them by moving, rotating or scaling them( which means that you can make them bigger or smaller). And also extrude them, but I normally do not use this tool. There are two ways to move, rotate or scale the parts, directly on the screen or using the coordinates system that opens below in the menu over x, y and z buttons. I do not normally use this way but for scaling. I have not said but of course if you click on move, rotate, scale that activates the tool and its settings. Below those tools you have other buttons that are not exactly tools but geometrical shapes you can add to your model, and also you can see change the settings of them. I think it is worthless to explain the setting just play with them. NOTICE that you have to select and unselect, or activate the adecuate tool every time you want to work with any other part of the model or change the way you want to work with it. If you are repeating some consecutive tools use you can check the auto tool box you have in the lower part of this model vertical submenu.

    Very important and necessary thing to know is the use of groups vertical submenu. It is also very simple, with it instead of selecting vertex, faces or even groups on the working screens you will be able to select, hide, delete or rename them just clicking on the list or moving up and down of it. Some changes only work with groups, they do not work with vertex selection. This is the case of the duplicating selection tool that you will find in main menu >edit. This a very useful tool. Of course once you select a group this way if you go back to model menu you can select any tool ( move, rotate, scale..) or in main menu to make any change you want and also as we will see later you can go to the joints vertical menu to add the group to any joint so that part of the model will move the way you want in game. About rename: when opening a model you will see that some parts of the model seem to be duplicates for example, Euro_Expat_Infantry_arms01, Euro_Expat_Infantry_arms02. This is that the model is designed with two possible arms shapes that the game selects randomly when opening a battle so the soldiers do not look all the same. I think this does not work for all groups but for the ones that the game was designed for, I mean if you rename it with a vanilla name the game will work this way, but if you rename it mymother01 this group will be present in all soldiers without random selection If you create any new group MS will give it a specific name related to the geometrical shape you have given it in model submenu. But you can rename it to the part or the model you want, even a vanilla name.

    So let's move to joints submenu. Maybe when you opened the model you saw the blue skeleton it has, or maybe not. If you want to see it check the 'view skeleton box' you have in the middle of this vertical submenu. In the upper part of this submenu you see a list of joints, double click on any of them, then on screen you will see that the joint is in red and other joints and bones that depends on it are in light green. If you pressed delete button of your computer you will delete not only the red joint but also the light green ones that depends on them. So do not delete a main joint if you do not want the ones depending on it to disapear. OK one important rule that T.C. says in his tutorial and that, if you have had the patient to read untill here, you have surely forgoten is that all vertex must be assinged to a joint. If you leave any vertex unassigned when the time to convert from MS to Empire UU3D will give you a nice mesage telling you about it, so there you go back to your model to find what was it that ' I forgot despite T.C. and Bethencourt told me about it' If you click on selassinged you will see all vertex that are currently assinged to that joint. And if you press SelUnAssigned guess what...

    Ok to merge parts of different models we have two already worked out tutorials as far a I know made by wangrin who has made a very technical and deep work, please rep him.

    And also this one which is the one I learned from, made by ProvostGuard please rep him too.

    When you first open your model you will see it is very tiny and far away and when you try to move any vertex or part of the model it only moves to a position too far from where you want to place it. I think it is because Empire models are very small to what MS was designed for. To avoid this once you open it you can scale( make it bigger, in this case) all of it or just the part you want to work with. I used to scale to 1000 but then you lose the view from some of the position as top or right. So it is better to scale it to 100. And to do so, in 'model' vertical menu and click on scale button. Then in the lowest part of that menu you will see that an x,y,z slots of coordinates have opened, with values 1,0. Also some check dots that say 'center of mass', ' origin' and 'user point'. In this case we should use origin. Then put 100 in the three x y z slots and press scale button that is to the right of those slots. Then press select before going to the working screen and then move the screen and you will see a much bigger model easier to manage and edit. BUT you cannot put this colosus on the game so once you have edited it you have to revert the scale so in this case put 0,01 in the three slots and again press the scale button to the right.


    I have decided to quote this answer I have posted in another thread because it shows the basic db work you have to do to add you unit to the mod.

    Quote Originally Posted by Bethencourt View Post
    What you are asking for is really two things. One disabling one unit and the other is adding a new one.

    You have to add the following tables to your mod



    units_to_groupings_military_permissions or units_to_exclusive_faction_permissions





    There are other tables like units_to_gov_type_permissions that you may want to add depending on your design.

    To disable one unit you have to identify its db identity. The most common way to do it is to go to unit table in main or in the patch it has been publish in by CA. The second column of that table is screen name. If you click on the name of the column the names will apear in alphabetical order so you search for Coldstream Guard. In this case the db identity of the unit is euro_superior_line_infantry_coldstream.

    Then go to units_to_groupings_military_permissions or units_to_exclusive_faction_permissions in main or in patch file to see where the unit is attached to the group that the faction belongs to or the to the faction directly. If it is in units_to_groupings_military_permissions just delete the file if you do not really want it in the game, but if you want to preserve it for other factions of the group, British rebels or whatsoever, or it is attached via units_to_exclusive_faction_permissions then go to this last table ald put false where it is true. This second method using units_to_exclusive_faction_permissions is the best method.

    Then to add the new unit. If you have created a new model and then new textures then add the lod files and the textures files to your mod. It is better to use the same name for the lods files and for the textures files so things go quicker when changing db tables which is what follows, so you can use the same name for the unit id and the unit model in the tables. This tutorial is made suposing that you have done so if not it can cause ctd if you do no place the correct names in the tables.

    Go to warscape_animated add a row, copy and past the last row. (In general you can clone rows but in some tables like unit stat land this is forbiden as the clonation is always partial and it causes ctd.) In first column replace the name by the same name you have used to name the lods and then textures. and replace "unitmodels/textures/vanilla unit" by "unitmodels/textures/your unit name". With this you are adding the textures to the db table.

    Go to warscape_animated_lod and clone the last four rows. Each row is for a lod, so lod1 lod2 lod3 and lod4. Change the number of the first column, put any number for example adding 10 to each number in that column for each row. In the second column where you see UnitModels/vanilla name_lod1.variant_weighted_mesh change to UnitModels/your unit name_lod1.variant_weighted_mesh. Repeat it in the three other lines for lod2 until lod4.

    In the last column change the vanilla unit name by you unit name.

    With all this you have added the model to the db files.

    Go to units_to_groupings_military_permissions or units_to_exclusive_faction_permissions, here attach the unit to the group you are interested or to the faction you want by using true value the faction permission table.

    Go to units table. Add a row, find the row of the euro_superior_line_infantry_coldstream copy it and past it in the new row you first created.

    Go to unit_to_unit_abilities_junctions. Find the rows of euro_superior_line_infantry_coldstream , clone them all and then change the first column puting your unit name.

    Go to unit_stats_land and add a new row find euro_superior_line_infantry_coldstream and then copy and past it in the row you first created. In the first column change the name of the vanilla unit by the name of you unit and then in the same table add the name of your unit in the Model Name column.

    Then go to building_units_allowed and clone the rows of the euro_superior_line_infantry_coldstream and in the second column change the vanilla unit name by the name of your unit.

    And that is it. Test.

    To add officers, standard bearers, buglers and drummers you need to mod the next tables





    The changes in the two first are the same as the unit ones. Starting in warscape_animated you can give there the name you are going to use for you model, for example euro_officer_100, but you can give any name to it that is not already used for another model.

    So as I have said make the same changes in the two first tables as you have done for normal soldriers.

    Once you have finished with those two tables go to unit stat land and in the colum officer, standard bearer or bugler/drummer put the name of the model you have created there for the unit you want to add it to.

    Then go to battle_personalities, here you can clone the row of any officer, standard bearer, bugler or drummer, and then in the first and in the second column change the name you find there by the one of your model.

    And that is it. Test.

    Last edited by Bethencourt; February 25, 2013 at 05:20 PM.

  2. #2
    General Brewster's Avatar The Flying Dutchman

    Join Date
    Jul 2011
    Kingdom of The Netherlands
    Blog Entries

    Default Re: Modeling. Milkshape and UU3D. How I use them.

    You are a god Senior Bethencourt! + rep.

  3. #3

    Default Re: Modeling. Milkshape and UU3D. How I use them.

    thank you, if you can read it all without stamping your head against the laptop, then you are a higher divinity.

  4. #4
    carricanta's Avatar Going Nowhere Fast!
    Join Date
    Feb 2007
    A Coruña, Galiza

    Default Re: Modeling. Milkshape and UU3D. How I use them.

    Thanks my teacher

  5. #5
    Taraphir's Avatar Semisalis
    Join Date
    Jan 2012

    Default Re: Modeling. Milkshape and UU3D. How I use them.

    I know that you carry an enormous workload Bethencourt and it may be a bit bold of me to petition in all modesty for some sort of guide through tutorial here on this thread.
    Perhaps one day you could do an exemplary remodelling and merging based on one of your excellent napoleonic models for ETW? That would be absolutely tremendous.

  6. #6

    Default Re: Modeling. Milkshape and UU3D. How I use them.


    Most of it was written in one go, except last parragraph added the following day. But I have been very busy. I also would like to add screeshots.

    Wangrin has given me a great lot of material to continue the tutorial so I have to go over it, study it and make a good writing to post it here.

  7. #7
    wangrin's Avatar Unguibus et Rostro
    Patrician Artifex

    Join Date
    Feb 2005

    Default Re: Modeling. Milkshape and UU3D. How I use them.

    SUMMARY : List of tutorials #08 - Modelling Basis : tools & softwares
    #09 - Converting ETW models to other file formats : Knight Errant converter and Ultimate Unwrap 3D
    #13 - Modifying a model using MilkShape : using useful functionalities to modify a 3d model
    #15 - Modifying a model using Milkshape : working on faces
    #17 - Rigging model : how to optimize vertex weights using UU3D to check the effect on model animations
    #18 - UVmap : working on UVmap using Ultimate Unwrap 3d
    #19 - Textures : create diffuse, normal and gloss_map textures
    #20 - Animation : exporting animation with Ultimate Unwrap 3d to modify them
    #21 - Texture : applying texture to model in UU3D
    #27 - Porting ETW model to NTW :
    #28 - Exporting ETW model to 3ds max :
    #30 - Naval Modeling : How to use taw's models_naval db table converter
    #32 - Unit icon and info icon : How to use UU3D to create unit icons and info icons

    It is also possible to modify or create animations (.anim files) using both MilkShape and UU3D.

    Creating animation :
    1. Open your ms3d model with MilkShape
    2. Select ANIM button
    3. Select the joint you want and modify its position (rotate, move, etc.)
    4. When your first frame is done, select CTRL+K to fix it
    5. Same process for each frame utill your animation is completed
    6. Save your ms3d file

    7. Open the ms3d file with UU3D (Ultimate Unwrap)
    8. Save it as animated_rigid_model or variant_weighted_model BUT select "export animation", UU3D will create a blank.anim file with your animation
    Last edited by wangrin; November 29, 2015 at 09:24 AM.

    « Le courage, c’est de ne pas subir la loi du mensonge triomphant qui passe, et de ne pas faire écho de notre âme, de notre bouche et de nos mains aux applaudissements imbéciles et aux huées fanatiques.. » Jean JAURES

  8. #8
    wangrin's Avatar Unguibus et Rostro
    Patrician Artifex

    Join Date
    Feb 2005

    Default Re: Modeling. Milkshape and UU3D. How I use them.



    Pack File Manager :

    DB Editor (DBE) :

    KnightErrant Converter (KE converter) :

    Note that to use KE Converter, you need to install Python 2.7 and not Python 3.2Link : Python 2.7


    MilkShape 3D 1.8.2 or 1.8.5 :

    • 3D modeling software, a bit limited but easy to handle.
    • This software is often use to create model.

    Ultimate Unwrap 3D Pro v3.x :
    • link : Ultimate Unwrap 3D Pro
    • This software is particularly useful to create new UVmap (texture patron).
    • But this software main interest is the ETW plugin that convert variant_weighted_mesh and rigid files to any file format you want (.ms3d, .3ds (3DS Max), .dae (collada file format can be used with Blender).

    Notes that UU3D isn't a free software.
    Paint.Net :

    • link : Paint.Net
    • This is a light 2D software but it is able to read dds and is very easy to handle, more than Photoshop.
    • Only problem, it is not possible to use it to create normal map because NVidia tool work only with photoshop.


    Blender :

    • link : Blender
    • Blender is a powerful and free modeling software and even more.
    • I must said I only begin to learn how to use it, but you can find some very good tutorials.

    3ds max :
    • link : Autodesk Education Community
    • Autodesk 3dx mask is a professional modeling software. It is use by CA to create their models.
    • It is possible to use 3ds max for free by joining the Autodesk Education Community as long as you use this software for non-commercial purpose.

    Photoshop :This is the Rolls-Royce of 2D software to create texture.You can use NVidia tool to create normal map based on diffuse texture.
    Last edited by wangrin; July 15, 2013 at 04:13 AM.

    « Le courage, c’est de ne pas subir la loi du mensonge triomphant qui passe, et de ne pas faire écho de notre âme, de notre bouche et de nos mains aux applaudissements imbéciles et aux huées fanatiques.. » Jean JAURES

  9. #9
    wangrin's Avatar Unguibus et Rostro
    Patrician Artifex

    Join Date
    Feb 2005

    Default Re: Modeling. Milkshape and UU3D. How I use them.



    To use K.E Converter, you have to install Python 2.7 first.
    Be careful to not install last Python release (Python 3.2 for instance), K.E converter cannot work with it.

    K.E converter is composed of 2 files :

    KE Converter is limited to variant_weighted_mesh files.

    When you want to convert a variant_weighted_mesh model :
    • variant_weighted_mesh (model you want to convert)

    Must be in the same folder.

    Run , a windows will appears :

    To convert a variant_weighted_mesh file to ms3d : clic on Mesh To Ms3d Converter
    To convert a ms3d file to variant_weighted_mesh : cliv on Ms3d to Mesh Converter

    Choose the model you want to convert :

    You will have a message on the prompt screen to tell you if conversion is a success or not :


    UU3D is able to import/export :
    • wariant_weighted_mesh
    • animatable_rigid_model
    • rigid_model_animation
    • rigid_model
    • rigid_mesh
    • windows_model

    UU3D is also able to export but not import :
    • Variant_part_mesh (NTW)


    To be able to use UU3D with ETW models, you will have to download 2 plugins :
    • MilkShape3D (MS3D)
    • Empire : Total War (VARIANT, RIGID)

    Go to :
    Go to “Third Party Plugin”

    Select :
    • Product : Ultimate Unwrap 3D Pro 3.x
    • Plugin 1 : MilkShape3D (MS3D)
    • Plugin 2 : Empire : Total War (VARIANT, RIGID)

    To install plugin, simply unzip downloaded file and copy its content in your program files \Ultimate Unwrap3D Pro\plugins


    Open your model’s variant_weighted_mesh file : double clic on your etw model and choose UU3D or open UU3D and then go to file, open, etc.

    A new windows will appear :

    As you can see on the picture above, you can choose skeleton type : human, Horse, Camel, Elephant

    Most of the time, UU3D is able to choose the right skeleton, but not always.
    For instance, when a human model name contain "horse", UU3D want to open it with a horse skeleton.

    You can also import an animation (.anim file) to… animate your model

    Simply choose your .anim
    Opening a ms3d model is easier, simply open it with UU3D, you will have no special windows.

    That's all :


    Simply “save as” .ms3d

    Note that, when you export a variant_weighted_mesh file to ms3d, UU3D reverse skeleton, eg. Right bones become left bones and vice versa.
    It’s not a problem if you convert it back to variant_weighted_mesh using UU3D.
    But, if you convert it back to variant_weighted_mesh using KE Converter, it will not work.

    EDIT :
    Quote Originally Posted by samsonite;14303993
    If you see this, it means the handedness of your model is flipped. To fix, use this tool in Unwrap3D: 3D Tools -> Modifiers -> Scene -> Flip.

    However, if you intend to export to ETW format from Unwrap3D, then your model must always face in the Z+ direction, as that is the direction the plugin expects the model and skeleton to be facing.


    To convert a MilkShape model (.ms3d) to an ETW model (variant_weighted_mesh, rigid_model, etc.), simply “Save as” your model :

    Choose type “Empire : Total War (*.variant_weighted_mesh)” even if you want to save it as a rigid model for instance.

    A new window will appear:

    Now, you have to really choose what ETW file format you want : File type AND Model Type (a sub-type for the file type) :


    When you open your ms3d model with MilkShape and it look like this :

    Don't panic

    Go to File > Préference

    In the new windows, go to Misc tab and look at Joint Size parameter :

    Change Joint Size value to 0.0025
    Last edited by wangrin; January 11, 2015 at 04:34 PM.

    « Le courage, c’est de ne pas subir la loi du mensonge triomphant qui passe, et de ne pas faire écho de notre âme, de notre bouche et de nos mains aux applaudissements imbéciles et aux huées fanatiques.. » Jean JAURES

  10. #10

    Default Re: Modeling. Milkshape and UU3D. How I use them.


    Thank you for keeping on with this thread. I have been very bussy to go with it.

  11. #11
    wangrin's Avatar Unguibus et Rostro
    Patrician Artifex

    Join Date
    Feb 2005

    Default Re: Modeling. Milkshape and UU3D. How I use them.

    I take advantage of helping someone to write some new chapters
    Last edited by wangrin; August 05, 2012 at 02:43 PM.

    « Le courage, c’est de ne pas subir la loi du mensonge triomphant qui passe, et de ne pas faire écho de notre âme, de notre bouche et de nos mains aux applaudissements imbéciles et aux huées fanatiques.. » Jean JAURES

  12. #12

    Default Re: Modeling. Milkshape and UU3D. How I use them.

    Yes, that is why I started it .

  13. #13
    wangrin's Avatar Unguibus et Rostro
    Patrician Artifex

    Join Date
    Feb 2005

    Default Re: Modeling. Milkshape and UU3D. How I use them.



    This chapter will show you how to "open" a coat using basic functionalities.

    Starting model : we will start from the early XVIIIth French infantryman model.

    STEP 1 : Dividing edge to create a symmetric figure

    The goal is to create the "line" to separate the front of the coat :

    1. select the 2 vertice, extremity of the segment you want to divide
    2. go to VERTEX > DIVIDE EDGE or use CTRL+P

    NOTE :
    If you see the error message "Please select exactly 2 vertices", this means :
    that you have select more than 2 vertices
    that one of the vertex is not "weld"

    So, "Weld" each vertex :
    • select the vertex
    • weld the vertex using CTRL+W

    STEP 2 : removing the belt

    As you want to open the coat, you have to remove the belt.
    To do this, simply snap and weld vertices.

    To snap vertices together, select vertices and use CTRL+N
    To Weld vertices together, select vertices (vertex) and use CTRL+W

    STEP 3 : reworking face

    After dividing edge, some face must be reworked to create a "clean model".

    1. hide face from the back of your model to avoid to deleted them by mistake
    2. to select faces you want to delete go to MODEL tab > SELECT > FACE and be sure that IGNORE BACKFACE and BY VERTEX are NOT checked
    3. delete faces
    4. to create new face, go to MODEL tab > FACE and click on the 3 vertices that define your face, one after another, this will create a new face

    NOTE :
    Take care of the order when you select the 3 vertices that define your face.
    This order determine in your face is front or back.
    To check this you can :
    • try to reverse vertex (CTRL+SHIFT+F or FACE > REVERSE VERTEX ORDER) order to see how the model look
    • select faces checking "IGNORE BACKFACE" and hide selected face to look if hiding id "coherent"


    Now, your coat is ready to be "opened".

    You will have to "separate" vertex along the "separation line, to do this, you will have to unweld vertices
    To move only one side of the "separation line", you will have to hide one of the two parts (right or left)

    1. Separating vertices (unweld vertices)
      • Select vertex and unweld them using CTRL+SHIFT+W or going to VERTEX > UNWELD
    2. Opening the coat
      • Select faces by vertex (VERTEX tab > SELECT > FACE > checking BY VERTEX)
      • Hide selected faces
      • Select vertices you want to move and move them (VERTEX tab > MOVE)

    NOTE :
    You will probably have to clean the model because nothing is perfect.
    To do this, you will use the same "tools" : selecting face / selecting face by vertex / selecting face ignoring backface, hinding vertex / hiding face, unweld vertex, snap and weld vertex, creating face.
    Most of the time, modifying a model need a combination of this functionalities.


    The goal, here,is to create turnback for the newly open coat.
    We will use a slightly different method than above.


    Instead of using the "unweld vertex" method, we will use the "duplicate selection" method.
    The idea is to duplicate face to rework them before regrouping.

    1. select faces you want/need to duplicate using SELECT > FACE > BY VERTEX
    2. to duplicate selection, use CTRL+D or go to EDIT > DUPLICATE SELECTION

    NOTE :
    Duplicating face create a new vertex group, called duplicatedxx (00, 01, etc).
    After that your selected faces are duplicated, hide them.
    Then, unhide the body and select again the same faces and delete them.
    So, when you will regroup the body with the duplicated vertex group, you will not have two face at the same place (duplicated), something that is particularly hard to remove.


    Now, you can modify this vertex group.
    To create turnback, we will have :
    • to move vertice along z axis
    • to add new face to create

    To move vertice along z axis :
    1. Hide all vertex groups but not duplicatedxx
    2. select vertices
    3. to move only along z axis, go to MODEL > MOVE > check only Z, uncheck X and Y to allow movement only along Z axis

    Now, you have to weld vertex that joint body and duplicatedxx
    1. select vertex
    2. snap and weld vertex using CTRL+N and CTRL+W

    And then, you have to create some new face :
    1. use MODEL > FACE
    2. create face by clicking on each of the three vertices that define your face

    NOTE :
    An other way to "create" face is to use existing faces.
    1. Select them depending of the face you have to create
    2. Duplicate selection
    3. Modify those duplicated face by moving vertices
    4. If needed, reverse vertex order :
      • select faces
    5. Snap and weld vertices

    NOTE : I've attached .ms3d model and its different steps to this post
    Last edited by wangrin; November 10, 2012 at 10:52 AM.

    « Le courage, c’est de ne pas subir la loi du mensonge triomphant qui passe, et de ne pas faire écho de notre âme, de notre bouche et de nos mains aux applaudissements imbéciles et aux huées fanatiques.. » Jean JAURES

  14. #14
    Megasalexandros's Avatar Campidoctor
    Join Date
    Sep 2006
    Northern Greece(Macedonia)

    Default Re: Modeling. Milkshape and UU3D. How I use them.

    Wow Wangrin thats far from a quick description, i will take my time and study it
    I would rep you if i could!

    Well i broke my head trying to understand exactly what you mean in the tutorial, i cannot understand it litteraly though, i cant get the step by step procedure no matter how iam trying to think of it.

    The only think that i have managed to do is to duplicate the vertces -faces that i wanted, and the snap them to the main body vertex by vertex.
    Then the other half has a gap that misses faces in order to close it, my only solution to that is to make a square shaped vertex-face and snap it , part by part to its place.
    Last edited by Megasalexandros; November 10, 2012 at 10:59 PM.

  15. #15
    wangrin's Avatar Unguibus et Rostro
    Patrician Artifex

    Join Date
    Feb 2005

    Default Re: Modeling. Milkshape and UU3D. How I use them.

    To create or modify a model, you can duplicate face.
    But then you have some extra-face that need to be remove to create a "clean" model.

    Exemple : this is an early XVIIIth Prussian grenadier garde create by Megasalexandros (work in progress).

    To lengthen the waistcoat, the easiest way is to duplicate some faces :

    Here, to lengthen the waistcoat, the "trick" was to duplicate the last "rank" of the previous waistcoat and to "mirror" it using the MIRROR TOP <-> BOTTOM function.
    This make easier to merge and weld vertices.
    The operation was used twice.

    But now, we have some extra-faces that none can see in game, but the model isn't "clean" :

    Now, you need to remove those extra-faces, but they are not easy to select.
    One of the possibility is to select faces around those you want to delete and hide them.
    Doing so, you can easily select and deleted faces you want to remove.

    STEP 1 : selecting faces around those you want to delete

    Go to MODEL tab > SELECT > FACE > check BY VERTEX
    Then, select faces by selecting their vertex.
    Hide selected faces using CTRL+H

    STEP 2 : Deleting extra-faces :

    Now, you can easily select the faces you want to remove.
    But hiding other faces means you also hide vertex.
    So, you can not use SELECT FACE BY VERTEX.

    Go to MODEL tab > SELECT > FACE > be sure that BY VERTEX and IGNORE BACKFACE are NOT checked.
    Select faces you want to remove.
    Delete them by using DEL (or SUPPR).


    When you remove or add faces, it is better to merge (CTRL+N) and weld (CTRL+W) vertex that were the "frontier" to be sure to not have "strange behaviors" with faces later.


    We have seen above how to use "select face by vertex" to remove unwanted faces.

    An other method, depending of circumstances, is to use "select face ignoring back face".
    This is particularly important because if each face had a front and back face, only the front face is visible in ETW.


    A polygon (what I name "face") is defined by 3 vertex.
    Each polygon had two faces, a front face and a back face.
    What is front and what is back is define by the vertex order use to create the polygon.

    In this exemple below, you can see a mistake, one of the polygon show its back face instead of the front face :

    To correct it, you will have :
    • to select this face only
    • to reverse vertex order (go to FACE > REVERSE VERTEX ORDER or use CTRL+SHIFT+F)
    • to merge and weld vertices (you have revert vertex order, this can change vertex)

    Now, we can work on the example.
    I will use the same model as above, the early Prussian Grenadier Garde from Megasalexandros.

    This model had to represent a front turnback.

    This can be done as shown in "CREATING TURNBACK" (see post above)

    This also can be done by selecting some face, duplicate selection and modifying the new "duplicate" vertex group.
    This is the solution used here.

    But now, we need to remove behind the left turnback.


    The first step is about to select and hide all faces that could be in your way but you don't want to accidentally delete.

    1. Slect All : CTRL+A
    2. Hide all : go to EDIT > UNHIDE ALL or CTRL+SHIFT+H
    3. Unhide body vertex group : go to GROUPS tab > select your body vertex groups (here PR_EARLYGUARD_body01) > click on HIDE (*)
    4. select face using SELECT > FACE > BY VERTEX
    5. hide selected faces using CTRL+H

    (*) NOTE : HIDE button allow to hide and unhide the selected vertex group


    All those face should show their "front face".
    To avoid to select face behind them that show their back faces, we will use "select face ignoring backfaces".

    2. Select faces you want to deleted
    3. Deleted selected face using DEL (or SUPPR)

    STEP 3 :

    You can unhide your duplicate vertex group and work on it as show in (CREATING TURNBACK)

    I've added the early Prussian model use, it's not the finished one but it can be use to test the tutorial.
    Last edited by wangrin; November 20, 2012 at 07:21 AM.

    « Le courage, c’est de ne pas subir la loi du mensonge triomphant qui passe, et de ne pas faire écho de notre âme, de notre bouche et de nos mains aux applaudissements imbéciles et aux huées fanatiques.. » Jean JAURES

  16. #16

    Default Re: Modeling. Milkshape and UU3D. How I use them.


    I have added in first post the db work needed to add your unit to the mod pak.

  17. #17
    wangrin's Avatar Unguibus et Rostro
    Patrician Artifex

    Join Date
    Feb 2005

    Default Re: Modeling & DB. Milkshape & UU3D. How wangrin and I use them.

    I've add this to "How to add a new Cannon Model" thread to answer to TuranianGhazi, but I think it is better to add this little tutorial here.

    Rigging model :

    Riggind head or more complex vertex groups is the same process.

    First of all, as we generally modify an existing model, we rarely have to completely rework vertex weights.
    It only happen when you create a vertex group from scratch.

    When I have to completely rework vertex weight assignment, I do it in 2 main steps.
    First, I fix vertex weights using a clean vertex group as a base/model.
    Second, I optimize vertex weights using UU3D to animate model.

    1. Fixing vertex weights for a new vertex group :

      This is a long and boring process.
      • Use a clean vertex group as a base. Example : Euro_Highlander_Regular_body01

        Save it as Euro_Highlander_Regular_body01.ms3d
      • Then, I merge the new vertex group in the previous one (reference). Example : I merge GB_MIDINF_HIGHLANDER_body01 in Euro_Highlander_Regular_body01
      • Now, you will have to compare vertex weights from Euro_Highlander_Regular_body01 to GB_MIDINF_HIGHLANDER_body01's vertex
        In the example below, I've select Spine1 joint and select GB_MIDINF_HIGHLANDER_body01 vertex group (in red).

        Generally, I select a vertex from the base model (Euro_Highlander_Regular_body01) and, in JOINTS tab, go to SHOW > SELECT
        Doing so, I can see all vertex with the same vertex weights from the base model.

        Then, I select vertex from the new vertex group (GB_MIDINF_HIGHLANDER_body01) and assign them the same vertex weights

        Finally, I hide vertex which vertex weight had been fixed.

        At end, you should have assigned vertex weights to all vertex from the new vertex group and you can switch to the second step.
        You can also delete the base model

    2. Optimizing vertex weights

      This process is highly empirical and it is better to optimize vertex weights using a complete model.

      To do so, you will use :
      • Ultimate Unwrap 3D to look at animated model
      • MilkShape to correct vertex weights

      Each time, you will have :
      1. to open your variant_weighted_mesh model with UU3D, importing animation
        • open variant_weighted_mesh model with UU3D
        • select animation

      2. You will have to select animation depending of model.
        I generally use animations\matched_combat\draw\mus-hg_10_mus-hg or sws-og_sws-og anims for infantry and infantry officers
        And I use animations\men\horse_rider\c_sab\c_sab_guard_l-slash anims for cavalry.
        But, what is really important is that anim is "complex" enough to see a maximum of "poses" to check if the model don't look too much distorded.

    Last edited by wangrin; June 01, 2013 at 01:35 PM.

    « Le courage, c’est de ne pas subir la loi du mensonge triomphant qui passe, et de ne pas faire écho de notre âme, de notre bouche et de nos mains aux applaudissements imbéciles et aux huées fanatiques.. » Jean JAURES

  18. #18
    wangrin's Avatar Unguibus et Rostro
    Patrician Artifex

    Join Date
    Feb 2005

    Default Re: Modeling & DB. Milkshape & UU3D. How wangrin and I use them.

    Work in Progress



    1.1 DEFINITION :

    UVmap results from the projection of a 3d object on a 2d surface.
    U and V refer to the 2 axis of a 2D texture.
    You can consider the UVmap as... a map that tell where to place textures to "color" your model.

    You can consider that an earth map as an UVmap.
    The 3d object is the earth.
    The projection system use can be Mercator one for example.

    1.2 PURPOSE :

    UVmap defining where to place textures to "color" a 3d model, it can be use to create completely new textures.
    You can use UVmap as a base to create your model's texture.

    You can use several projection to create UVmap : plane, cylindrical, spherical, etc.
    And then you can modify the UVMap to optimize its effects.

    1.3 EXAMPLE :

    1. 2. 3. 4.

    1. White on Black UVmap, filled
    2. Black on White UVmap
    3. Basic work on texture
    4. Model "textured"



    You will mostly use :

    • Groups : to select vertex groups more easily and/or hide them
    • Materials : to add a texture to your model
    • 3D views : to alternate views (with or without wireframe overlay, etc.)
    • 2D tools menu to use uvmapping tools
    • Select menu to switch between selecting vertex and selecting face modes.

    2.2 MATERIALS :

    A material defines the optical properties of an object: its color and whether it is dull or shiny. A texture is a pattern that breaks up the uniform appearance of the material.
    We use material to apply textures.

    But we will see here how to use a "special" feature : the "checker" texture.
    The checker texture look like a black and grey grid and is very useful to detect geometric distortions you can then correct or diminished by reworking the UVmap (moving vertex for example).

    1. Double click on your material (example : figure) ;
    2. Select checker in the drag-down menu and then select properties ;
    3. Adjust grid size (default is u=8 and v=8)

    If grid is too small or too large, it will be difficult to see distortions.

    2.3 3D VIEWS :

    3D STATES PANNEL : to activate the 3D States pannel, go to WINDOWS > 3D STATES

    You can alternate between 3 views :

    1. 2. 3.

    1. Texture
    2. Texture + Wireframe overlay
    3. Wireframe

    Texture + Wireframe overlay is the most useful one as you can clearly see both faces and vertex

    1. 2.

    1. Selecting face
    2. Selecting vertex

    2.4 2D TOOLS menu

    UVmapping tools are available through the 2D Tools menu.

    Go to 2D Tools menu > UVmapping

    Those tools are used to create projection from a 3d object to a 2D surface.
    Most useful projections are :

    • Planar
    • Cylindrical
    • Spherical

    Planar projection :

    3d object is projected on :

    1. a YZ plane if you choose projection along X axis
    2. a XZ plane if you choose projection along Y axis
    3. a XY plane if you choose projection along Z axis

    1. 2. 3.

    Cylindrical projection :

    3d object is projected on a cylindrical surface around it.

    You can choose cylinder axis :

    1. cylindrical projection along X axis
    2. cylindrical projection along Y axis
    3. cylindrical projection along Z axis

    Depending of symetry, you can also choose "seam rotation" angle.
    Personnaly, I use 360°.

    Example - cylindrical projection along Y axis :

    Spherical projection :

    3d object is projected on a spherical surface around it.
    You can still choose projection axis (X, Y or Z).

    Depending of symetry, you can also choose "seam rotation" angle.
    Personnaly, I use 360° or 180° depending of model shape.

    Example - spherical projection along Y axis :

    2.5 SELECT menu

    To use UVmapping tool, you will have to select faces first.

    Face selection is the default system in UU3D.
    But you can also select vertex or edges.

    Select Face is necessary to use UVmapping tool and to work on UVmap
    Select Vertex is very useful to work and modify UVmap


    I will use the bagpipe as an example.

    To be easier to work on its UVmap, I've divided the bagpipe into several vertex groups :

    • cornemuse
    • chalumeau
    • sutel
    • bourdon01
    • bourdon02
    • bourdon03

    Moreover, I will create the UVmap before final modification, because it will be easier to do.

    As I've forget to assign those face to a material :

    • I select faces using vertex groups :
    • I assign them to figure materials :

    Then, I will assign the checker texture to Figure material :

    We will create the UVmap for the "bourdon02".

    First, we will select faces tied to this vertex group :
    • be sure you are in "select faces" mode
    • right click on bourdon02 vertex group
    • click on select

    Second, due to the shape of the bourdon02, I use the cylindrical projection along y axis and 360°

    You can then search for symmetries and move some faces :

    And you can use MOVE FREELY to move selected faces.
    • If you put the cursor on corners of the selection area, you can move selected faces along top-bottom-right-left directions
    • If you put the cursor on right or left sides of the selection area, you can move selected faces along right-left directions
    • If you put the cursor on top or bottom sides of the selection area, you can move selected faces along top-bottom directions

    Second : switch to "select vertex" mode : you will have to move vertex to try to avoid distortions of the checker texture

    NOTES ABOUT SOME USEFUL TOOLS You can use several tools to manually transform the UVmap :

    The 5 buttons in the tool bar are :
    1. Move freely
    2. Rotate freely
    3. Scale uniformily
    4. Scale nonuniformily (you can use different scale rate for X and Y axis)
    5. Scale from the corner (selection area edges fix the scaling rate)

    Other interesting functionalities are :
    • Hide : hide selected face (not vertex)
    • Scale : allow to define your own scaling rate
    • Mirror : allow to mirror selected faces, particularly useful when model present symmetries
    • Align : allow to align selected vertices, useful to "weld" edges

      But be careful when you select vertex, sometime you can "crush" faces.

    So, we have to transform the UVmap create after using the cylindrical projections into a more usable one.

    First, you will have to decide how to "cut" the UVmap to choose to place the join where it will be less visible :

    Due to symmetries, it is possible to mirror the back part and try to "align" its UVmap with the front part :

    We can also align vertex :

    Now, we can begin to rework the UVmap

    Progressively, you will create a new UVmap that limit checker texture distorsions :

    To finish the UVmap, you will have to scale it down to be equivalent to other parts.



    To select several faces simultaneously : Maintain MAJ + Left Clic on UVmap faces you want to select

    To deselect some faces only : Maintain CTRL + Left click on UVMap faces you want to deselect

    Those tips are useful when faces are superimposed. It help to select only one layer and separate it from the other ones.

    4.2 "CRUNCHED" FACES :

    Sometime, UVmap tools "mask" faces or error with "align" tool crunch faces :

    To avoid to completely recreate UVMap, you can try to only rework corrupted faces.

    1. Select "sane" faces around and hide them :

    2. Select "corrupted" face and use UVmap tool to recreate their UVmap :

    3. Unhide your vertex group UVmap

    Go to GROUPS > vertex group > right clic > Unhide

    4. Rework UVmap to adapt it to the previous one

    Last edited by wangrin; June 06, 2013 at 01:40 PM.

    « Le courage, c’est de ne pas subir la loi du mensonge triomphant qui passe, et de ne pas faire écho de notre âme, de notre bouche et de nos mains aux applaudissements imbéciles et aux huées fanatiques.. » Jean JAURES

  19. #19
    wangrin's Avatar Unguibus et Rostro
    Patrician Artifex

    Join Date
    Feb 2005

    Default Re: Modeling & DB. Milkshape & UU3D. How wangrin and I use them.



    A model usually need 3 textures :
    • The, used to "paint" the model
    • The, used to simulate bumps and wrinkles on the surface of the model
    • The, used to define specular effects, dirt mask and faction colour mask

    Examples :
    1. 2. 3.

    1. diffuse texture
    2. normal texture
    3. gloss_map texture

    File format is .dds (DTX5)


    The texture is a bump map, used to simulate bumps and wrinkles on the surface of the model
    But this texture is also used as a base to create "shadows" in the diffuse texture, to reinforce the illusion of relief.
    So, creating this texture is a very important step.

    To create the bump map, we have several possibilities :

    2.1 creating the bump map from a high poly model

    This is the best and most effective process to create a bump map, but not the easiest.
    It means to convert the unit model, a low poly one, to high poly, keeping the UVmap, and then sculpting relief on the surface of the model.
    Then, exporting the bump map.

    Tools needed :
    • converter : .variant_weighted_mesh, .rigid_model, etc. <> .fbx, .obj, etc.
      • Ultimate Unwrap 3D (up to date, but not free)
      • Milkshape plugin (outdated, converting to .obj)

    • 3d modeling tool :
      • MudBox
      • Zbrush
      • etc.

    Process :
    low poly model --(3dsm max)--> High Poly Model --(MudBox)--> sculptin High Poly model --(MudBox)--> exporting Bump Map

    Low Poly to High Poly :

    1. select model and convert it to "editable poly"
      right clic on model > convert > editable poly
    2. using Turbosmooth modifier to increase the number of poly (3 to 4 iterations)
      (*]collapse to editable poly
    3. using Paint deformation to modify relief (youtube video)

    Resources :

    2.2 creating the bump map from a 2d picture/texture

    This is not the most effective solution, but the easiest and the most common.
    Bump map is created from the diffuse map, using nVidia plugin for Photoshop or plugin for paint.Net or, probably, The Gimp.

    Tools needed :
    • Photoshop + nVidia plugin
    • Paint.Net + "the Normal Tool" plugin

    Resources :


    2.1 CHANNELS use RGB channels but also the Alpha channel.

    Alpha channel is use to fix "transparency".
    • Black = transparency 100%
    • White = transparency 0% (opacity 100%)

    Example :


    Tools needed :
    • Photoshop
    • The Gimp
    • Paint.Net
    • etc.

    Process :
    Layers are fundamentals to create good textures.
    • base layer : Black and White UVmap
      This layer is used to place base colours for the texture
    • top layer : Black and White wireframe UVmap

      This layer is used to locate and place elements using wireframe as a guideline / patron
    • Intermediate layers :
      • shadows : used to increase the illusion of relief
        a. b.
        a. Shadows layers (reuse of the bump map to reinforce the feeling of relief for creases, etc.)
        b. Shadows layers for "decals" (to reinforce the feeling of relief for pockets, braids, buttons, etc.)
      • decals : use to place buttons, braids, etc.

    But, before working on a model, you need documents, from pictures to text describing the unit :
    • French chasseur à cheval - late XVIIIth century : : UVmaps (B&W and B&W filled), 3d model (.variant_weighted_mesh and .fbx file formats), documents showing such unit

    • Legion de Dabrowski officer - Late XVIIIth century : UVmaps (B&W and B&W filled), 3d model (.variant_weighted_mesh and .fbx file formats), documents showing such officer


    The gloss map define specular effects, but also the dirt mask.

    Channels are used to define separate effects :
    1. 2. 3.

    1. gloss_map - red channel : specular sharpness
    2. gloss_map - green channel : specular level
    3. gloss_map - blue channel : dirt mask
    4. gloss_map - alpha channel : colour mask (white = faction colour over diffuse texture / black = no faction colour over diffuse texture)

    Resource :


    Some example from a Master :
    1. 2. 3.

    1. GB Colonial Line Infantry diffuse and normal textures
    2. FR Polish Troop (Legion de Dabrowski) diffuse and normal textures
    3. FR Monarchy - General diffuse and normal textures
    Last edited by wangrin; December 02, 2015 at 03:10 PM.

    « Le courage, c’est de ne pas subir la loi du mensonge triomphant qui passe, et de ne pas faire écho de notre âme, de notre bouche et de nos mains aux applaudissements imbéciles et aux huées fanatiques.. » Jean JAURES

  20. #20
    wangrin's Avatar Unguibus et Rostro
    Patrician Artifex

    Join Date
    Feb 2005

    Default Re: Modeling & DB. Milkshape & UU3D. How wangrin and I use them.

    Exporting animations using UU3D need three main steps :

    1. Opening model and animation
      To be able to export an animation, you must open a model and an animation
      • step 1 : open a model
        example : opening african_tribal_lod1.variant_weighted_mesh
      • step 2 : in the Import Empire: Total War windows, select an animation to import
      • step 3 : you can look at the animation

    2. Modifying animation through MilkShape
    3. Exporting animations
      • Step 1 : save you model as a .variant_weighted_mesh
      • Step 2 : select the "Export Animations" option
      • Step 3 : the exporter create two files, a .variant_weighted_mesh and a .anim ones.

    NOTES :

    1. Process to modify animation is :
    2. ETW plugin has been updated to allow to "force" the T-pose.
      Just check the export option called "Transform vertices to rest pose".
      Use this option if your model has been transformed to a different rest pose (from FBX or elsewhere).
    3. Process should work differently for TW:R2 as ETW plugin dosn"t allow to save .rigid_model_v2.
      TW:R2 process should be :

    Last edited by wangrin; January 11, 2015 at 04:37 PM.

    « Le courage, c’est de ne pas subir la loi du mensonge triomphant qui passe, et de ne pas faire écho de notre âme, de notre bouche et de nos mains aux applaudissements imbéciles et aux huées fanatiques.. » Jean JAURES

Page 1 of 2 12 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts