Blender 2.8 View Model Tutorial (FPS ARMS)

So for the past month, I have been trying to learn how to animate first person shooters. Basically, if you have ever played a first person shooter, such as Arsenal or Phantom Forces, you would notice that they have arms, guns and animations, all that sort of stuff.

Well, I’ve spent months trying to perfect it and learn it. I have watched every tutorial online that people can provide. I found Falco Blockland’s tutorial and it was all useful but it was lacking some information, some very important informations. I then went on and watched a 3 hour video of someone animating their own weapon within blender. I carefully watched the rigging part and the rig rebuilding inside of blender itself. I’m here today to teach you how to do this because I don’t want anyone having to spend months trying to figure it out to just find things not understandable.

▬▬▬▬▬▬▬▬▬▬▬▬RIG MODELING▬▬▬▬▬▬▬▬▬▬▬▬▬▬

If you already have one, feel free to skip. Or you could get this model instead if you don’t feel like learning how to make a weapon rig:
WeaponRigModel: WeaponRig - Roblox

Making the Weapon Rig

So firstly, one thing that was lacking from Falco’s tutorial is that he never showed us how to get or make a weapon rig. I will provide you a weapon rig but if you want to make your own, here’s how:

Open up blender and delete their preset stuff. Go ahead and add in a cube and make it as long as you want, not too long, about the average size of an arm.

Example

Steps:

  1. To add in an object, press: Shift + A (Mac AND Windows)
  2. Select "Cube"
  3. Pressing “S” will allow you to scale your part
  4. Pressing “S” and “x”, “y”, or “z” will allow you to move it on that axis. For my example, I pressed “S + X” to move it in the X-axis.

Next up, we will make it smoother. Currently it has harsh edges. In order to do this, we will bevel the edges.

Example

Steps:

  1. To enter edit mode, press the tab button on your keyboard.
  2. Pressing 2 will allow you to select the edges of the block.
  3. Select the four edges on the long end.
  4. Pressing “Ctrl + B” (CMD + B for macs).
  5. Drag with your mouse and it will bevel your edge. Make sure to not make it too much. Keep it minimal.
  6. Pressing “Left Click” to confirm edit. Pressing “Right Click” will revert the changes.

Moving on, we will now round out the edges of the ends. This is as simple as the last step.

Example

Steps:

  1. Once again, go into edit mode by pressing tab.
  2. Pressing 3 will allow you to select the block’s faces.
  3. Press one of the faces.
  4. Press “E” to extrude the face.
  5. Using your mouse, extrude it outward. Make sure to not go too big with it.
  6. Press “Left Click” once you have decided how big you want it. Pressing “Right Click” will revert the changes.
  7. From here, you press “S” to scale it smaller. It should push all edges in and make a smooth edge.
  8. Repeat steps 3-7 on the other face.

That’s about it for the modeling of the rig’s arm. DO NOT DUPLICATE THIS AND ADD ANOTHER ARM! This is just for easy fixes.

In order to import this into ROBLOX, go ahead and download this plugin made by @ForyxeV: Easy Mesh Importer - Roblox

This just helps make it easier for us both. You can always import it with ROBLOX’s mesh part but, I find that annoying.

Heading back to blender, go into:
File > Export > FBX (.fbx) > Wherever you’d want to save it.

Now we move to ROBLOX studio and import it. Firstly, make sure you installed that plugin which will make life 10x easier.

Example

Steps:

  1. Go into Plugin tab
  2. Select Mesh Importer and find your file.
  3. It will end up spawning in very big, you can easily scale it down to your preferred size.

Once you have your arm small enough to your liking, you will now duplicate it and put it side by side. Name one “Left Arm” and the other “Right Arm”.

Duplicating

After that, group both arms together and add in a part and name it “HumanoidRootPart” and position it in the middle of the arms in the far back.

HumanoidRootPart

Make the HumanoidRootPart the model’s PrimaryPart.

PrimaryPart

This next map is optional but, add a Camera Part, this is just to help position your camera easier later on inside of blender.

Camera Part

Our next step might be a little confusing but I’ll make it easier to understand. Basically, we will now be rigging the model up so that we can move limbs later on. In order to do this, you will require another plugin by Archy_Mage:
RigEdit Lite: RigEdit Lite - Roblox

Rigging The Model

