UE5/UE4 C++で条件付き変数をプロパティ指定子(Property Specifiers)を使って指定する(UPROPERTY(meta = (EditCondition=変数名)))
C++で条件付き変数をプロパティ指定子(Property Specifiers)を使って指定する方法です。
こちらを参考にさせていただきました。
・UE4 よく使うUPROPERTYメモ
https://qiita.com/bigengelt/items/b17545fffe7b8d69e5e8
条件付き変数を作成するには
「UPROPERTY」で「meta=(EditCondition = 変数名)」と指定することで実装することができます。
「条件となる変数の作成」と「条件によって変更できるようになる変素」の二つの変数が必要になります。
こんな感じの記述になります。
上記の指定を行うとこんな感じで条件が真となる時のみ変数の変更が可能になります。

条件となる変数「bEditConditionValue」が偽となるため、
条件付き変数「EditConditionValueInt」は編集することができません。

条件となる変数「bEditConditionValue」が真になったため、
条件付き変数「EditConditionValueInt」を編集することが可能になりました。
あまりこれの使い道はぱっとは思いつかないのですが、
エディタで編集する際に、フラグと値がもしも連動している場合は
この機能を使って使うか使わないかの判断ができそうな気がするので、作業としてわかりやすくなるのかもしれません。
こちらを参考にさせていただきました。
・UE4 よく使うUPROPERTYメモ
https://qiita.com/bigengelt/items/b17545fffe7b8d69e5e8
条件付き変数を作成するには
「UPROPERTY」で「meta=(EditCondition = 変数名)」と指定することで実装することができます。
「条件となる変数の作成」と「条件によって変更できるようになる変素」の二つの変数が必要になります。
こんな感じの記述になります。
// 条件付き変数(条件となる変数)
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool bEditConditionValue;
// 条件付き変数(条件によって編集可能となる変数)
UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (EditCondition = bEditConditionValue))
int32 EditConditionValueInt;
上記の指定を行うとこんな感じで条件が真となる時のみ変数の変更が可能になります。

条件となる変数「bEditConditionValue」が偽となるため、
条件付き変数「EditConditionValueInt」は編集することができません。

条件となる変数「bEditConditionValue」が真になったため、
条件付き変数「EditConditionValueInt」を編集することが可能になりました。
あまりこれの使い道はぱっとは思いつかないのですが、
エディタで編集する際に、フラグと値がもしも連動している場合は
この機能を使って使うか使わないかの判断ができそうな気がするので、作業としてわかりやすくなるのかもしれません。
| UE5 | 10:00 | comments:0 | trackbacks:0 | TOP↑