Unreal EngineのBlueprintで使う構造体を独自に定義する方法を解説

Unreal EngineのBlueprintを使ってゲーム開発をする際に、独自のデータ構造を定義してデータを管理したいことがあります。

私の場合はマップを自動生成する際に、追加したマップとマップのID、TriggerBoxなどを関連づけて管理したいことがありました。

それらをまとめたアクターを作っても良いのですが、TriggerBoxは固定の位置に配置するだけなのでわざわざアクターに持たせたくない…など人それぞれいろんな理由があるかと思います。

こういった複雑なデータを管理する場合、構造体(Structures)を使うと便利です。

構造体を使うことで、関連するデータをひとまとめにして扱うことが可能となります。

この記事では、Unreal Engineで独自の構造体を定義する方法を説明します。


ステップ1: 構造体の作成

Blueprintでユーザー定義の構造体を使うためには、アセットやアクタを作成するのと同じようにあらかじめコンテンツブラウザ上から作成しておく必要があります。

コンテンツブラウザの任意の場所で右クリック→「ブループリント」→「構造体」と選択します。


















コンテンブラウザ上に構造体が作られるので、好きな名前をつけておきます。


ステップ2: 構造体のフィールドを定義

新しく作った構造体をダブルクリックして開きます。

すると以下のような画面になります。

この画面で構造体に含めたいフィールドを追加していきます。

















「変数を追加」ボタンを押すとフィールドを追加することができます。

各フィールドの左側のフォームには構造体に含めるフィールドの名前、右側はフィールドの型を指定します。


追加していこうと以下のような感じになります。

















「デフォルト値」タブに切り替えることで、デフォルト値を設定することもできます。

















これで構造体を使うための準備ができました。


ステップ3: 構造体を使用する

任意のBlueprintクラスを開き、変数パネルで「+」ボタンをクリックします。

変数の型で先ほど作った構造体が選べるようになっています。

自分が作った構造体の名前で検索して、型にセットすれば完了です。

ここでは「STRUCT_Sample」という名前で構造体を作ったので、検索でヒットするようになっています。


















この変数を使って、イベントグラフ内でデータをセットしたり操作することができるようになります。


以上、Unreal EngineのBlueprintで使う構造体を独自に定義する方法を解説しました。

「コンテンツブラウザで構造体を作る」という手順が少し分かりにくいので、参考になれば幸いです。

皆様の開発が順調に進むことを願っております。

私も頑張ります。

それではまた。

コメント

このブログの人気の投稿

Unreal Engineでマウスカーソルを表示させる方法を解説

Unreal Engineでアクタとの当たり判定を行う(Event ActorBeginOverlapイベントを追加する)方法について解説

Unreal EngineのBlueprintでアセットを読み込んでレベルに配置する方法