fc2ブログ

凛(kagring)のUE5/UE4とゲーム制作と雑記ブログ

2016 年から UE4 / 2021年から UE5 を触り始めました。勉強したもののメモ用ブログです。ゲーム制作に関するメモや雑記とか色々あります。C++ での Qt、Unity もほんの少しあります。

PREV | PAGE-SELECT | NEXT

≫ EDIT

UE5/UE4 BP(Blueprint)で構造体(USTRUCT)の特定のメンバ変数にだけ値をセットする(Set members in、Restore all strcture pins、Remove all other pins、Remove this struct Variable pin)

BP(Blueprint)で構造体(USTRUCT)の特定のメンバ変数にだけ値をセットする方法です。

こちらを参考にさせていただきました。

・Blueprintで構造体のメンバ変数の値を設定する方法
https://nofu.jp/wiki/blog/2016/2016-04-07

まずはこんな感じの構造体(USTRUCT)を用意しました。

USTRUCT(BlueprintType)
struct FDebugStruct
{

//
GENERATED_BODY()
public:
//
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Debug Struct")
float Value0 = 0.0f;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Debug Struct")
float Value1 = 0.0f;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Debug Struct")
float Value2 = 0.0f;
};

上記構造体のメンバ変数の特定の値のみをBPで変更していきます。

まずはBPで構造体を取得して「Set members in XXX」を選択します。
構造体のメンバ一つに値をセット000

するとこんな感じで構造体の値をセットするノードが出現します。
構造体のメンバ一つに値をセット001

このままだと構造体丸ごとに対してとなってしますので
「Restore All Structure Pins」を選択してすべてのメンバを出現させます。
構造体のメンバ一つに値をセット002

するとこんな感じで構造体のすべてのメンバ変数が出現します。
構造体のメンバ一つに値をセット003
これにこのまま値をセットすればいいのですが、
状況によっては(そういう場合の方が多いと思いますが)特定の変数のみ書き換えたいという状況があると思います。

そういった場合は、まず書き換えたい変数の値を変更します。
構造体のメンバ一つに値をセット004
今回は「Value1」だけ書き換えたいと思います。

次に、書き換えたい変数のピンを右クリックして「Remove All Other Pins」を選択します。
構造体のメンバ一つに値をセット005

するとこんな感じで、選択したピン以外の値へのセットピンがなくなります。
構造体のメンバ一つに値をセット006
これで変数「Value1」のみ書き換えることができました。

上記1つ以外に複数の特定の変数だけ書き換えたい。ということもあると思います。
この場合は、書き換えたくない変数のピンを右クリックして「Remove this struct Variable pin」を選択します。
構造体のメンバ一つに値をセット007

するとこんな感じで、選択したピンがなくなり、セットする処理から外れます。
構造体のメンバ一つに値をセット008

こういった感じで、「Remove all other pins」と「Remove this struct Variable pin」を使い分けるのがよさそうです。

| UE5 | 10:00 | comments:0 | trackbacks:0 | TOP↑

COMMENT















非公開コメント

TRACKBACK URL

http://kagring.blog.fc2.com/tb.php/727-28787530

TRACKBACK

PREV | PAGE-SELECT | NEXT