【Unity】RPGを作るチュートリアルその33 装備品による補正を計算するクラス
- 2025.02.28
- RPGチュートリアル
- RPG, Unity, ゲーム開発, チュートリアル

シンプルなRPGをUnityで作るチュートリアルシリーズの33回目です。
第32回ではキャラクターの定義データの管理クラスを追加しました。
今回は便利クラスとして、装備品によるパラメータ補正の値を計算するクラスを追加したいと思います。このクラスを使って、キャラクター全体の管理クラスでパラメータを計算できるようにしていきましょう。
制作環境
MacBook Pro 2023 Apple M2 Max
Unity6 (6000.0.30f1) Silicon
作業内容と順序
シンプルなRPGを作る上でどんな作業が必要か、どんな順番で作っていくと良さそうか、別ページで検討しました。基本的にこの流れに沿って進めていきます。
チュートリアルの一覧
このシリーズ全体の一覧は以下のページにまとめています。
前回の内容
前回はキャラクターの定義データの管理クラスを追加しました。
装備品による補正を計算したい!
RPGでは装備品によるパラメータ変動がつきもので、装備を変更するごとに値を取得して計算を行います。フィールドでメニュー画面を開いてステータスを表示する場面、装備品を変える場面、戦闘中の場面など、パラメータ変動後の値が欲しいケースは多々あります。
そこで、staticな便利クラスとして装備品によるパラメータ変動を計算してくれるクラスを作っておきましょう。都度計算の式を書くよりは、一箇所にまとめて計算後の値を取得する方が管理もしやすくなるためです。
今回の仕様では、装備品による補正が入るパラメータとしては、
- 力
- 身の守り
- 素早さ
の3つになっているので、この3つをまとめて扱えるクラスも作っておきたいと思います。
パラメータをまとめて扱うクラスの作成
装備品による補正値を3つバラバラに取得するのも大変なので、結果をまとめて受け取れるようにクラスを作っておきます。上で触れたように、
- 力
- 身の守り
- 素早さ
を保持するフィールドを持ったクラスにします。
Projectウィンドウの「Assets/Scripts/Battle」のフォルダにて、空のスクリプトファイルを作成します。名前は [BattleParameter] にしました。

作成した「BattleParameter」の中身は以下のように記載しました。
イメージとしてはデータを渡すための入れ物です。今回は参照して値を変更する書き方をするためにクラスで実装していますが、structで実装するのも良いかもしれません。
装備品による補正を計算するクラスの作成
装備品による補正を計算するクラスも作成していきます。このクラスの中では、先ほど作成した「BattleParameter」を使って値をやり取りするようにします。
Projectウィンドウの「Assets/Scripts」のフォルダにて、空のスクリプトファイルを作成します。名前は [EquipmentCalculator] にしました。

作成した「EquipmentCalculator」の中身は以下のように記載しました。
外部からは「GetEquipmentParameter()」を呼び出して装備品による補正値を取得します。引数で武器のIDと防具のIDを渡しており、それぞれ「CalculateBattleParameter()」のメソッドを呼び出して対応するアイテムを取得し、設定された補正値を加算しています。引数で「BattleParameter」の参照を渡しているので、参照先のインスタンスの値に加算していく形になっています。
スクリプトを保存してコンパイルエラーがなければ今回は完了です。しばらく動作確認していないのが若干不安ではありますが、戦闘機能をちょっとずつ作っていく際に動かして確認しましょう。
今回のブランチ
まとめ
今回は便利クラスとして、装備品によるパラメータ補正の値を計算するクラスを作成しました。また、パラメータをまとめて扱うためのクラスについても作成しました。
次回は以前作成したキャラクター全体の状態を管理するクラスに機能を追加していきましょう。アイテムデータの取得や、キャラクターデータの取得などの機能を作ったので、色々と追加できる機能があるんですよね。次回も頑張りましょう。
ゲーム開発の攻略チャートを作りました!
-
前の記事
【Unity】RPGを作るチュートリアルその32 キャラクターの定義データの管理クラスを実装 2025.02.27
-
次の記事
【Unity】RPGを作るチュートリアルその34 キャラクター全体の状態管理クラスの編集 2025.03.03
コメントを書く