Loading and Adjusting Dynasty Warriors Models

It is quite often that dynasty warriors models contain separated meshes and skeletons. In these cases, it is impossible for the program to determine the correct position and orientation of the models because that information is stored in the skeleton's file (which is not always 000.g1m or 001.g1m). As you can see in the following model, the skeleton and the skirt are not positioned or oriented correctly. If this happens, you must fix this manually by digging into the .TXT files that were generated when models were processed.

So in this example we're going to use the files selected in the following image. Load 001_skel_00.smc and 002.smc into Blender 2.49b and if the model or skeleton is not correctly positioned, open up both text files, 001.txt and 002.txt, into text editors.

Look at 002.txt and scroll to the bottom of the file. You will see something like the following image. This is a list of meshes in the model and the bones that they are attached to. surface_000 is attached to bone 0xA and all the other surfaces are attached to bone 0x0. Keep these in mind.

Now look at 001.txt and scroll until you find the words "JOINT DATA (ABSOLUTE)" in the file. Look at the following image and find joint[0x0000] and joint[0x000A] since those are the important ones we are looking for.

Let's work on the first mesh, surface_000_00. It is associated with joint[0x000A] and according to the text files, we must move the mesh by (0, 119.623, 0) and rotate it by (90, 0, 90) degrees.

To apply this in Blender 2.49b, do not parent the meshes to the skeleton just yet. Before you do, select the mesh in the Outliner window and then move the mouse pointer over the 3D perspective window and press "N" to bring up the "Transform Properties" window.

Enter the appropriate values as is seen in the following image and the mesh will move into its correct place. The normals will become messed up but selecting the mesh in Blender's Edit Mode will recalculate the normals and all will be OK.

Now select all of the other meshes. They are associated with joint[0x0000] and according to the text files, we must move the mesh by (0, 92.6226, 0) and rotate it by (0, 0, 0) degrees. Input those values to get the final model.

At this point, you can now parent the meshes to the skeleton as in the previous tutorial and start manipulating the model.