Saints Row IV SDK Release A: Weapon Mod Tools
Supported
Replacing existing weapons in Saints Row IV with a custom model and new textures.
NOTE: The replacing of existing assets are temporary. Volition is working on a modding patch for Saints Row IV that will allow the loading of entirely new assets without replacement! No ETA as of yet, but get hyped.
Currently Unsupported
Adding entirely new weapons. (Only replacing existing.)
Adding new effects to weapons. (Particles, etc.)
Adding new animations to weapons.
Creating Wacky Waving Weapons! (Yep, you know the ones.)
Beyond these tools, you'll need the following external tools:
Python 2.6.6
Wx Python
FBX Python SDK 2014 for Python 2.6
Autodesk 3DSMax OR Autodesk Maya 2014
Minimaul's Saints Row IV Tools
SECTION 1: DOWNLOAD AND INSTALL TOOLS
SRIV SDK Release A: Weapon Tools
Download the latest SDK Release A and the latest version of the FBX converter from the release thread.
For the following items, I haven't tested it personally, but if you are on a 32 bit operating system, download the 32 bit versions of each program if applicable.
Python 2.6.6
Download the 64 bit version named Windows X86-64 MSI Installer
Wx Python
Grab the one named "wxPython3.0-win64-py26"
FBX 2014.1 SDK
Install all 3 programs, with Python 2.6 being installed first.
Finally you need to copy some files from the FBX 2014.1 SDK directory to your Python 2.6 directory. This link from Autodesk explains it pretty well.
If you properly installed everything your python/lib/site-packages should look at the least like the following:
1) Notice the Wx folder and local files that should have been installed here.
wx-3.0-msw/
wx.pth
wxversion.py
2) The fbx files that you should have copied over to this folder.
fbx.pyd
fbxcommon.py
sip.pyd
Minimaul's Saints Row IV Tools*
*This download is technically optional. This is for those of you that would like to replace weapons not included in the templates.
SECTION 2: TEMPLATES
Extract your ‘templates’ folder. These folders have examples of each weapon style in the game. These FBX files contain everything you need to make a weapon replacement for Saints Row IV.Template Contents
The templates include several things. First the mesh for the main gun, clip (for some weapons) and then bones and locators. I've laid out the specifics of each below.
Meshes
In the case of the Pistol template, 'Pistol_Police_A' is your weapon. Currently it is skinned to the bones, and has a shader applied to it. The name of the mesh is important to note, this is what you will need to name your new mesh. The name of the mesh is also used by the converter to name the files.
Some of the weapons have an additional mesh, which is either a clip or a projectile. In this case we have the "pistol_police_a_bone-clip" mesh. These have the same shader applied to them as the main weapon and are not skinned to a bone.
Bones
Bones are used to specify what areas of your weapon animate. The names are usually pretty self-explanatory. When you rig the skeleton to a new mesh, it will animate in the same way as the template weapon. For example, the slide bone on the Pistol template moves its skinned vertices back in the Z axis when fired.
Another example is the Mine Launcher's BlueCanister bone, any vertices skinned to it will rotate in the X axis. There is currently no way to change how these bones behave, and weapons can only use bones they originally had.
Clips / Projectiles and melee weapons are not skinned to a bone. These will be converted into an .smesh file in the converter. (Static Mesh)
Meshes that are skinned to a bone will be converted into a .ccmesh file in the converter. (Character Mesh)
Bones also have a couple extra attributes. These are necessary for the bones to be properly read by the game. You likely won't have to bother with these settings since they are already set correctly in the template files.
Attachment Tags
The templates contain all the tags for that particular weapon, so all you will need to do is move their position to the appropriate place on your new mesh.
MAYA NOTE: The latest Maya FBX Plugin exports these nodes as empty groups that have no graphical indicator. Select them from the Hypergraph and then select the translation tool in order to see them. (The key shortcut is W.)
If you want to replace some of the other weapons not included in the templates, here are some mandatory tags that we can use. Listed below.
weapon_handle - Where it attaches to the hand of a character
secondary_handle - Where the offhand will IK attach to the weapon (IK = inverse kinematics)
muzzle_flash - Where the muzzle flash FX will play from
NOTE: Currently we don't know the other tags and bones that the other non-template weapons have. But it is in the plans to provide the rest of them in the future. Basically, you can replace all the weapons currently but until you know the correct bone setup and tags, you can't replicate all features. For example, you can replace the Tentacle Bat, but it won't have the physics because we don’t know the names of the bones and locators. The template files have been created from source files from the artists at Volition.
Materials
Above: Pistol’s Shader opened in Maya’s Hypershade.
- Textures are assigned using Maya / 3DSmax shader network.
- Textures need to be saved as .TGA format.
- Converter Supports Diffuse, Normal, Glow and Specular Maps.
- Converter does not currently support multiple materials.
- Texture names need to follow a set naming convention for the FBX converter to be able to find them. The naming convention is laid out below.
texturename_SM_D.tga
texturename_LG_X.tga
X = (D, N, or S. These stand for Diffuse, Normal or Specular.)
LG = Large Texture used for up close.
SM = Small texture used on LOD models.
texturename_LG_X.tga
X = (D, N, or S. These stand for Diffuse, Normal or Specular.)
LG = Large Texture used for up close.
SM = Small texture used on LOD models.
- Your diffuse texture for texturename_SM_D.tga should be 512x512 pixels in dimensions.
- Your LG normal and diffuse should be 1024x1024 and your LG specular map should be 512x512. Keep in mind that you don't necessarily need anything but a diffuse.
- Textures need to be in the same folder as the FBX.
STOP: At this point we want to create our FBX.
MAYA TEXT TUTORIAL
MAYA VIDEO TUTORIALS
And once you are done, come back to this part to continue.
MAYA TEXT TUTORIAL
MAYA VIDEO TUTORIALS
And once you are done, come back to this part to continue.
SECTION 3. CONVERTER
Now launch the FBX converter. I'll lay out what it does.
1. This one’s pretty obvious, navigate to your FBX and select it.
2. This dropdown menu lets you select between each mesh in your FBX, in this case we can select the main weapon mesh and the clip mesh of the Police Pistol.1. This one’s pretty obvious, navigate to your FBX and select it.
3. Select 'ir_at_bsimple1' as your shader. The rest of the shaders aren't supported / documented.
4. These toggles enable export / converting of various file types. You want to enable all of these for your main mesh.
If you import something like a melee weapon or select a clip from the dropdown you will notice that it disables Rigx. This is because these are crunched as static meshes instead of character meshes. (No bones remember!)
5. I will talk more about packaging in the next section. This is our last step when making a weapon, and this button will take our crunched files from step 4 and package them up for the game. Again, more details in the next section.
REMEMBER: If you are making a gun with a clip / projectile, it most likely had a dash in the name. Maya doesn't preserve dashes in the name, so right now is the moment to change the underline to a dash.
So, you've imported your FBX, and you've enabled the buttons detailed in 4. Now all you need to do is hit convert!
SECTION 5. PACKAGING FILES
Directory Setup
Create a folder named packaging, inside a folder named Modding.
<..\Steam\SteamApps\common\Saints Row IV\modding\packaging>
Packaging is where you put the STR2 / ASM files of your chosen template. All you have to do is copy and paste the files from the 'Packfiles' folders included with each template as seen below.
Back in the converter, hit the folder button and select your packaging folder.
All you need to do now is hit Package!
If all went correctly, then you will have your modified files in your packaging folder! Take them and shove them in Saint Row IV's root folder (C:\Program Files(x86)\Steam\SteamApps\common\Saints Row IV) and launch the game!
If everything went right, your new weapon will replace the default model. Celebrate!
Last edited: