fc2ブログ

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

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

PREV | PAGE-SELECT | NEXT

≫ EDIT

UE5/UE4 C++でBP(Blueprint)に公開する関数を関数指定子(UFunction)を使って「protected」扱いで制御する(UFUNCTION(meta=BlueprintProtected))

C++でBP(Blueprint)に公開する関数を関数指定子(UFunction)を使って「protected」扱いで制御する方法です。

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

・【UE5】ブループリント公開の関数を protected 扱いにする
https://shuntaendo.hatenablog.com/entry/2022/04/21/184426

公式ドキュメントはこちら。

・UFunction(関数指定子)
https://docs.unrealengine.com/4.27/ja/ProgrammingAndScripting/GameplayArchitecture/Functions/

「UFUNCTION(meta=BlueprintProtected)」を記述することでBPにおいても「protected」扱いとなるようです。
こんな感じで記述してみました。

protected:

UFUNCTION(BlueprintCallable, meta = (BlueprintProtected))
void FunctionProtected1();

UFUNCTION(BlueprintCallable)
void FunctionProtected2();


結果はこんなかんじになりました。
まずは関数を作成した自身のBPで関数を使えるか確認しました。
Protected関数000
自身に対してなので両方の関数が確認できます。

次に、レベルBPで使えるかどうかを確認してみました。
Protected関数001
こちらは通常のC++での「protected」記述の方の関数は確認できてしまっています。
「UFUNCTION(meta=BlueprintProtected)」を付けたほうは、ちゃんと確認できないようになっているようです。

厳密に扱いたい場合はちゃんと関数指定子を使うのがよさそうですね。

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

COMMENT















非公開コメント

TRACKBACK URL

http://kagring.blog.fc2.com/tb.php/718-2c66a5b2

TRACKBACK

PREV | PAGE-SELECT | NEXT