FPS Skinned Rig Management?

Hey there!

I’m using skinned rigs (bones) for a game I’m working on. The problem is that we have around 15 guns and cannot make rigs for each of the guns, so I’m trying to find a more simple method of implementing this.

Method 1 : I thought of using bone constraints to join the gun model and the character (for reference) in blender so the animators can work well, and then export that as an fbx, and play it on a character rig with the gun model welded.

Pros: Solves the huge number of rigs problem
Cons: Aren’t easy to work with for non-Blender animators, and no independence is given to the weapon itself as it is welded and not joint with 6D Joints. So animations like tossing of knife and stuff is impossible.

Method 2 : Replacement Method. I could have two objects in blender, one as the dummy weapon object, and the character mesh rigged together through bones, which imports in Roblox Studio as separated objects. Here, the dummy gun object’s CFrame can be used to switch with the actual model (this method requires that all the weapons in a group for example smg, assult rifle, rocket launcher, are held at the same point, and their animations differentiating them).

Pros: Solves the huge number of rigs problem, complete control of weapon objects
Cons: If an accelerated motion is acting on the character mesh, you’d have to switch characters everytime a player changes character. This can lead to physics problems and causes glitches along with breaking the path of motion the previous character rig was going through. For example, if a character jumps, and while jump immediately changes their weapon, then the new character will start with 0 upward velocity. Even if I manage to give it the amount of velocity the previous character had, it wouldn’t match the initial path of motion.

If you geniuses have any other great ideas or even any suggestions, pleas tell :smiley:

EDIT: no answers :frowning:

EDIT2:

So I experimented a little more, and found out that if you use method 2, you HAVE to use AnimationControllers on it and that Humanoids cannot be used. This is a huge huge huge problem because now the basic character movement cannot be implemented! Does anyone have any fixes for this?

3 Likes

FINAL EDIT:

This post has been getting a lot of reads recently. Please note that now RodConstraints exist, and this idea is obselete.

Use RodConstraints on Attachments to join them. In this case, Bones instead of Attachments.

Thank you!