FPSで武器を切り替えられる機能を実装したい。
でも、「どうやって管理すればいいのか分からない」そんな風に感じていませんか。
実は、武器の切り替えは、武器リストとインデックス管理を組み合わせることで実現できます。
Unityを使えば、初心者でも武器切り替えシステムを作ることができるでしょう。
この記事では、武器を切り替えられるFPSを作る方法を、コピペで動くサンプルコードとともに詳しく解説します。
✨ この記事でわかること
- 武器切り替えの基本的な仕組み(所要30分)
- 武器リストと管理構造の実装方法(所要1時間)
- 切り替え処理とアニメーション連動(所要1時間)
- FPS武器切り替えでよくあるエラー5選と解決方法
- 実用的な武器切り替えシステム完成までの4ステップ(合計4時間)

最初は2つの武器から始めて、徐々に武器数を増やすのがコツです。管理構造を理解することが重要です。
\あなたにピッタリのFPS・TPSゲーム制作講座を見つけよう!/
おすすめ第1位
Unity FPSゲームの
作り方講座
FPS・スマホ・VRの3プラットフォームに同時対応。1本作るだけで3つのゲームが完成する圧倒的な開発体験が魅力の講座です。
初心者にもおすすめ
Unity ノンフィールドRPG
+スレスパ風JRPG講座
Unity6対応・スマホ化対応の三拍子。トレンドのデッキ構築型システムを最速で実装できます。初心者が最初に学ぶ一本として最適です。
会話システムも学べる
Unity ノベルゲームの
作り方講座
かまいたちの夜・ダンガンロンパ風のノベルゲームをゼロから開発。会話システム・シナリオ分岐・セーブ機能まで、他ジャンルにも応用できるUIスキルが身につきます。
あなたのオリジナルゲーム、今年こそ完成させませんか?
RPG・アクション・ホラー…Unityで本格ゲームを作りたい人のための学習サイトです。
実際に完成するゲームを題材に、
ソースコード・素材・プロジェクト一式をすべて公開。
仕事や学校の合間の1〜2時間でも、
「写経→改造」で自分のゲームまで作りきれる環境です。
武器切り替えとは?基礎知識から理解する

武器切り替えとは、プレイヤーが複数の武器を持ち、切り替えて使用するシステムのことです。
FPSゲームでは一般的な機能でしょう。
武器切り替えには、武器リストの管理と切替処理が重要になります。
武器をリストで管理し、インデックスで現在の武器を追跡します。
切り替え時に、現在の武器を非表示にして、次の武器を表示します。
武器切り替えに必要な要素
✅ 武器切り替えに必要な要素
- 武器リスト:所有している武器を管理するリスト(所要時間:30分)
- 現在の武器インデックス:現在使用中の武器を追跡する変数(所要時間:15分)
- 切り替え処理:武器を切り替える処理(所要時間:1時間)
- 切り替えアニメーション:武器切り替え時のアニメーション(所要時間:1時間)
武器リストと管理構造の実装方法

