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

最初は2つの武器から始めて、徐々に武器数を増やすのがコツです。管理構造を理解することが重要です。
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる
あなたのオリジナルゲーム、今年こそ完成させませんか?
RPG・アクション・ホラー…Unityで本格ゲームを作りたい人のための学習サイトです。
実際に完成するゲームを題材に、
ソースコード・素材・プロジェクト一式をすべて公開。
仕事や学校の合間の1〜2時間でも、
「写経→改造」で自分のゲームまで作りきれる環境です。
武器切り替えとは?基礎知識から理解する

武器切り替えとは、プレイヤーが複数の武器を持ち、切り替えて使用するシステムのことです。
FPSゲームでは一般的な機能でしょう。
武器切り替えには、武器リストの管理と切替処理が重要になります。
武器をリストで管理し、インデックスで現在の武器を追跡します。
切り替え時に、現在の武器を非表示にして、次の武器を表示します。
武器切り替えに必要な要素
✅ 武器切り替えに必要な要素
- 武器リスト:所有している武器を管理するリスト(所要時間:30分)
- 現在の武器インデックス:現在使用中の武器を追跡する変数(所要時間:15分)
- 切り替え処理:武器を切り替える処理(所要時間:1時間)
- 切り替えアニメーション:武器切り替え時のアニメーション(所要時間:1時間)
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる
武器リストと管理構造の実装方法

武器リストと管理構造を実装する方法を解説します。
ここでは、コピペで動くサンプルコードを紹介します。
実装手順:基本的な武器切り替えシステムを作る
ステップ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()の範囲チェックを確認
- 複数の武器が表示される → 切り替え時に前の武器を非表示にする処理を確認
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる
切り替え処理とアニメーション連動

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

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

- STEP1武器リストの作成(所要30分)
所有している武器をリストで管理する。
学べること:Listの使い方、オブジェクト管理
成果物:武器リストが作成されたシステム
- STEP2基本的な切り替え処理(所要1時間)
武器を切り替える処理を実装する。
学べること:切り替え処理、インデックス管理
成果物:武器を切り替えられるシステム
- STEP3入力処理の追加(所要1時間)
数字キーやマウスホイールで武器を切り替える処理を追加する。
学べること:入力処理、イベント処理
成果物:入力で武器を切り替えられるシステム
- STEP4切り替えアニメーション(所要1時間)
武器切り替え時のアニメーションを追加する。
学べること:アニメーション、Animator
成果物:実用的な武器切り替えシステム
合計4時間で、実用的な武器切り替えシステムが完成します。
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる
あなたのオリジナルゲーム、今年こそ完成させませんか?
RPG・アクション・ホラー…Unityで本格ゲームを作りたい人のための学習サイトです。
実際に完成するゲームを題材に、
ソースコード・素材・プロジェクト一式をすべて公開。
仕事や学校の合間の1〜2時間でも、
「写経→改造」で自分のゲームまで作りきれる環境です。
まとめ

武器切り替えは、武器リストとインデックス管理を組み合わせることで実現できます。
Unityを使えば、初心者でも武器切り替えシステムを作ることができるでしょう。
✅ 記事の要点まとめ
- 武器切り替えの仕組み:武器リストとインデックス管理
- 管理構造:Listを使った武器管理
- 切り替え処理:武器の表示・非表示の切り替え
- 入力処理:数字キーやマウスホイールでの切り替え
- よくある失敗5選:武器が切り替わらない、複数表示されるなど
- 実用的なシステム:4ステップで完成(合計4時間)
今日から始める3ステップ:
- STEP1:武器リストの作成(所要30分)
- STEP2:基本的な切り替え処理(所要1時間)
- STEP3:入力処理の追加(所要1時間)
あなたのペースで、少しずつ進めていけば大丈夫です。
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる



コメント