Steps:

  1. Select the model
  2. Go into the “Plugin” tab and select "RigEdit Lite"
  3. Go into “Workspace” and select "HumanoidRootPart"
  4. While selecting “HumanoidRootPart”, select one of the arms. You can select them both too. Press "Create Joints"
  5. Move both joints 2 studs to the front. This will later on put ease on rotating your animation’s arms.
  6. Create another joint for the “Camera” part also.

Make sure to add a “Humanoid” into your weapon rig model.

Humanoid

That’s it for making the weapon rig model!

▬▬▬▬▬▬▬▬▬▬▬▬GUN RIGGING▬▬▬▬▬▬▬▬▬▬▬▬▬▬

In order to rig a gun, you must first get a gun. For this example, I will do a simple pistol that I modeled a while ago.

You can start by positioning your gun somewhere close to your dominate arm. Basically the arm that will be mainly holding the gun. Mine will be the “Right Arm”. Move the gun model into your rig after you’re done with that.

Positioning and Moving Gun

To continue, you will now create welding parts for your weapons. Basically:

Welding Parts

Make sure to name the parts according to their appropriate positions. Make sure to also name your guns according to what they are. If it’s a MAG, name it MAG.

Naming

That should be it to setting up the gun itself for rigging.

After this, open up the “RigEdit Lite” again and begin rigging your gun to your rig. Firstly, weld both your “Weld Parts” and “Main Parts” together:

Welding Parts Together

If your gun has multiple parts, be sure to weld whatever it is together. If your gun, for example, has a silencer, weld it together as if it was also part of the Base.

One final thing to do is to create joints for the “Weld Parts” to the “HumanoidRootPart” Be sure to select the HumanoidRootPart first then the weld parts.

That’s all it is for rigging the gun up to the weapon rig itself.

Our next step is to move it to blender.

▬▬▬▬▬▬▬▬▬▬▬▬MOVING RIG TO BLENDER▬▬▬▬▬▬▬▬▬▬▬▬▬▬

Yet again, we need another plugin to help assist us in this. Get this plugin by @Den_S:
Blender rig exporter/animation importer: Blender rig exporter/animation importer - Roblox

The first thing we must do is get a blender add-on that will allow us to move this rig into blender. Head over to @Den_S’s DevForums post: Blender rig exporter/animation importer

Go into it and find the paste bin for the script. He provided 2 versions, blender 2.8 and blender 2.79. I recommend using blender 2.8 for this. Anyways, go into the pastebin and save that entire thing as a .py file. (Weaponrig.py)

Head into blender and select:
Edit > Preferences > Add-ons > Install > Wherever your file is located > Install Add-on and make sure it’s turned on. It’s called Animation: Rbx Animations

Installing Add-on

Now that you have this plugin and add-on, we can now proceed onto importing the weapon rig into blender. But first, make sure everything is unanchored except for the "HumanoidRootPart"

To import it into blender, do the following:

  1. Go into ROBLOX Studio
  2. Open up the Plugin tab and select “Blender rig ex’ / animation imp’”.
  3. Once you press it, it should ask you to select a rig. Select the rig we just made.
  4. Due to the nature of blender, its orgin point is the same as ROBLOX’s orgin, (0,0,0). We would want the model to be in the center of everything so we won’t have to go searching for it. Change your “HumanoidRootPart” position to (0,0,0) and move the entire model up a bit.
  5. Select the entire model and press "Export Rig"
  6. Save it wherever you want so you can easily find it.
  7. Press “Clean Meta Parts” to clear the extra parts the plugin added.
  8. Head into blender and do the following:
    File > Import > Rbx Animation | Rig Import > Find where you saved your rig > Import Rig Data
  9. It should appear right in the center of blender. If not, you probably didn’t change its position.
Getting the model right in ROBLOX STUDIO

Importing it into BLENDER

So far, the model should be inside of blender. Notice how you can’t really do anything yet. That is because the rig isn’t inside blender yet. In order for it to appear, you have to rebuild the rig itself. To do this:

  1. Go to the right side and open up the… side bar? I don’t know what it’s called (video below).
  2. Locate “Rbx Animations” and press it.
  3. Press on "Rebuild Rig"
  4. Open the drop down menu and press "Node Only"
  5. Press "OK"
Rebuilding Rig

