fc2ブログ

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

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

PREV | PAGE-SELECT | NEXT

≫ EDIT

UE4 引数として関数へ渡した変数の中身を書き換える(リファレンス渡し)(Set By-Ref Var)

関数の引数に値を渡す場合に、
関数の内部でその引数の値を変更したい場合があります。
Intなどの変数単体を引数で渡した場合、デフォルト状態では値を変更することはできません。
これを変更できるようにするため「リファレンス渡し」をします。

ここらへんのドキュメントになります。

・関数のリファレンス渡しの変数に値をセットする方法
https://answers.unrealengine.com/questions/393675/%E9%96%A2%E6%95%B0%E3%81%AE%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9%E6%B8%A1%E3%81%97%E3%81%AE%E5%A4%89%E6%95%B0%E3%81%AB%E5%80%A4%E3%82%92%E3%82%BB%E3%83%83%E3%83%88%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95.html?childToView=393691#answer-393691

まず、引数を設定するとデフォルト状態ではこんな感じになります。
参照変数書き換え002
この状態だと「Value」に対しては値を書き換えることができません。

そこで、引数の設定で「リファレンス渡し」にチェックをいれます。
参照変数書き換え003

そうするとこんな感じで引数のアイコンがまる形からひし形に変わります。
参照変数書き換え005
これがリファレンスとして渡っている状態になります。

このリファレンス渡し状態の引数に対しては
「Set By-Ref Var」ノードを使うことで値をセットすることができます。
参照変数書き換え000

ノードはこんな感じになります。
参照変数書き換え006
デフォルト状態だと型が決まっていません。

ノードをつなぐことでその変数の型に変化します。
参照変数書き換え001
Int 型だとこんな感じになります。

といった感じで関数の引数の値を変更する場合は
こんな感じになります。
参照変数書き換え004

返り値を外で受け取ったほうが良いような気がしないでもないですが
こういう方法で関数の中で値を書き換えることも可能のようです。

| UE4 | 14:31 | comments:0 | trackbacks:0 | TOP↑

COMMENT















非公開コメント

TRACKBACK URL

http://kagring.blog.fc2.com/tb.php/384-4dd05a31

TRACKBACK

PREV | PAGE-SELECT | NEXT