fc2ブログ

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

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

2022年04月 | ARCHIVE-SELECT | 2022年06月

| PAGE-SELECT |

≫ EDIT

UE5/UE4 C++でBPに公開する関数の入力(引数)を参照として受け取る(UPARAM(ref))

C++でBPに公開する関数の入力(引数)を参照として受け取る方法です。

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

・【UE5】BP公開の関数のパラメーターを参照だけど入力として扱いたい場合
https://shuntaendo.hatenablog.com/entry/2022/04/01/223000

関数の引数の定義の前に「UPARAM(ref)」を記述するだけで問題なさそうです。
通常だとこんな感じの関数を定義すると

UFUNCTION(BlueprintCallable)
void GetRefValue1(int32& Value1);

BPでこうなります。
入力を参照として受け取る000
戻り値(返り値)になってしまいますね。

これを引数の定義の前に「UPARAM(ref)」を付けてみます。

UFUNCTION(BlueprintCallable, BlueprintPure)
void GetRefValue2(UPARAM(ref) int32& Value1);

入力でなおかつ参照で受け取れるようになりました。
入力を参照として受け取る001

複数の入力を参照で受け取りたい場合も同様に記述を増やすだけで問題なさそうです。

UFUNCTION(BlueprintCallable, BlueprintPure)
void GetRefValue3(UPARAM(ref) int32& Value1, UPARAM(ref) int32& Value2);

参照での入力が複数になりました。
入力を参照として受け取る002

C++でやろうとすると案外わからなかったりするので、こういうのは覚えておきたいですね。

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

| PAGE-SELECT |