The rig should now appear on screen. Though, it is not yet completed. There are a few things we have to do before continuing onto animating it. We have to connect the MAG and SLIDER to the MAIN part of the gun itself and connect the arm to the gun too. In order to do this we must:

  1. Select the rigs, aka the bones that are there.
  2. Go into “Pose Mode” by going to the top left and changing from “Object Mode” to “Pose Mode”.
  3. The bones should be named like how it was when we did it in studio. Select the “MAG” bone and go to the right side and click on "Bone Constraint Properties"
  4. Press "Add Bone Constraint"
  5. Press "Child Of"
  6. Set it’s target to the RIG and set its bone to the BASE of the weapon.
  7. Press “Set Inverse” to bring it back to where it originally was.

Now if you move the “MAIN” bone, it should also take the “MAG” bone with it too along with the thing that is the child of it. Repeat the steps for the “SLIDER” bone also:

  1. Select the rigs, aka the bones that are there.
  2. Go into “Pose Mode” by going to the top left and changing from “Object Mode” to “Pose Mode”.
  3. The bones should be named like how it was when we did it in studio. Select the “SLIDER” bone and go to the right side and click on "Bone Constraint Properties"
  4. Press "Add Bone Constraint"
  5. Press "Child Of"
  6. Set it’s target to the RIG and set its bone to the BASE of the weapon.
  7. Press “Set Inverse” to bring it back to where it originally was.

If you did it correctly, the “MAIN” bone should now move both the “MAG” and “SLIDER” with it also.

Connecting The Weapon Together


Do the same with: "SLIDER"

Next up, we will need to connect the RIGHT ARM to the gun as well. If your gun will be located on the left arm, connect the gun with the left arm. If it’s a dual weapon, connect them accordingly.

Firstly, move your weapon to where you want it to be. Pressing “G” would allow you to move it around. Pressing “G” with “x, y, or z” would move it in that axis.

Moving Gun Model

In order to connect the arm to the weapon:

  1. Go into “Pose Mode”.
  2. Select the “RIGHT ARM” bone.
  3. Go to the right side and click on "Bone Constraint Properties"
  4. Press "Add Bone Constraint"
  5. Press "Child Of"
  6. Set it’s target to the RIG and set its bone to the BASE of the weapon.
  7. Press “Set Inverse” to bring it back to where it originally was.
Connecting Arm to Gun

When you rotate the “BASE” bone, it should also take the “RIGHT ARM” with it also. That’s really it for rigging up the bones and gun. Next up is the camera, this is so you can see how it would look like when you’re animating.

To add a camera to the thing, do the following:

  1. Get out of "Pose Mode"
  2. Press SHIFT + A and add in a "Camera"
  3. Go to the sidebar and change its rotation to 0,0,0.
  4. Press R + X to rotate it on the X-axis and type in 90. This will rotate it 90 degrees on the X-axis.
  5. Press G + Z to move it on the Z-axis upward. Position it on the “Camera” bone.
  6. These next part are completely optional but I like to connect the camera to the Camera bone itself. Selecting the camera and putting a “Child Of” constraint on it and parenting it to the “Camera” bone will cause it to move when I rotate the “Camera” bone.
Positioning Camera 1 of 2

Positioning Camera 2 of 2

Now that we got that, you can press Numpad 0 to go into the camera. If your keyboard doesn’t have a numpad, go on top and press:
View > Cameras > Active Camera

No Numpad Solution

One last thing, select the “Camera” and go into the “Camera Setting” on the right side at the bottom. Change “Lens Unit” to “Field of View” and change “Field of View” to a value to where it can show your animation’s arm.

Camera Viewport

So, now that we got that, you can finally start animating. If you don’t know how to animate in blender, I’ll teach you the basics.

▬▬▬▬▬▬▬▬▬▬▬▬BASIC BLENDER ANIMATION▬▬▬▬▬▬▬▬▬▬▬▬▬▬

If you already know how to animate, feel free to start animating it! I wish you best of luck.

Blender Animation Tips and Help

So firstly, blender automatically smooth out most of your keyframes. You can manipulate it though, there is a “Interpolation Mode” for you to play with.

Your animating layout may be different than mine but put it to where it fits your style. Make sure you’re in pose mode when you are animating this so that you can select the bones.

So, blender has auto key framing, which puts down a keyframe whenever you move a limb.

