0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

UE5 TileVIew,Inventoryの作成メモ

Last updated at Posted at 2025-01-21

今回はTileViewの準備、別でInventoryの機能を追加します。

ここでいうInventoryの機能は以下としています。
表示されたSlotをdrag,dropで入れ替える

まずはTileViewの準備です。
Inventory化はこちら

準備

データ

インベントリの中身の情報の構造体の作成

image.png

このあたりは作りたいものに合わせて設計して大丈夫です
このデータをもとにTileViewに表示をおこなったり
Dropした時のデータの入れ替えなどに使用します。

image.png
InventoryStructとつけて作成

InventoryStructを持ったObjectを継承したBlueprintの作成

image.png

先ほどのInventoryStructをSlotDataと名前を付けて宣言

Widget

Slot

image.png
WBP_Slot

Frame

image.png
WBP_Frame

インベントリの表示内容データ作成

何をいくつ持っているのか先に作成しておくとWidgetに組み込む際にスムーズです。
というか、途中で作成する羽目になるのでここまで準備できたら作成しておくとよいです。

InventoryComponentの作成

image.png

image.png

何を持っているかのInventoryStruct、BP_InventoryDataを作成

image.png
image.png

BeginPlayでInventoryStructの配列からBP_InventoryDataの配列を作成します。
作成するnodeはNew ObjectででてくるConstruct Object from Classノードです。

所持させたいキャラクターにComponentをAddする

サンプルなのでとりあえず、BP_ThirdPersonCharacterにもたせます。
組み込む際は適切なBP、PlayerStatusなどに設定してください。
image.png
image.png

InventoryのWidgetを作成

ようやくここでInventory用のWidgetを作成します。
TileViewもここで作成していきます。

image.png
WBP_Inventoryを作成しTileViewをAddします。

image.png

このTileViewに表示するデータをセットする関数を作成しておきます。

image.png

WBP_FrameをTileView用のWidgetに調整していきます。

Implemented InterfacesでUserObjectListEntryをAddします。

image.png

UserObjectListEntryを追加するとWBP_InventoryにあるTileViewのEntryidgetClassに追加することができます。

WBP_Inventoryの表示

image.png

先にWBP_Inventoryを表示して結果を確認しながら進められるようにAdd to Viewportをしてしまいましょう

WBP_FrameにOnListItemObjectSetが継承されているのでそこにListの作成時処理を追加します。
赤い枠部分でBP_InventoryComponentで設定したデータをWBP_Inventoryにセットします。

一度確認してみる

image.png

ここまでの結果はこんな感じです。

image.png
設定した↑が反映されていません。

WBP_Frame,WBP_Slotにデータを設定する

WBP_FrameのOnListItemObjectSetでデータを設定する

image.png
WBP_InventoryでTileViewにSetListItemsで追加されたデータがここで渡されてきます。
image.png
Slot側へInventoryStructのデータを渡します。

WBP_Slot

image.png

Slot側のデータとセット関数

image.png
Imageの設定
今回はBindで設定

結果確認

image.png
image.png

色はちがいますが…
設定したデータと表示されているデータが一致しました(はず

基本実装はできたので適宜必要な実装個所に実装してください

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?