武器リストと管理構造を実装する方法を解説します。
ここでは、コピペで動くサンプルコードを紹介します。
実装手順:基本的な武器切り替えシステムを作る
ステップ1:武器管理スクリプトの作成(所要30分)
以下のコードで、武器の切り替えを実装できます。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
using UnityEngine; using System.Collections.Generic; public class WeaponManager : MonoBehaviour { [SerializeField] private List weapons = new List(); [SerializeField] private int currentWeaponIndex = 0; void Start() { // 最初の武器を表示 SwitchWeapon(0); } void Update() { // 数字キーで武器切り替え if (Input.GetKeyDown(KeyCode.Alpha1)) { SwitchWeapon(0); } else if (Input.GetKeyDown(KeyCode.Alpha2)) { SwitchWeapon(1); } else if (Input.GetKeyDown(KeyCode.Alpha3)) { SwitchWeapon(2); } // マウスホイールで武器切り替え float scroll = Input.GetAxis("Mouse ScrollWheel"); if (scroll > 0f) { NextWeapon(); } else if (scroll < 0f) { PreviousWeapon(); } } void SwitchWeapon(int index) { if (index < 0 || index >= weapons.Count) return; // 現在の武器を非表示 weapons[currentWeaponIndex].SetActive(false); // 新しい武器を表示 currentWeaponIndex = index; weapons[currentWeaponIndex].SetActive(true); } void NextWeapon() { int nextIndex = (currentWeaponIndex + 1) % weapons.Count; SwitchWeapon(nextIndex); } void PreviousWeapon() { int prevIndex = (currentWeaponIndex - 1 + weapons.Count) % weapons.Count; SwitchWeapon(prevIndex); } } |
配置場所:Playerオブジェクトにアタッチ
確認方法:再生ボタンを押して、数字キーやマウスホイールで武器が切り替わればOK
⚠️ よくあるエラー
- 武器が切り替わらない → weaponsリストに武器が追加されているか確認
- インデックスが範囲外 → SwitchWeapon()の範囲チェックを確認
- 複数の武器が表示される → 切り替え時に前の武器を非表示にする処理を確認
切り替え処理とアニメーション連動

切り替え処理とアニメーション連動を解説します。
自然な武器切り替えを実現するためのポイントです。
切り替えアニメーションの実装
武器切り替え時にアニメーションを再生することで、自然な動作を演出できます。
Animatorコンポーネントを使い、切り替えアニメーションを設定します。
アニメーションイベントを使って、アニメーションの特定のタイミングで武器を切り替えることもできます。
切り替え時間の管理
武器切り替えには、一定の時間がかかることが一般的です。
切り替え中は、発射やリロードなどの操作を無効化します。
isSwitchingフラグを使って、切り替え中かどうかを管理しましょう。
FPS武器切り替えでよくある失敗5選と解決方法

FPS武器切り替えを実装する際、初心者が陥りやすい失敗があります。
ここでは、5つのよくある失敗と解決方法を紹介します。
失敗1:武器が切り替わらない
❌ よくある失敗
- weaponsリストに武器が追加されていない
- SwitchWeapon()が正しく呼び出されていない
- 武器オブジェクトが正しく参照されていない
✅ 正しいアプローチ
- Inspectorでweaponsリストに武器を追加する
- 入力処理が正しく動作しているか確認する
- 武器オブジェクトの参照が正しいか確認する
失敗2:複数の武器が同時に表示される
解決方法:
- 切り替え時に、前の武器を必ず非表示にする
- Start関数で、最初に1つの武器だけを表示する
- 全ての武器を非表示にしてから、現在の武器だけを表示する
実用的な武器切り替えシステム完成までの4ステップ

- STEP1武器リストの作成(所要30分)
所有している武器をリストで管理する。
学べること:Listの使い方、オブジェクト管理
成果物:武器リストが作成されたシステム
- STEP2基本的な切り替え処理(所要1時間)
武器を切り替える処理を実装する。
学べること:切り替え処理、インデックス管理
成果物:武器を切り替えられるシステム
- STEP3入力処理の追加(所要1時間)
数字キーやマウスホイールで武器を切り替える処理を追加する。
学べること:入力処理、イベント処理
成果物:入力で武器を切り替えられるシステム
- STEP4切り替えアニメーション(所要1時間)
武器切り替え時のアニメーションを追加する。
学べること:アニメーション、Animator
成果物:実用的な武器切り替えシステム
合計4時間で、実用的な武器切り替えシステムが完成します。
FPS・TPSゲームを作りたいなら!Unity入門の森の講座で本格3Dゲーム開発に挑戦しよう
Unity入門の森には、FPS・VR・スマホ対応など幅広いプラットフォームに対応した3Dゲーム制作講座が揃っています。作りたいゲームや目標スキルに合わせて選んでみてください。
Unity FPSゲームの作り方講座【全17回!FPS・VR・スマホの3プラットフォームを同時に作れる!】

- APEX・バトルフィールド風のFPSゲームをゼロから開発
- FPS・スマホ・VRの3プラットフォームに同時対応
- 書籍では学べないVR対応弓矢FPSのオリジナリティ高い開発手法
- 地上・空中の敵AIや弓矢チャージショットなど本格システムを実装
- 初心者でも安心の丁寧な解説と完成プロジェクトファイル付き
Unity FPSゲームの作り方講座は、APEX・バトルフィールド・Call of Dutyのような一人称視点のFPSゲームを作るための講座です。
弓矢を使ったオリジナリティの高いFPSをベースに、PC・スマホ・VRの3プラットフォームに同時対応した開発手法を全17回で習得できます。VR空間で弓を構えて矢を射るという高度なアクションの実装まで、書籍では学べないスキルが身につきます。
1本の講座でFPS・スマホ・VRを同時に作れるのはこの講座ならでは。3Dゲーム開発の幅を一気に広げたい方にもおすすめです。
FPS・スマホ・VRの3プラットフォームを同時に完成させる
1本作るだけで3つのゲームが完成する圧倒的な開発体験を手に入れよう
→ Unity FPSゲームの作り方講座を見てみる
書籍では学べないVR対応FPSで、一歩先の3Dゲーム開発スキルを今すぐ!
Unity ノンフィールドRPG+スレスパ風JRPG講座【Unity6対応!デッキ構築×JRPGをスマホ向けに作れる!】

- Unity6対応・スマホ化対応で最新環境のゲーム開発が学べる
- Slay the Spire風のデッキ構築システム×JRPGの組み合わせを実装
- 初心者でも取り組みやすい丁寧な解説構成
- ノンフィールドRPGとデッキ構築JRPGの2つを合わせて学ぶのがおすすめ
Unity ノンフィールドRPGの作り方講座+Slay the Spire風デッキ構築JRPGの作り方講座は、今もっともトレンドのデッキ構築型ゲームシステムをJRPGと組み合わせて実装する方法を学べる講座です。
Unity6対応・スマホ化対応の最新カリキュラムで、デッキ構築の核となるシステムをしっかり習得できます。FPSで培った3D開発の知識と組み合わせることで、ゲーム開発の幅がさらに広がります。
「Slay the Spireみたいなゲームを自分でも作ってみたい!」という人の最初の一歩として最適な講座です。
Unity6対応・スマホ化対応の最新カリキュラム
トレンドのデッキ構築×JRPGを最速で実装しよう
→ Slay the Spire風デッキ構築JRPG講座を見てみる
スマホ対応の最新環境で、ゲーム開発の第一歩を踏み出そう!
Unity ノベルゲームの作り方講座【全14回!会話システムからシナリオ分岐まで他ジャンルにも応用できるUIスキルが身につく!】

- かまいたちの夜・ダンガンロンパ・逆転裁判風のゲームをゼロから開発
- テキスト文字送り・選択肢・シナリオ分岐・セーブまで完全実装
- Googleスプレッドシートを使ったシナリオ管理システムを習得
- 会話システム・UI遷移は他ジャンルのゲームにも応用可能
- 初心者から上級者まで対応の丁寧な解説とソースコード付き
Unity ノベルゲームの作り方講座は、かまいたちの夜・ひぐらしのなく頃に・ダンガンロンパ・逆転裁判のようなテキスト主体のゲームを作るための講座です。
会話システム・シナリオ分岐・セーブ機能はもちろん、UniTaskを用いた非同期処理やGoogleスプレッドシートを使ったシナリオ管理など、中・上級者のスキルアップにも直結する実践的な開発テクニックが身につきます。
ノベルゲームに限らず、会話システムやUI遷移はあらゆるジャンルに使える汎用スキル。FPS開発と組み合わせてゲーム開発の引き出しをさらに広げたい人におすすめです。
会話システム・シナリオ分岐・セーブまで完全実装
ノベルゲームで身につくUIスキルは全ジャンルの武器になる
→ Unity ノベルゲームの作り方講座を見てみる
汎用性の高いUIスキルを今すぐ習得して開発の幅を広げよう!
まとめ

武器切り替えは、武器リストとインデックス管理を組み合わせることで実現できます。
Unityを使えば、初心者でも武器切り替えシステムを作ることができるでしょう。
✅ 記事の要点まとめ
- 武器切り替えの仕組み:武器リストとインデックス管理
- 管理構造:Listを使った武器管理
- 切り替え処理:武器の表示・非表示の切り替え
- 入力処理:数字キーやマウスホイールでの切り替え
- よくある失敗5選:武器が切り替わらない、複数表示されるなど
- 実用的なシステム:4ステップで完成(合計4時間)
今日から始める3ステップ:
- STEP1:武器リストの作成(所要30分)
- STEP2:基本的な切り替え処理(所要1時間)
- STEP3:入力処理の追加(所要1時間)
あなたのペースで、少しずつ進めていけば大丈夫です。
あなたのオリジナルゲーム、今年こそ完成させませんか?
RPG・アクション・ホラー…Unityで本格ゲームを作りたい人のための学習サイトです。
実際に完成するゲームを題材に、
ソースコード・素材・プロジェクト一式をすべて公開。
仕事や学校の合間の1〜2時間でも、
「写経→改造」で自分のゲームまで作りきれる環境です。





コメント