UE5のCast To
UE5でよく使用するノードの一つがCast Toだ。
少しややこしい仕様となっているので詳しく紹介していく。
Cast Toの一覧目次
Cast ToとはCast Toの使い方
目次にもどる
Cast Toとは
Cast ToとはObjectピンに入力されたブループリントクラスが対象のブループリントクラスと一致するか確かめ、一致するなら参照を可能にするノードである。
対象のブループリントクラスとは、ノード名のCast Toの後に続くブループリントクラスのことである。
例えばBP_Playerというブループリントクラスを作ったとする。するとCast To BP_Playerというノードが作成可能となる。
Cast To BP_PlayerのObjectピンに入力されたブループリントクラスがBP_Playerであったのなら後続の一番上の処理が実行され、「As BP Player」から参照情報を出力することができるようになる(つまり今開いているブループリントからBP_Playerの変数の変更や値の取得といった様々な操作が可能となる)。
もし、BP_PlayerではなかったのならCast Failedの後続の処理が実行される。
目次にもどるCast Toの使い方
Cast Toは様々な場面で使われるが、特にGetPlayerCharacter(操作キャラのブループリントクラスを取得)と組み合わせて操作しているキャラを参照できるようにする用途で使われることが多い。そのやり方の例を紹介していく。
まずはコンテンツブラウザでブループリントクラスを作成する(既にプレイヤーのゲームオブジェクトでブループリントを作成しているならそれを使ってもいい)。今回はBP_Playerと名付けた。
同じ要領でもう一つブループリントクラスを作りBP_GameManagerを作成する。
BP_Playerのブループリントを開きイベントグラフの変数(VARIABLE)の+マークを選択し、変数を追加する。今回は変数の名前をPlayerATKとする。
以下の部分をクリックして目のマークが出た状態にしておく(こうしておくことでゲームプレイ中に値の確認が可能となる)。
変数の種類はinteger(整数)にしておく。
ちなみにPlayerATKの詳細画面を見ればデフォルト値が0になっているのが確認できる(ここを好きな数に変更しておいてもいいが、その際には先にコンパイルを行ったほうが良いことが多い)。
続いてBP_GameManagerのブループリントを開きイベントグラフを開く。
Event BeginPlay、Cast To BP_Player、GetPlayerCharacterを作成する。
先ほど作成したBP_Playerの変数PlayerATKをSet PlayerATK・・と検索で出すことができる。
以下のように配置し、PlayerATKの部分に今回は30と入力する。
BP_PlayerとBP_GameManagerをレベル内にドラッグ&ドロップし配置しておく。
コンパイル・保存を行い、この状態でゲームプレイし、以下の三角ボタンを押す。
操作キャラ(BP_Playerのブループリントクラス)を選択する。
詳細画面で「デフォルト」と検索すると、変数PlayerATKが30になっていることを確認できる。
このようにCast Toを使えば、BP_Playerの変数や様々な値をBP_GameManagerという別のブループリントクラスから変更することができることがわかる。