ゲーム開発を試してみようと思い立ち、Unreal Engine 5をインストールして開発する過程で調べてみた部分を備忘録的に投稿します。今回はアクションゲームに実装されている「インベントリ」を作成する続きです。
先回までの作業は、別記事をご覧ください。
簡単なインベントリの仕様
実際のゲームで実装されているインベントリは、複雑な機能が盛り込まれているので今回は簡単な実装になるようにしています。
先回までの作業でできている部分は、こんな感じです。
今回からは実際にアイテムを取得したら「スロット」に画像を追加する操作をしていきます。
画像を取得するインターフェイスを作成
インベントリに表示する画像を取得するためのインターフェイスを作成していきます。
別インターフェイスのブループリントを作成した方が良さそうですが、試作なので先回作成した[BPI_Item]を流用していきます。
1. ブループリントインターフェイス[BPI_Item]を開いて[マイブループリント]画面の[関数]を追加します。
2. 追加された変数の名前を “GetSlotImage” に変更します。
3.[アウトプット]を追加して名前を “SlotImage” に変更します。
4. 型の一覧から “Texture 2D” を検索して選択します。
5. [コンパイル]して保存します。
6. [コンテンツドロワー]を開いて[BP_Item]を開きます。
7. [クラス設定]を有効に(青く)します。
8. [詳細]画面の[インターフェイス|実装インターフェイス]の[追加]一覧から “BPI_Item” を検索して追加します。
9. [コンパイル]して保存します。
10. [マイブループリント]画面の[インターフェイス]一覧の[Get Slot Image]を開きます。
11. [Get Slot Image]ノードが表示されます。
12. [マイブループリント]画面の[コンポーネント|SlotImage]を選択して表示されている[Return Node|Slot Image]ピンにドラッグします。
13. [Slot Image]ノードが接続されて追加されます。
ここまでの作業で、Texture 2D(平面画像)を戻すインターフェイスが出来上がりました。
個々のアイテムを作成
先回までに作成した[BP_Item]を利用して、レベルに配置する個々のアイテムを作成していきます。
1.[コンテンツドロワー]を開いて[BP_Item]を選択します。
2. マウスの右クリックで表示されたポップアップメニューで[子ブループリント クラスを作成します]を選択します。
3. 追加された[ブループリント クラス]の名前を “BP_Item_Staff” に変更します。
4.[コンポーネント]画面で[StaticMesh]を選択します。
5. [詳細]画面の[スタティックメッシュ|Static Mesh]の一覧から適当なスタティックメッシュを選択します。
6. [コンポーネント]画面で[BP_Item_Staff]を選択します。
7. [詳細]画面で[Slot Image]に用意した(インベントリに表示する)画像を選択します。
8.[コンパイル]して保存します。
9. レベルにドラッグするとスタティックメッシュに設定した形状のアクターとして表示されます。
次回は、レベルに配置したアイテムを使ってキャラクターとの距離で取得の可否を判断するブループリントを追加していきます。
まとめ
今回は長い手順になりましたが、Unreal Engineで配置したアイテムにキャラクターの持ち物として管理する「インベントリ」画面を作る手順について書きました。
アクションゲームをプレイしていると、必ずと言って良いほど実装されている[インベントリ]機能があります。
実際にゲームで使えるようになるには、複雑な機能が必要ですが最初の勉強として簡単な持ち物管理の画面を作ってみます。
Unreal Engineのゲーム開発でアイテムを管理する[インベントリ]画面を表示させたい人の参考になれば幸いです。
スポンサーリンク
最後までご覧いただき、ありがとうございます。