CG in Games tosyk's blog

6Feb/114

Converting 3d model from Soul Calibur 4

Русский / English

In this article I will describe the process of converting models from Soul Calibur 4 into 3ds Max. 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]:

Show list of matches »

R_ALL_001_360.spd -- Mitsurugi
R_ALL_002_360.spd -- Seong_Mi-Na
R_ALL_003_360.spd -- Taki
R_ALL_004_360.spd -- Maxi
R_ALL_005_360.spd -- Voldo
R_ALL_006_360.spd -- Sophitia
R_ALL_007_360.spd -- Siegfried
R_ALL_008_360.spd -- Rock
R_ALL_00b_360.spd -- Ivy
R_ALL_00c_360.spd -- Kilik
R_ALL_00d_360.spd -- Xianghua
R_ALL_00e_360.spd -- Lizardman
R_ALL_00f_360.spd -- Yoshimitsu
R_ALL_011_360.spd -- Nightmare
R_ALL_012_360.spd -- Astaroth
R_ALL_014_360.spd -- Cervantes de Leon
R_ALL_015_360.spd -- Raphael
R_ALL_016_360.spd -- Talim
R_ALL_017_360.spd -- Cassandra
R_ALL_01a_360.spd -- Yun-Seong
R_ALL_022_360.spd -- Setsuka
R_ALL_023_360.spd -- Tira
R_ALL_024_360.spd -- Zasalamel
R_ALL_028_360.spd -- Hilde
R_ALL_029_360.spd -- Algol
R_ALL_02a_360.spd -- Vader
R_ALL_02b_360.spd -- Yoda
R_ALL_02c_360.spd -- Apprentice
R_ALL_030_360.spd -- Amy
R_ALL_040_360.spd -- Angol-fear
R_ALL_041_360.spd -- Kamikirimusi
R_ALL_042_360.spd -- Shura
R_ALL_043_360.spd -- Ashlotte
R_ALL_044_360.spd -- Scheherazade
R_ALL_050_360.spd -- Arcturus
R_ALL_080_360.spd -- unknown male
R_ALL_081_360.spd -- unknown female
R_ALL_082_360.spd -- Jacqueline
R_ALL_083_360.spd -- Auguste
R_ALL_084_360.spd -- Lizardman
R_ALL_085_360.spd -- unknown male
R_ALL_086_360.spd -- Valmiro
R_ALL_087_360.spd -- Algol
R_ALL_088_360.spd -- G-Mitsurugi Dummy (added 2011-04-01)
R_ALL_08f_360.spd -- unknown male
R_ALL_101_360.spd -- Mitsurugi (added 2011-04-01)
R_ALL_102_360.spd -- unknown female
R_ALL_103_360.spd -- Taki
R_ALL_104_360.spd -- Maxi (added 2011-04-01)
R_ALL_105_360.spd -- Voldo
R_ALL_106_360.spd -- Sofitia
R_ALL_107_360.spd -- unknown male
R_ALL_108_360.spd -- Rock (added 2011-04-01)
R_ALL_10b_360.spd -- Ivy
R_ALL_10c_360.spd -- Kilik
R_ALL_10d_360.spd -- Xianghua
R_ALL_10e_360.spd -- Lizardman
R_ALL_10f_360.spd -- Yoshimitsu
R_ALL_111_360.spd -- Nightmare
R_ALL_112_360.spd -- Astaroth (added 2011-04-01)
R_ALL_114_360.spd -- Cervantes de Leon (added 2011-04-01)
R_ALL_115_360.spd -- Raphael
R_ALL_116_360.spd -- Talim
R_ALL_117_360.spd -- Cassandra
R_ALL_11a_360.spd -- Yun-seong
R_ALL_122_360.spd -- Setsuka
R_ALL_123_360.spd -- Tira
R_ALL_124_360.spd -- Dverger
R_ALL_128_360.spd -- Hilde
R_ALL_129_360.spd -- Algol
R_ALL_12a_360.spd -- Vader
R_ALL_12b_360.spd -- Yoda
R_ALL_12c_360.spd -- Apprentice
R_ALL_130_360.spd -- Amy
R_ALL_140_360.spd -- Angol-fear
R_ALL_141_360.spd -- Kamikirimusi
R_ALL_142_360.spd -- Shura
R_ALL_143_360.spd -- Ashlotte
R_ALL_144_360.spd -- Scheherazade
R_ALL_150_360.spd -- unknown male
R_ALL_180_360.spd -- unknown female
R_ALL_183_360.spd -- Marienbard
R_ALL_184_360.spd -- Lizardman
R_ALL_185_360.spd -- unknown male
R_ALL_186_360.spd -- unknown male
R_ALL_188_360.spd -- unknown male
R_ALL_18f_360.spd -- unknown female
R_ALL_285_360.spd -- unknown male
R_ALL_286_360.spd -- unknown male
R_ALL_381_360.spd -- unknown male
R_ALL_385_360.spd -- unknown male
R_ALL_485_360.spd -- unknown male

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):

Show coloring tutorial »

  1. choose any Material by clicking on it
  2. click on the Standart button
  3. choose Composite Material
  4. click Ok button
  5. choose Discard old material and click Ok
  6. click on Base Material
  7. click on None in Diffuse Color
  8. choose Mix Map
  9. click Ok
  10. on Color #1 choose your Diffuse texture (Bitmap)
  11. on Color #2 in color box choose color you want set in Primary color. In my case is Gold
  12. set Mix Amount in 70.0
  13. go up to Composite Material, click None in Mat. 1 and choose Standart Material
  14. choose Mix Map for Diffuse Map Slot and enter it
  15. on Color #1 choose your Diffuse texture (Bitmap)
  16. on Color #2 choose Mix Map
  17. set Mix Amount to 70.0 and enter it
  18. for Color #1 in the color box choose White color
  19. for Color #2 in the color box choose Secondary color, in my case is Purple
  20. for Mix Amount choose RGB Tint Map and enter it
  21. in Soul Calibur 4 for texture coloring are used texture-mask: Red + Green + Blue (channels). So in this case we need only Red Channel: choose White color for R and Balck color for G and B
  22. choose your Mask texture for Map Slot
  23. after rendering you get this (Yellow color you can change in step 11, Purple color you can change in step 19):

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

Show more renders »

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.

Comments (4) Trackbacks (0)
  1. can i design soul calibur characters on daz studio?plz reply me.

  2. sujit jagat, I duno

  3. can i design your above procedures using autodesk maya?what i have to do ?plz reply me?

  4. sujit jagat, probably you can but I don’t know maya.


Leave a comment

No trackbacks yet.