fc2ブログ

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

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

PREV | PAGE-SELECT | NEXT

≫ EDIT

UE5/UE4 C++でメタデータ指定子(Metadata Specifiers)の宣言と複数のメタデータ指定子(Metadata Specifiers)を宣言する(meta)

C++でメタデータ指定子(Metadata Specifiers)の宣言と複数のメタデータ指定子(Metadata Specifiers)を宣言する方法です。

メタデータ指定子(Metadata Specifiers)に関する公式ドキュメントはこちら。

・メタデータ指定子
https://docs.unrealengine.com/4.26/ja/ProgrammingAndScripting/GameplayArchitecture/Metadata/

クラス、インターフェイス、構造体、列挙型変数、列挙型変数の値、関数、プロパティを宣言するときに、メタデータ指定子 を宣言に追加して、エンジンやエディタの様々な側面でどのようにインタラクタするかを制御することができます。データ構造またはメンバのそれぞれの型には、固有のメタデータ指定子のリストがあります。


以下は関数に対するメタデータ指定子ですが、こんな感じで記述することができます。

UFUNCTION(BlueprintCallable, meta = (DevelopmentOnly))
void FunctionDevelopmentOnly();

このメタデータ指定子「meta = (DevelopmentOnly)」を宣言することで開発飲みの関数とすることができます。
メタデータ指定子003

こういった関数のように、これ以外にも様々なデータの振る舞いを変えることができます。

それと、メタデータ指定子(Metadata Specifiers)は複数宣言することもできます。
複数宣言する場合は以下のように記述します。

UFUNCTION(BlueprintCallable, meta = (ExpandEnumAsExecs = "DebugTestEnumInput", DevelopmentOnly))
void FunctionMetadataSpeciffers(EDebugTestEnum DebugTestEnumInput);

「,」で区切ることで複数宣言することができます。

上記の記述でできた関数はこんな感じになります。
メタデータ指定子002
「(ExpandEnumAsExecs = "DebugTestEnumInput"」で複数の入力ピンを持ち、
「DevelopmentOnly」で開発のみの関数になっています。

メタデータ指定子でできることが結構あるので覚えて活用していきたいところですね。

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

COMMENT















非公開コメント

TRACKBACK URL

http://kagring.blog.fc2.com/tb.php/686-167916f8

TRACKBACK

PREV | PAGE-SELECT | NEXT