Matsuda's Mega Modding Mismanagement (Or, the request for assistance in 3D Modeling)

Matsuda123

Prince
Joined
Jan 1, 2012
Messages
519
Hello all.

I am Matsuda. I've been trying for about three and a half years now to create citysets and units for Civilization IV. I have completed several citysets in Maya, and now face several issues. Among these issues, texturing and adding the units and citysets to the game. In order to explain the issues I currently face fully, I've decided to make a very thorough post, detailing the problems I have encountered. Pictures will be included to express all the problems clearly. I hope that I will finally be able to learn of the errors I am making that prevent me from finishing these creations, and that any future creators will be able to look at this post and hopefully learn how to create things as well. Here we go...

1. A cityset is finished modeling. For the example, we will use Tibetan Medieval Cityset. (Image #1)

2. I then remove all other buildings, as it seems that in order to texture, one must first have only one building to work on at a time (I think? Maybe?). I export the single building as a .obj file from Maya. (Image #2)

(This also seems to be true for Nifskope. I think you have to have one building, then import the .obj file into Nifskope onto the right node for the corresponding spot in the city and the building it will replace.)

3. I import the .obj building into Blender. (Image #3)

4. I create two screens in blender, one in 3d view and edit mode for the model, the other in UV mode and edit for the texture. I select the building. I unwrap the UV texture line things, and then, I fail to grasp what comes next. (Image #4)

5. Nothing more happens, as I do not know what I am doing, or if I am doing it properly at all.

This is my general process for making cities in Civ IV. I'm not really sure what to do beyond this. :/

In the next post, I will document my failure to create units in Civ IV.
 

Attachments

  • 1.png
    1.png
    393.4 KB · Views: 208
  • 2.png
    2.png
    318.5 KB · Views: 164
  • 3.png
    3.png
    996.9 KB · Views: 219
  • 4.png
    4.png
    1 MB · Views: 189
After attempting citysets, I begin trying to make units.

1. I mostly editing a unit from another unit in Maya. (I can't figure out how to close the gaps between surfaces on the face.) (Image #1 and #2)

2. I export the unit as a .obj file from Maya, and import the unit into blender. I create two screens in blender, one in 3d view and edit mode for the model, the other in UV mode and edit for the texture. I select the unit. I unwrap the UV texture line things, and then, I fail to grasp what comes next. I'm pretty sure it isn't supposed to look like this. (Image #3)

3. I attempt attaching the unit to nodes in Nifskope, to test and see if I can. I can't seem to grasp it, and hear that attaching the unit to the other unit's place involves something involves a skeleton and nodes.

4. Nothing more occurs.
 

Attachments

  • 1.png
    1.png
    438.7 KB · Views: 206
  • 2.png
    2.png
    418.4 KB · Views: 192
  • 3.png
    3.png
    1.3 MB · Views: 171
I am absolutely not familiar with Maya but I can tell you where you are doing wrong and why, as well as theoretically how to fix it.

Long story short 3D models are composed of several key components. The most important of these are the edge points or vertices (vertex singular). Vertices are those points at the edge of each of your shape (called faces in the 3D world) and are your primary means of both modeling and animation. And that is where the skin and bone aspect of the work that you've heard about comes in.

Animating a 3D model (called mesh) vertex by vertex is not done. Not only would it be very hard work but it would be bad for all sorts of other programming reasons that I won't get into. Rather, the way animation is done in the 3D world is through a technique called skeletal animation.
The way this works is that you create a simplified placeholder model called a skeleton which you than animate. And than you modify your mesh by telling each vertex which bone it should be linked to. When the 3D engine (in our case Civilization 4) plays animation it only moves the bones and the bones move the rest of the model.

So for example all your hand vertices are tied to the single hand bone and your head vertices to your single head bone. This process is called skinning because it resembles grafting skin onto bones. And the skeletons them self are remarkably simple things.


Now on to Civilization 4. In Civ4 each model type (swordsman, spearman, maceman, tank, jet fighter...) has its own unique skeleton. But at the same time all models of the same type use the same skeletal model. So all the swordsman you see in the download library all use the same swordsman skeleton. All the spearmen use the same spearman skeleton etc.* And indeed many of them actually use the same skeleton.

So what you need to do in order to create a new unit model is to pick an animation set from Civ4 that you like (swordsman, spearman, grenadier, tank...) and import that whole thing Nif file into your 3D software. Than you need to delete the original model leaving the skeleton intact and attach your new mesh to that skeleton so that appropriate body parts on your mesh are attached to the appropriate bones on the skeleton. Than you need to export the entire NIF as a whole.

.Obj exporting won't work because OBJ files only contain mesh and material information and are incapable of containing the skin and skeleton data. So what you need to do is find a plugin for your 3D software that allows you to import and export NIF files directly.


PS. To see the skeleton of a unit in NIFSCOPE go to the menu bar and click render->draw nodes. You'll see a bunch of white lines linked by tiny boxes show up.
 
Looks like I'm in trouble then. I only have a Mac, which seems to lack a .nif plugin for Maya, and trying to export .nif from Blender never seems to work for some reason... I'm attempting to find a way to get 3ds Max, if it even works on Mac, but we will see. Does that mean the citysets are useless files now?
 
I am absolutely not familiar with Maya but I can tell you where you are doing wrong and why, as well as theoretically how to fix it.

Long story short 3D models are composed of several key components. The most important of these are the edge points or vertices (vertex singular). Vertices are those points at the edge of each of your shape (called faces in the 3D world) and are your primary means of both modeling and animation. And that is where the skin and bone aspect of the work that you've heard about comes in.

Animating a 3D model (called mesh) vertex by vertex is not done. Not only would it be very hard work but it would be bad for all sorts of other programming reasons that I won't get into. Rather, the way animation is done in the 3D world is through a technique called skeletal animation.
The way this works is that you create a simplified placeholder model called a skeleton which you than animate. And than you modify your mesh by telling each vertex which bone it should be linked to. When the 3D engine (in our case Civilization 4) plays animation it only moves the bones and the bones move the rest of the model.

So for example all your hand vertices are tied to the single hand bone and your head vertices to your single head bone. This process is called skinning because it resembles grafting skin onto bones. And the skeletons them self are remarkably simple things.


Now on to Civilization 4. In Civ4 each model type (swordsman, spearman, maceman, tank, jet fighter...) has its own unique skeleton. But at the same time all models of the same type use the same skeletal model. So all the swordsman you see in the download library all use the same swordsman skeleton. All the spearmen use the same spearman skeleton etc.* And indeed many of them actually use the same skeleton.

So what you need to do in order to create a new unit model is to pick an animation set from Civ4 that you like (swordsman, spearman, grenadier, tank...) and import that whole thing Nif file into your 3D software. Than you need to delete the original model leaving the skeleton intact and attach your new mesh to that skeleton so that appropriate body parts on your mesh are attached to the appropriate bones on the skeleton. Than you need to export the entire NIF as a whole.

.Obj exporting won't work because OBJ files only contain mesh and material information and are incapable of containing the skin and skeleton data. So what you need to do is find a plugin for your 3D software that allows you to import and export NIF files directly.


PS. To see the skeleton of a unit in NIFSCOPE go to the menu bar and click render->draw nodes. You'll see a bunch of white lines linked by tiny boxes show up.

Good tips, I do wonder whether it is obligatory to export to .nif from the 3d software, I have never managed to get that to work properly, I have asumed that the scripts are buggy but not sure. However I have created more than a hundred units just by importing 3ds and obj- files into NifSkope, which works fine for the most part. Now Matsuda might be in trouble if Maya can’t export models to 3ds or .obj files, but than you can just convert the models in Blender. You can add textures to a TriShape in NifSkope afterwords, possbly with some marginal loss of texture-quality but I am unsure, that is what I have been doing so far after a tip from Walter.
 
I have not ever tried importing .3ds files so I'll leave that up to you. But he definitively needs some way to import NIF files into his software in order to get to the skeleton. Especially since he intends to do humanoid units. With a tank or something you can actually get away with having zero skinning and just cutting the model into pieces and pasting those onto the bone nodes in the nif directly. But with anything that has a complex skin not so much.

This said if he has blender there is this: http://niftools.sourceforge.net/wiki/Blender
 
Good tips, I do wonder whether it is obligatory to export to .nif from the 3d software, I have never managed to get that to work properly, I have asumed that the scripts are buggy but not sure. However I have created more than a hundred units just by importing 3ds and obj- files into NifSkope, which works fine for the most part. Now Matsuda might be in trouble if Maya can’t export models to 3ds or .obj files, but than you can just convert the models in Blender. You can add textures to a TriShape in NifSkope afterwords, possbly with some marginal loss of texture-quality but I am unsure, that is what I have been doing so far after a tip from Walter.
I have not ever tried importing .3ds files so I'll leave that up to you. But he definitively needs some way to import NIF files into his software in order to get to the skeleton. Especially since he intends to do humanoid units. With a tank or something you can actually get away with having zero skinning and just cutting the model into pieces and pasting those onto the bone nodes in the nif directly. But with anything that has a complex skin not so much.

This said if he has blender there is this: http://niftools.sourceforge.net/wiki/Blender

I do have blender, and the blender scripts for .nif. The only issue is that I can import .nif from blender, but I cannot export, as the system always encounters an error for some reason. The other issue is that I have no experience modeling in blender, only in Maya. At this point it appears I may need to learn Blender's tools instead. But the export still remains an issue. My Maya can export .obj files, but if it is guaranteed to remove data that .nif has that seems to be an issue. I do intend to make tanks, ironclads, and airships, but also human units, so I will need to look into something else I suppose.
 
I can't really help you any more in that case. I personally use 3D max and have newer had issues using the plugins made by the same people who did that one for exporting.
 
Back
Top Bottom