
Unreal Engine 4.15 がリリースされ、Set コンテナ タイプが Unreal Engine 4 (UE4) の Blueprint Application Programming Interface (API) に追加されました。 コンテナという用語を知らない場合、アイテムにラベル付けをして、すぐに (または後で) 使うために入れて置くストレージ ボックスだと考えてください。Arrays を使って格納してアイテムのコレクションを使って作業したことがあれば、 UE4 の Blueprint コンテナを既に使っています。例えば、Arrays を使って後で使うアイテムを格納する場合、そのアイテムのラベルは配列内の位置になります。しかし、Sets を使うとラベルはアイテムそのものになります。これにより、 Set は Blueprint API をさらにパワフルにします。
Blueprint Set は、キーがアイテムそのものなので、キーを使って効率的なルックアップと取り出しが可能になり、Blueprint API がますます面白くなります。Set にはアイテムのキーがアイテムそのものという特性があるので、 Set によってデベロッパーはコンテナに置かれているアイテムを効率的に追加、検索、除去できるようになります。 ゲームによっては、ダイアログでよく使用される単語を無視したり、ユニークなインベントリ アイテムの格納にも使用することができます。明らかに、Set には多くのユースケースの可能性がありますが、 ゲームで Set のパワーを大いに活用する前に、UE4 で正しく使う方法を学習する必要があります。
本ページでは、Blueprint Set の作成および編集方法を学習します。プロジェクトで Set の最大限の活用に役立てるために、 Blueprint Set のプロパティの説明も含まれています。
説明のため、Blank Blueprint Project (下図の黄色枠部分) を使ってBlueprint Set の作成および編集方法の説明を行います。
画像をクリックしてフルサイズ表示 |
画像をクリックしてフルサイズ表示 |
Set の作成
Blueprint Set を新規作成するには、以下の操作を行います。
-
作業用 Blueprint クラスがまだない場合は、Blueprint クラスをプロジェクトに 追加 してください。
クリックしてフルサイズで表示。
-
[Pick Parent Class (親クラスを選択)] メニューに表示されているクラスリストから [Actor] を選択します。
-
Actor クラスに名前を付けたら、コンテンツ ブラウザ 内でそのアクタをダブルクリックして開きます。
[
-
そのアクタのブループリント スクリプトの編集を始めるために [Event Graph] タブを選択します。
クリックしてフルサイズで表示。
-
アクタの Event Graph を開いたら、[Variables (変数)] サブメニュー上にカーソルをあてて [+ Variable] ボタンを表示させます。
クリックしてフルサイズで表示。
-
次に String 変数を作成し、
MyStringSet
と名前を付けます。[
-
いま、
MyStringSet
は単一の String 変数の状態です。MyStringSet
を Set コンテナに変換するには、アクタの [Details (詳細)] パネル の Variable Type ラベルの右側にある [Variable Type (変数タイプ)] ボタンをクリックします。クリックしてフルサイズで表示。
-
ここでドロップダウン メニューの中に 4 つのコンテナ オプションが表示されます。{ } オプションを選択して
MyStringSet
を Blueprint Set に変換します。
これで、String Set コンテナ (名前は MyStringSet
) が新規作成されました。

Set の編集
新規作成された Set を編集する前に、Set 変数コンテナをカプセル化するブループリントをコンパイルしなければなりません。
[
-
MyStringSet
を編集するには、ブループリントの [Compile] ボタンをクリックします。クリックしてフルサイズで表示。
-
ブループリントをコンパイルすると、Set の [Default Value (デフォルト値)] ([Details (詳細)] パネル内) に
MyStringSet
が空であることが表示されます。クリックしてフルサイズで表示。
-
String エレメントを
MyStringSet
に追加するには、[Details (詳細)] パネルの [Default Value (デフォルト値)] メニューの 0 Set elements の横にある[Add (+)] ボタンをクリックします。

-
[Add (+)] ボタンをもう一度押してください。
新規エレメントのデフォルト値を更新せずにエレメントをブループリントに追加しようとすると、アンリアル エディタが警告を出します。
-
3 つのエレメントを
MyStringSet
に追加して、それぞれの名前をApple
、Banana
、Cherry
とします。 -
次にもう 1 つエレメントを追加して、名前を
Banana
と付けます。既存するエレメントと同じ値をもつ新規エレメントを追加しようとすると、アンリアル エディタが警告を出します。
-
上記の警告を念頭に置いて、4 つ目のエレメントに
Date
という名前を付けてください。
完了です。これで 4 つ目のエレメントを追加編集した Blueprint Set が新規作成されました。

コンテナのプロパティ
UE4 で Blueprint Set コンテナを使って作業を開始する場合は、以下のプロパティ一覧を参照してください。
- Set 内のアイテム (またはエレメント) はユニークでなければなりません。
- All items in a Set 内のすべてのアイテムは定義 (または初期化) されていなければなりません。
- Set 内に格納されたアイテムには順序付けされません。
- Set 内のすべてのアイテムは同一 (同じタイプ) になります。
- Set 内のアイテムの追加、削除、検索は高速演算です。
- Set 内のアイテムの値は検索に使用するキーでもあります。
- 現在、Blueprint Set は変更不可能です。つまり、作成後の変更は不可能です。
本ページではブループリントでの Set の作成および編集方法を学習しました。Blueprint Set ノード インターフェースの詳細は、「Blueprint Set ノード」リファレンス ガイドを参照してください。