ブループリントにも慣れてきて、シコシコ頑張っていたんだが、ブループリントでも構造体が使えたらいいなぁって調べてみたら、ちゃんとあった。
UE5/UE4 C++で自作した構造体をデータテーブル(Data Table)に設定できるようにする(FTableRowBase) 凛(kagring)のUE5/UE4とゲーム制作と雑記ブログ
この人のブログをよく参考にさせて貰っている。
少し引用させて貰う。
USTRUCT(BlueprintType)
struct FDataTableTestParam : public FTableRowBase
{
GENERATED_BODY()
public:
UPROPERTY(EditAnywhere, BlueprintReadWrite)
float Param = 0.0f;
};
たぶん、USTRUCT(BlueprintType)さえ付けておけば、public FTableRowBaseで継承しなくてもブループリントには公開できる。上記ブログの人も言っているようにUEの「その他」の「データテーブル」に設定する場合は必要になるんだと思う。
コーディング規約に従わずに typedef で構造体を宣言しようとしてもエラーになる。自分でヘッダファイルを作ってUEの支配下にならないようにすれば問題ないが、その場合は当然ブループリントに公開できない。それと、もしかしたらゲームフレームワーク内で宣言してやる必要があるのかもしれない。
コメント
[…] 【UE5】構造体 […]