Monday, 10 June 2013

Extracting & Converting 3d model from Soul Calibur 4

Converted models have a skeleton and are ready for animation.
Note: The article is designed for users familiar with working in 3ds Max and does not cover detail things such as, for example, texturing objects, setting up materials, etc.
For the conversion process, we need the following tools:
  • 3ds Max (i use 2008 х64) should work on versions: 7-2011
  • SPD Unpacker v0.2.1 (*.spd unpacker) Author: Tosyk [download]
  • Microsoft .NET Framework v3.5 (libraries for SPD Unpacker) Author: Mic*oft [page]
  • FBX Plug-in (3ds Max plug-in for *.fbx file importing) Author: Autodesk [page]
  • gw::OBJ Importer (3ds Max plug-in for *.obj file importing) [page]
1. Unpacking game archives. All Soul Calibur 4 game resources are on the disk, in this case is the drive for xbox360. To unpack the resources suggest to use this tutorials [page].
2. Model converting. In this article I will explain how to convert characters. However, the conversion of objects is no different. Archives containing resources relating to the characters are located at:
<unpack path>\Soul-Calibur-4-(xbox360)\creation\model\
And have the prefix R_ALL_*. For example the first such archive is:
<unpack path>\Soul-Calibur-4-(xbox360)\creation\model\R_ALL_00b_360.spd
In such archives are located characters with a full set of primary (in game terms) paraphernalia. In all other archives in the same folder contains additional accessories/objects/textures for these (those with the prefix R_ALL_*) characters.
For example, I'll convert file with character Kilik, a file with this character:
<unpack path>\Soul-Calibur-4-(xbox360)\creation\model\R_ALL_00c_360.spd
Uncompress *.spd files most convenient using SPD Unpacker I made, it based on two programs:
  • xbdecompressor.exe (decompressor) Author: Mic*oft
  • spd_ex.exe (*.spd unpacker) Author: Orez [page]
what the authors thank you!
To unpack you need drag and drop R_ALL_00c_360.spd on the c4_spd_un.exe. In this case, instead of a file R_ALL_00c_360.spd folder is created with the same name (in this case - R_ALL_00c_360), inside that folder will be located textures folder with the textures (*.dds) and files:
  • R_ALL_00c_360_dec.fbx - 3d model with skeleton
  • R_ALL_00c_360_dec.obj - 3d model without skeleton
  • R_ALL_00c_360_dec.mtl - material file (need for *.obj)
  • R_ALL_00c_360_dec_map.txt - texture list from textures folder
Source file R_ALL_00c_360.spd will also be moved to that folder.
In 3ds max 2008 has built a plugin for importing *.fbx files, but for better compatibility of 3ds max with *.fbx files, I recommend that you install the latest version of the plugin to import *.fbx - run the installer and follow the instructions. In 3ds Max, run the importer File -> Import -> Autodesk (*.fbx) and select your file. In the next window (fbx plugin's settings) you need to press Ok. After loading the model in 3ds max in the preview window will be this:
I suggest a little bit optimize/improve the model:
  • remove flicker - select all (Ctrl + A), right-click on the model -> Object Properties check the Backface Cull checkbox. This can save a model from the mapping of polygons on the reverse side, often these polygons intersect with the polygons to face us, which causes flickering
  • increase the model - select all (Ctrl + A) and use the Scale-tool to increase model on 10000%, so a character (in this case Kilik) will growth by about 183 cm
  • placement of accessories - all items of clothing/armor of the characters are in the zero point of coordinate, it is a feature of the converter, and nothing can be done about it. With the Align-tool drag all the accessories in the right places, it's very easy to focusing on the axis of the objects and the correct position in the screenshots from the Internet. That settings of Align-tool, suitable for all except the jaw:
  • remove the animation - select all (Ctrl + A), and remove the first frame of the animation from the animation strip, it will reduce the number of lines displayed in the preview window, by the way when you import *.fbx file in the settings of the importer you can remove the check mark in the Animation section
  • split model - in one scene there are 2 suits of the same character, but have a common skeleton, the first ordinary costume, and the second so-called rage costume differs in that it looks raged. For convenience, you can select all the elements of each suit and sign selected in the separated group
After above manipulations you get a ready-made model (I hid the bones):
To identify the file which the character is, I propose to use the list of matches, it is based on the list, authored by Firsak [page]:

3. Textures and materials. Textures are unpacked with the models in the textures folder and have the format *.dds. But in the game Soul Calibur 4 integrated "powerful" editor of color settings of the character/costume/accessories. Developers have divided all the possible places of painting the elements of the character through separate channels and file masks.
In this section, I will tell you how to set up Vray material for Soul Calibur 4 character so that in the rendering color corresponded to that represented in the game. As an example, I took a basic element of a suit for Ivy (Isabella Valentine):

After setting up the materials and the Vray renderer you can get renders like this:

In order to identify the color for each character Mario_Kart made screenshots of the game editor [download] [page]. However, you need to consider the color infelicity in the visualization, because on the color in case of 3ds max affects a lot of conditions and on colors in the game is almost did not affect.
Also, just as an example, I publish the model of the character Kilik in the *.max format for 3ds max 2008 [download].
5. Rendering. 3ds max and Vray.

No comments:

Post a Comment