Auto Key-framing

Auto key-framing can speed up your workflow amazingly. If you can, add another window and put one for timeline and one for graph editing. Graph editing can allow you to smooth some parts down and interpolate it however you want.

Selecting multiple limbs will add keyframes on all of them. When animating, make sure to not only stay inside the camera view but rather exit it sometimes to rotate the things correctly and position them correctly.

To review your animation, press spacebar. Your best chance of having the perfect animation is to spend time on it and go frame by frame sometimes to check if something is out of place.

I really don’t know what else to tell you about the blender animation thing because it’s very straight forward. If you have any questions about it at all, let me know!

▬▬▬▬▬▬▬▬▬▬▬▬IMPORTING ANIMATION INTO ROBLOX▬▬▬▬▬▬▬▬▬▬▬▬▬▬

After you’ve gotten your animation down and you like it a lot, you may want to export it and import it into ROBLOX to see how it looks. I had problems with this where you have the data and insert it into a script but it won’t load, simply just make a new place and load in the rig again and import the animation again.

So in order to import your blender animation into ROBLOX, do the following:

  1. Go to the sidebar of BLENDER
  2. Select "Rbx Animation"
  3. Press “Export Animation”. This should give you some script data.
  4. Head back into ROBLOX STUDIO
  5. If the blender plugin is still open, press "Import Animation"
  6. Press CTRL + V (CMD + V for Macs). Your animation should now play.
Blender Animation Import to ROBLOX 1 of 2

Blender Animation Import to ROBLOX 2 of 2

In the blender plugin, there is a “Upload Animation to ROBLOX” option, it just saves your animation to the ROBLOX website.

Thank you so much for reading! I hope I was able to help you out because this honestly took me too long to understand.


If you want me to animate anything for you, here’s the link to my portfolio.
:link: : [ Animation Requests Open ] Aekume ( USD )

Please look at the name to see if it’s open or not.


Was this helpful? If not, pleases let me know what I can add on! Or improve on! Thank you :heart:

  • Yes
  • No

0 voters

Until then, yours truly,

  • aekume
187 Likes

Thank you for making such a detailed, well-organized tutorial. This is the best guide I’ve seen on first-person animations, and seriously, great job. This will for sure help so many people. (Including a Newbie like me). Keep up the great work!

14 Likes

I’m glad I can help! Thanks for the feedback! :heart:

13 Likes

This is nice. I really like this tutorial. you get the dog stamp.

15 Likes

Wow!! I really wanted to learn how to do this, thanks so much! I’m gonna use this for sure

5 Likes

Really good job with covering everything, man- I’ll for sure be using this! :ok_hand:

5 Likes

Just letting you know that you did a very good job with this tutorial
here was my animations for it, not-so-very-good but it works lolll :sunglasses:

17 Likes

I like the camera shake, that’s one thing I don’t know how to import into Roblox Studio yet lol

Good animation though! :+1:

4 Likes

Really great, well made tutorial! Thanks for putting so much effort into it, it’s probably the best guide right now for first person arms. Good job and keep it up! :+1:

2 Likes

OH i used moon animator to import the camera!
i used attachtopart and made it attached to the camerapart o_O

3 Likes

I want to look further into this tomorrow; but before I do I want to know if this would work with a Third-Person-Shooter?

I’m not sure but you could rig a gun into the NPC and import it into blender, I’ll get back with you if I figure out how.

Feel free to find out yourself though! It’s good to try things sometimes. :heart:

2 Likes

Okay yeah, all you have to do is put the gun model into the NPC and create joints from the HumanoidRootPart to the parts, like how it was shown above.

If you need extra help, I’ll make a forum on it, just let me know!

Thank you. I will look into this in around 8 hours when I have the time.

2 Likes

I’m having issues getting the gun bones to work, do you have a blender model I can use with the bones working? I’d really appreciate it :smiley:

Can you show me how you rigged it?

I ended up closing the studio file, but i welded the parts to the gun, then welded the parts to the HumanoidRootPart. I can probably recreate it all if you’d like

Blender Animation Rig:
rig.obj (784.5 KB)

Yeah recreate it if you can. I don’t know where you messed up on.

1 Like

I’ll try tomorrow :+1: Hopefully I can fix it, I’ll also try a different gun model I made to see if that was causing issues