If you have played an FPS (first-person shooter) game before, you know for certain the one thing you will inadvertently look at the most is the game’s weapon arsenal. Of course, there is so much more to making a good FPS game than just having cool-looking weapons: gameplay, controls, worldbuilding, and stat balancing — to name a few important ones. But you have to admit, if the player is going to be having a weapon in their immediate field of view constantly, we want them to look awesome, right? If you have wanted to learn how to make FPS game animations, then look no further.
This tutorial will run you through the basics, providing step-by-step instructions on how to properly rig a weapon and animate it in Blender, an amazing open-source tool that is free to use. Let’s dive right in.
Getting Started: Grab a Weapon
First things first, you will need a weapon for this tutorial. Feel free to import one into Blender. We have tons of great options in our expansive 3D library. Simply import them into Blender using our Daz to Blender Bridge, a free tool that will seamlessly import your Daz files into Blender! If you would prefer, you can also look for a free-to-use model elsewhere, or, if you are up to the challenge, model your own.
This tutorial will teach you the basics of rigging and animating weapons. It will work with literally any gun. For demonstration purposes, I am using a model of an AR imported from Daz 3D. Whichever weapon type you choose, the principles you learn here will work just as well!
How to Rig a Weapon in Blender
If you aren’t familiar with the animation process, rigging is a crucial step in preparing a model to animate it. Rigging is the process of building a skeleton for your model. Each piece of the rig is like a bone in your body. They connect at hinges, allowing them to move and bend in realistic motion. While that anatomical metaphor works great in referencing humanoid animation, you may be confused about how that correlates to a weapon. Never fear, we will walk through every step of the process in detail so that you can follow along. The nice thing is, each bone doesn’t have to be directly touching each other at their hinges like bones in the human body do. This is perfect for rigging objects like weapons.
For this tutorial, I am using Blender 2.9, but this will work just the same in 2.8 as well. Go ahead and open your model in Blender. If you have never used Blender before, you may need a moment to orient yourself. We will be working in the Layout Tab of Blender.
We can work in several different modes in Blender. For this tutorial, we will be cycling through Object Mode, Edit Mode, and Pose Mode. It is important to be aware of which mode you are in, as different actions are only available within certain modes. For example, object mode is best for selecting objects, whereas in edit mode, you can manipulate and edit objects. Pose mode is how you can test your rig to make sure it is working properly. You can select the interaction mode you desire from the drop-down menu usually located in the top left or with the shortcut Tab Key. Use Ctrl + Tab to enter Pose Mode.
You are going to want to set your viewport so that you can examine the weapon from one side. Do this by clicking the Green Circle and Y in the viewport indicator located in the upper right.
Now, we are ready to start rigging! First, enter Object Mode if you are not currently in it. Press Shift + A to open a menu, and select Armature. This will create your first bone. It is probably oversized, and that is okay. First, navigate to the far right and locate the bone under your scene collection list. Select and rename it Root. Naming our bones will be important in a few steps, so you will want to do this correctly.
With the bone selected, press S, then move the mouse up or down to resize the bone. Use my picture below as a reference for proper sizing. Notice that the bone has a “hat” and “tail” with spheres at the top and bottom. These are the hinges or connecting points of the bone. Press G to change to the move tool, which will allow you to move the object along the X, Y, and Z axis. Make sure that the bone’s Y axis stays at zero, while you can move it freely along the X and Z axis. This is to ensure that the bones stay in line with the weapon.
Once you have the bone about in place, press Tab to switch to Edit Mode. Select the top “hat” of the bone with the mouse, then click G. Now, you can spin the angle of the bone. Drag the mouse to the right or left slightly until you angle the bone forward like my sample below. Click the Left Mouse Button when you are satisfied with the placement to set it in place.
You should size your root bone so that it pokes out from the gun, and angled about like this. This Root bone is going to serve as the main point around which the entire gun moves. If someone was holding the gun, this is true to the point at which the gun would move up and down as they moved their arm up and down.
Pro Tip: If you are having a hard time seeing the bone because it is disappearing inside the weapon model, go to the Armature Tab, select Viewport Display to reveal its drop-down options, then check In Front.
Now, let’s create the remaining bones. While in Edit Mode, select the Root bone, then press Shift + D to duplicate the bone. Using the same tools and controls, size and place this bone on the handle of your weapon so that it is touching the magazine. If you are using a Handgun model with a removable clip, or, in the case of a rifle like my sample, place the next bone over the magazine wherever it is located.
Repeat this process for every piece of your gun that you want to individually be able to move during the animation process. For me, this resulted in 3 additional bones, which I labeled: Mag, Trigger, and Action. Make sure that your bones follow this hierarchy and are properly named:
Here is a look at my rifle and how I positioned all of the bones that you can use as a reference for your own weapon.
Once you have placed all your bones and you have verified that each bone’s Y axis is still at exactly 0, we can start linking the bones so that they move together as a system. We do this by creating what we call a Parent. In Edit Mode select your magazine bone if you have one, then, holding Shift, select the Root bone. Please note, the order in which you select is very important. Blender is automatically going to associate the bone you select second as the parent bone. With both bones selected, in the proper order, press Ctrl + P to join the two bones. Be sure to select Keep Offset.
Repeat this step with every bone, conjoining each bone to the Root bone, with the Root bone set as the parent. Notice that a thin, black, dotted line connects the linked bones. When you finish, you will have a system that should resemble this:
Now, you could enter Pose Mode and start manipulating the bones, and if done properly, you should be able to move the whole system by moving the Root bone. However, you would notice that the weapon itself does not move. If you tested this, be sure to undo what you moved with Ctrl + Z to return the armature to its original place. I just wanted to explain how it works and help you understand the next step. Now we need to associate these bones with the model so that they actually move the model.
Switch to Object Mode. We are going to define the armature as a parent of the weapon. First, select the weapon object, then, while holding Shift, select the Armature. Press Ctrl + P to parent, and then select With Empty Groups. This will create what we call Vertex Groups for every bone. You can see these in the Data Tab on the right panel, pictured below. If you don’t see the Data Tab, be sure you are in object mode with your weapon object selected.
Now, we can select which parts of the model we want to associate with each bone within the Vertex Groups. First, select the Root Vertex Group, then select the entire weapon mesh. Deselect the trigger, mag, action, and any other part that you are associating with another bone beneath the Root bone by pressing Shift + L over that object. Then, under the Vertex Groups, click Assign.
Repeat this step for each additional bone by selecting the trigger, mag, action, etc., assigning it to the respectively named bone.
And there you have it! You have rigged your weapon. Now when you enter Pose Mode and select any bones, moving them around will manipulate the rig. Using the root bone will move the entire weapon.
How to Animate Your Weapon in Blender
Now that your weapon is properly rigged, it is time to learn how to make FPS game animations in Blender. Let’s go over a few big-picture elements. First, think in terms of the player. What parts of the weapon will the player see from their perspective? How can you portray dramatic movement with a few frames, when all the player can see is a weapon, hands, and forearms? How can you make something that looks cool, while also being conscious of not being too frame-heavy and slowing down your game’s performance?
With these in mind, a good place to start would be looking for references. Find a video or two of the weapon that you are working with, or something close to it. This can be tricky if you are working with sci-fi weapons that don’t necessarily have real-world counterparts. Is your weapon big and heavy? If so, try to convey that in your animations. You could do this by animating a bit of a “wind up” before moving the weapon into place. Think about when you lift something heavy, there is usually a moment of hesitation or strain as you heave the item before it actually moves. On the other hand, a lightweight weapon should snap into place quickly with ease and accuracy.
Another element you could blend into your animation is correlated with the firepower of your weapon. The stronger the weapon, the more likely it will kick in the hands of the user. Adding this detail will make the weapon feel so much more real to the player.
In Blender, go to the bottom of the editor, open a new window, and select Dope Sheet. Then, set the type as Action Editor. Open another window below that, and select the editor type as Timeline.
Now that we have that set up, enter Pose Mode by pressing Ctrl + Tab. In the Action Editor window, select Add to create a new Action. You can name that action to help stay organized. Be sure to have the blue marker on the first frame in the sequence (all the way to the left). Now, in Pose Mode, select the first bone that you want to animate and press the I key. Select Location. This will store the location information into Frame 1 for the selected bones. You can turn on the Auto Key feature, located along the top of the Timeline window so that every time you make a change to the bone’s position, it will automatically store that information in the current frame. Click the circular button to activate this feature.
Pro Tip: As you create your animation across the timeline, keep in mind that you can vary the speed at which an animation occurs by how many frames you use to convey that action. For example, if you want part of your animation to happen rapidly, then you would want to build that motion out of fewer frames and put those frames close together. You can have no change at all occur over a number of frames, on the other hand, to portray immobility in the animation.
You can see across the Action Editor the orange circles that represent each keyframe as we create them. My AR is fully automatic, so it shoots fairly rapidly and with a fair amount of kick. To simulate this, I am going to primarily use the Root bone so that the entire object moves. Select the Root bone and edit it slightly to raise the rifle up and back. It doesn’t need to buck like a horse, but I do want to convey a sense of power behind each shot!
Because this is an FPS animation, set up a camera behind and above the gun. It should be close enough that you feel as if you were holding the gun in a video game. Test your animation by pressing Play in the editor. From this perspective, you may realize your animations are too dramatic or not dramatic enough. Only you can be the judge of that.
To polish off my animation, I decided to have the AR start in more of a resting position, and then move into place as if I am looking down the sights. Then, as I pull the trigger, it starts to shoot and kick back. Take as much time as you want in this stage to make it entirely your own.
Learn 3D Modeling with Daz Studio
If you enjoyed this tutorial on how to make FPS Game Animations in Blender and want to keep learning about 3D modeling and animation, we would love for you to check out our free 3D software, Daz Studio. Daz Studio is a great way to learn and master principles of modeling, animating, lighting, and more.
Check out our expansive library for models, environments, and animations that could save you valuable time while vastly boosting the production value of your FPS game!
Check out the latest Blender Bridge update here. (Spoiler: It has everything to do with animations!)
Featured Image by sourpunk.