UE5のについて
UE5の変数とは数値・文字・オブジェクトなどを記憶できる領域のこと。
変数の作成・セット・取得の方法について紹介していく。
UE5の変数の目次
変数の作成変数のセット・取得
Promote to variable(変数に昇格)
目次にもどる
変数の作成
ブループリントを開きマイブルーポイントの変数の項目で+マークを押せば、新たな変数を作成することができる。
.jpg)
作った変数に「わかりやすい名前」と「型」を設定してやろう。
型とは何を入れられる変数かを示す。以下のようなものがある。
String型
文字列を入れることができる。例えば主人公の名前などを入れるのに使える。
Integer型
整数(-2、-1、0、1、2など。自然数または負の数または0)を入れることができる。
例えばプレイヤーのHPや攻撃力などは、大抵は小数点などを使う必要がないのでIntegerでOKだ。
Boolean型
「true」または「false」のデータを入れることができる。
2つの情報しかないデータ(主人公の生存・死亡など)を入れる際に使われる。Branch(ブランチ)で条件分岐する際に使用することも多い。
Float型
小数点を含む数値のデータを入れることができる。
例えば「ダメージ倍率」など整数ではなく細かな数値を入れたい場合に重宝する。
Vector型
Float型の変数を3つまとめたのがVector型の変数だ。
アクタの位置・回転・角度などは、X・Y・Zの3つのFloat型を合わせたVector型の変数に入れて使うことが多い。
Transform型
Vector型の変数を3つまとめたのがTransform型の変数だ。
その名の通り、アクタのトランスフォーム(位置・回転・角度の全て)を入れて使うことになる。
Actor型
アクタの参照データを入れることができるのがActor型の変数。
重要なので、後ほど別記事で詳しく紹介予定。
目次にもどる変数のセット・取得
作った変数をイベントグラフにドラッグ&ドロップしよう。以下のように2つの選択肢が出てくる。
.jpg)
「Get 変数名」を選べば変数を取得することが可能だ。
.jpg)
「Set 変数名」を選べば変数に値をセットすることができる。
.jpg)
GetとSetを使って簡単なブループリントを作ってみる。
PlayernameとName2というString型の変数を作成し、コンパイルする。続いて変数を選択して詳細画面のデフォルト値を変更してほしい(コンパイルしないと変更不可)。
今回はPlayernameのデフォルト値には「dragon」、Nameにのデフォルト値には「night」と入力した。変数は作成するとデフォルトでは何も入っていないが、このように入力することで最初から値を入れて使うことができる。

以下のようにブループリントを作成してみた。
.jpg)
GetやSet以外のノードの意味がわからないという場合には基本的なノードを以下の記事で紹介しているので確認してみてほしい。
アンリアルエンジンのノードの一覧ゲームを再生すると、まずPrint StringにPlayernameの値が入力されるので「dragon」と画面に表示される。続いてAppendによってPlayernameとName2の文字列が結合され、その値がPlayernameにセットされる。2つ目のPrint Stringで再びPlayernameの値が入力され「dragonnight」と画面に表示される。
.jpg)
Promote to variable(変数に昇格)
Promote to variable(変数に昇格)という、変数の作成とセット・取得を同時に行える便利なやり方があるので紹介していく。
ノードの入力ピンからワイヤーを伸ばす。すると検索画面となるので「Pro・・・」くらいまで打てば「Promote to variable」が出てくるので選択する。
.jpg)
すると、その入力ピンに合う型になっている変数が自動的に作成されて取得(Get)され入力ピンとワイヤーでつながった状態になる。

出力ピンからワイヤーを伸ばして「Promote to variable」を選択することも可能。この場合はその出力ピンに合う変数が自動作成され、その変数がセットされ出力ピンとワイヤーでつながった状態になる。

「Promote to variable」は必要な型になった変数の作成、変数のゲットまたはセット、ワイヤーでの接続の3つを一気にこなせるため作業効率が良いので積極的に使っていこう(変数の名前を決めるのは忘れないように)。
なお、ノードのピン付近で右クリックして「変数へ昇格」を選択しても同様のことができる。
.jpg)