Insurgency: Sandstorm

Insurgency: Sandstorm

Create and share custom maps, gamemodes and mutators for Insurgency: Sandstorm.

Learn more and find the game on Steam, Homepage, New World Interactive, Community Discord.

Cosmetics/Weapons Rigging and Modding Guide

In this guide, you will be learning how to replace cosmetics, characters and weapons or anything related to skeletal meshes using Blender and Sandstorm Modding Tool (UE4). Note: This guide will not help you with learning how to use Sandstorm Modding Tool.

4 comments

Posted by on (updated ago)


The Tools To Get You Ready



modtools


Description: This tool contains everything related to Insurgency: Sandstorm modding project (SDK - Software Development Kit).



blender


Description: This tool is an open-source 3D computer graphics software used for creating animated films, visual effects, art, 3D printed models, motion graphics, interactive 3D applications, virtual reality, and computer games.



Your Target



Your target will be the skeletal mesh (SKM - FBX File) to replace it with your model in Blender.

It might be one of these examples:


  • Character: Bruiser

character

  • Cosmetic: Trackpants

cosmetic

  • Weapon: Pf940

weapon


Each one of these Skeletal Meshes (SKM) uses a skeleton that u will export to Blender.

Note: Skeleton (UE4) is called Armature in Blender. It is responsible for moving each part of your Skeletal Mesh.



Export [Sandstorm]



When you select one of the skeletal meshes, right click on it, and select > Asset Actions > Export

assetactions export


Your export settings should be similar to this image:

exportsettings


Exporting Vertex Color can mess up the Material Slots of the Skeletal Mesh you are exporting, as of my testing. You only export Vertex Color and Morph Targets if you know what you are doing.


Morph Targets are Shape-Keys in Blender, you can use them to get better results when bending bones (more realistic muscles) or make facial expressions+ etc.



Import [Blender]



A. Open Blender, and make sure your scene is completely empty.


outliner


B. Click on File > Import > FBX


blenderimport


C. Your import settings should be as follows:


blenderimportsettings


Remember: You can save this preset by clicking on the + icon next to Operator Presets on the top of Import settings. This way, you can easily select which preset you want to use when importing again from Unreal Engine 4.


Replacing Your Target



Once you have your Target Mesh imported, you can now start Importing your own Skeletal Mesh, and start aligning it to your Target Mesh.


aligning


Skeletal Mesh is aligned to Target Mesh but the pose is not. You can assign a bone to do that or select your mesh and go to Edit Mode to move the vertices (Dirty way).


Here's a Youtube Tutorial that will help you understand more about armatures and weight painting:


After you have your Skeletal Mesh perfectly aligned including pose to your Target Mesh, you can delete Target Mesh and keep it's Armature (Skeleton).


deletemesh



Click on your aligned Skeletal Mesh, and Hold Shift + Click on the Armature, then select Object > Parent > With Automatic Weights or (Ctrl + P to do this quickly).



parenttoarmature



In this process, you are trying to join your Skeletal Mesh with the Armature (Skeleton).

Parent with automatic weight means that Blender will try to generate weight paints for your mesh, so that the Armature (Skeleton) bones will move each part of your mesh properly similar to humans.

If your Skeletal Mesh is not properly aligned with the Armature, you will have issues like Bone Heat Generation Failure to one bone or other. Try aligning it properly or decimating it, search online on how to decimate. I will leave a useful video here:





Weight Painting



Weight Painting will influence each bone of your Armature to have movement control of your Skeletal Mesh. Since this can be very confusing, I will leave a Youtube video that can help you a lot, make sure to look for other Weight Painting tutorials as well.




There's one thing left, if you are getting issues with your Skeletal Mesh in Sandstorm. Remove all Vertex Groups with IK_ by selecting - icon to solve this problem.


vertexgroupsik 1


For weapons, it is the same except, you will only need to Parent with Armature Deform.

Vertex Group has to match the name of the bone in order to assign its weights into it.


You will need to select the vertices that belongs to the part of your weapon that you want to assign the Vertex Group to.

Select the vertices or part you want to assign the Vertex Group to. You press Ctrl and Numpad + to easily select the whole area, or CTRL + L to select all of the area at once.

Then, select the Vertex Group and click on Assign, make sure you have selected some part of your weapon before clicking on Assign.


assignvertexxx



Once you Assign it to that bone, it will automatically Weight Paint that part and Assign it to the Vertex Group you have selected.



After you understood Weight Painting, and finished working on your Skeletal Mesh, you can now export it back to Sandstorm!



Export [Blender]



  • Now, after you have done with Weight Painting, press A to select all objects or simply select your Skeletal Mesh + Armature (Skeleton).


  • Go to Edit > Export > FBX


exportblender


  • Make sure your export settings are like this:


blenderexportsettings



Import [Sandstorm]



  • Simply drag and drop the FBX file you have exported to Unreal Engine 4 [Sandstorm Modding Tool]


  • Select the appropriate Skeleton:

For Characters and Cosmetics, and 3P Weapons: SK_3P_Final

For 1P weapons, arms (First Person): SK_1P_Master

For Attachments: SK_1P_Attachment


You can configure your Import Settings to match your import preference, I use these settings for Characters (SK_3P_Final) :



importue4 01

importue4 02

importue4 03



Animations






For custom animations, you can use these settings, It will only export Armature (Animations).


screenshot 1675



Sandstorm is using IK to attach weapon/item to player, so make sure you add a bone constraint to the hand.

Example: Select b_root > Bone Name [ ik_hand_r ] should be constrained to b_ch_r_hand, this Ik is moving the right hand, it would be [ ik_hand_l ] for the left hand.

For third person it is the same, except you have IK for legs as well, so you have to do the same as well.

Note: Moving the hand while constrained to hand IK will also move the entire arm including Upperarm and forearm [Inverse kinematics]




Bone Constraint Video





Conclusion



Woah, that was a lot? I'm sure it wasn't :D


Now you should have an idea of how all of this works. Thank you for taking your time to read this guide. Have a good day!


Oh, I forgot to say this, you can leave some comments so I can help you when I have time (0)w(0)

4 comments

Join the community or sign in with your gaming account to join the conversation:

WintorOperator
WintorOperator @wintoroperator

Does this mean...we can have w̶a̶i̶f̶u̶s̶ in Sandstorm?

WintorOperator
WintorOperator @wintoroperator

No piece of documentation ever taught us this stuff so you are doing a massive service to the community by making this guide. Thank you Snakey ❤️.

Snakeyio
Snakeyio @snakeyio

:D

CrazTheKing
CrazTheKing @craztheking

The hero we never deserved.