Good news for modders!

I just downloaded the most recent version of Blender (3.6.1), and apparently some time ago they finally fixed their .fbx import\export plugins, or at least the part of them that prevented models exported from Blender to work properly with SDK tools. I assume that it was because Blender used to not import (and therefore, export) custom bone properties, and now it does, you can find them by switching to pose mode and looking under Bone tab => Custom Properties.

I was able to just import .fbx template from SDK, fit a custom model to the armature, export the model as .fbx (make sure to check "Custom Properties" in the export settings panel), and then used SDK tools to crunch it. And it worked. No need to have to rely on Maya for exporting anymore.

I assume that it should be possible to add extra bones to the armature to make use of the existing physics files, like with hair and skirts and such, i'm gonna have to try that.
 
Wait wait wait one moment!!! You mean to tell me it's now possible to just use Blender (Or at least the newest version of it) to do all the rigging and stuff and just export it from there instead of having to transfer the model into Maya to rig it or am I totally miss understanding what you are saying? If I'm correct would it possible if somebody to create some kind of tutorial on how to go about making a clothing item or something like that? Again if this is true this would be fucking awesome cause like Admixion mentioned Maya was the primary reason me, and probably lot of other people too, stopped modding Saints Row IV since...well...who in their right mind is gonna drop pretty much a $1,000 a month or risk downloading it from sketchy ass website just to use the fucker.
 
Yep. Not much of a tutorial is needed now, just import the template .fbx file that comes with SDK tools, make a model that fits the base body mesh, rig it to the armature from the template, and then export it as .fbx with options "Add Leaf Bones" unchecked and "Custom Properties" checked. Should be a fairly straightforward process now.

I also wrote a new import plugin for SR3\4 meshes for Blender, i'll test it a bit and hopefully upload it later today. With it, you should be able to import vanilla customization items, and edit and export them.
 
Yep. Not much of a tutorial is needed now, just import the template .fbx file that comes with SDK tools, make a model that fits the base body mesh, rig it to the armature from the template, and then export it as .fbx with options "Add Leaf Bones" unchecked and "Custom Properties" checked. Should be a fairly straightforward process now.

I also wrote a new import plugin for SR3\4 meshes for Blender, i'll test it a bit and hopefully upload it later today. With it, you should be able to import vanilla customization items, and edit and export them.
Ah alright it's just that A ) I have always primarly used Blender 2.79 since for me it's always been pretty straightforward and way less confusing and B ) I'm not exactly a pro at rigging armature regardless of what version of Blender I have been using hence why I mainly used Maya 2015 to do the rigging part since it did a lot of the work for me. This is probably a seriously stupid question but could you maybe, if you wanted and had the time/patience to spare, help walk me through the process so I could understand it a bit better. I'll be sure to take a ton of notes so that way I'll hopefully won't have to keep bugging you about. Hell maybe I could end up making a custom tutorial page and/or video on it as point of reference for anybody else who's been struggling with it. If not I totally understand cause I'll be the first to admit that I can be a bit dense at times when people are trying to explain things to me (Just ask Admixion and flow754 lmao).
 
I'm not the person to teach others how to rig models, there's plenty of much more experienced people than me doing that. Just search on youtube or something, there's a lot of tutorials.
But depending on what kind of a model it is, you may not even have to do anything manually. If it's a skintight outfit or something like that, you can simply copy bone weights from the template model, and it will probably work out just fine. There are multiple ways to do that, one way is to add a DataTransfer modifier to your mesh, select the template mesh as a source object, click "Generate Data Layers", then check "Vertex Data" and "Vertex Groups" underneath it, and then apply the modifier. That will generate a basic weight map, and depending on your goals, it may just be enough.

 
Now that we can export geometry and armature using Blender, there's still a bit of an issue with materials. In, Maya, if i recall correctly, a pattern map, which determines which customization color is applied to which part of the texture, went into "color" slot, whereas BSDF shader in Blender does not have such input, it only has diffuse. So if you try to export the item without a pattern map, or plug pattern map into the diffuse slot, your item will not be colorable.
However, there is a way to work around that. What i did is that i opened SaintsRow_FBX_Converter.py, searched for these lines:
Python:
if texture_filename:
    if texture_prop_name == 'DiffuseColor':
        new_mat.diffuse_map = texture_filename
    elif texture_prop_name == 'DiffuseFactor':
        new_mat.pattern_map = texture_filename
    elif texture_prop_name == 'SpecularColor':
        new_mat.specular_map = texture_filename
    elif texture_prop_name == 'NormalMap':
        new_mat.normal_map = texture_filename
    elif texture_prop_name == 'Bump':
        new_mat.normal_map = texture_filename
    elif texture_prop_name == 'AmbientColor':
        new_mat.sphere_map1 = texture_filename
    elif texture_prop_name == 'ReflectionColor':
        new_mat.sphere_map2 = texture_filename
    elif texture_prop_name == 'TransparentColor':
        new_mat.blend_map = texture_filename
    elif texture_prop_name == 'EmissiveColor':
        new_mat.glow_Mask_Map = texture_filename
Now Blender does export emission color node, so i edited the last line like so:
Python:
elif texture_prop_name == 'EmissiveColor':
    new_mat.pattern_map = texture_filename
And now before exporting the model, i simply plug the pattern map into the emission color node of the BSDF, and the converter will use it as a pattern map.
 
Now we only need is some tutorial about how modding using this plugin by either using Blender as base or any version of 3D Max, because it will make the Rebirth of the 3D Modding scene of Saints Row 3, 4 and maybe the one of Gat? I mean this could even create the chance to import stuff from the remake to the base game of both game without making look weird compared with the remake of the third.

I say the one of Gat, but to really know if it is possible to mod that game using the plugging. But man, this is the beginning of a golden age.
 
Back
Top