環境
UE4.22.2
Blueprintでの2次元配列の作成方法
先に結論だけを書くと
- 配列を持った構造体を用意
- その構造体を配列で定義
上記の2ステップでできます。
コードで示すと下記になります。
USTRUCT(BlueprintType) struct FIntArrayElement { GENERATED_USTRUCT_BODY() UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Game") TArray<int32> IntArray; }; UCLASS() class PROJECT_API AExampleActor : public AActor { GENERATED_BODY() public: UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Game") TArray<FIntArrayElement> TwoDimensionIntArray; };
これぐらいであれば、Blueprintでも表現可能です。
下図のようにArray(配列のメンバー)をもった構造体を定義します。
構造体の作成方法はContent Browserから
Blueprints -> Structure を選択です
次の手順でおそらく警告が出ると思うので、1つ以上の要素を追加しておきます。
次に2次元配列をもたせたいBlueprintに変数を追加します。
その際にVariable Typeを先程作成した構造体に変更し
Arrayに変更します。
すると下図のように配列の中に配列を持った2次元配列を作ることができます。
通常のままでは構造体になっており、使用できないため
構造体の出力ピンから構造体を分割するか
Break (構造体名)で構造体を分割して使用します。
個人的には極力多次元配列を避けて開発したいのですが
どうしても必要という方もいると思ったので書きました。
以上です。