UE5:MapSetとMapGetについて
本記事では、スクラッチパッドモジュールで基礎になるMapGetとMapSetについて書いていこうと思います。
仕様Ver:UE5.5.4

Niagaraで変数にアクセスする基礎になるノードです。
Niagaraでは、変数は「Map」というカテゴリ(スコープ)ごとに分類されており、これらの変数を取得(Get)したり更新(Set)するために使うのが、MapGetとMapSetになります。

◆MapGetについて
MapGetはマップから既存の変数を読み取るために使います。ノードに表示されている⊕を押すことで検索ウィンドウが立ち上がり、対象の変数を選択することでピンとして値を取得し、後続処理へ接続することができます。
ポイント
・変数は複数同時に取得可能
・読み取り専用になり更新はされない

◆MapSetについて
マップ内の変数を上書き(更新)するノードになり、MapGetと同様に⊕から対象の変数ピンを追加することができます。ただMapGetとは異なり、値を取得するのではなく、取得した値を受け取り変数の更新を行うのが役割になるためここの違いを覚えておきましょう!
ポイント
・他のノードで計算した値をマップ内の変数に書き戻すときに使う
・複数変数の同時更新も可能

ピンの追加について
さきほどお話したとおり、⊕を押して変数ピンをどちらも追加することができるのですが、それだけではなく、既存で追加しているピンを⊕にドラッグ&ドロップすることでもピンを追加することができます。
こちらで追加する場合は、スコープが異なる場合があると思いますので対象のスコープになっていかの確認はしっかり行うようにしましょう!

役割を把握できたらお分かりだと思いますが、スクラッチパッドモジュールの基本の流れは「Get→処理→Set」になります。つまり、「今の状態を取得し処理後に値の更新をする」と言った感じです。
Niagaraはフレームごとに通知を繰り返しているので、毎フレームこの一連の流れが更新されていると考えて処理を組むのが良いかと思います。
ということで今回は、Scratch Pad Moduleの基礎の基礎になる「Map Get」と「Map Set」についてでした!
他にはこんな記事もあるよ!
YouTube
YouTubeなどでも、時おり活動をしていますのでよかったらチャンネル登録しておいて貰えると嬉しいです!
上の動画は、Widgetのスライダーを利用してカメラの距離を変更する!という動画です。
その他過去にはゲーム実況やゲーム制作に関する動画など投稿しています!