別アクターを参照する方法

※個人用備忘録&素人による記事の為、間違いがある可能性があります




別アクターを参照する時、cast toノードとかに繋ぎたい時よくあります






■ レベルブループリントの場合

レベルブループリント内でレベル上のアクターを参照したい場合

① レベルブループリント開く
② ビュー上で選択
③ 右クリック、参照を作成

取得できます


複数ある場合は、右クリックで出てこないので
OutlinerからD&Dします



■ 同一レベル内の場合

● アクター同士が接触する場合

接触される側のコリジョンにオーバーラップイベントを作る


Other Actor から取得できる



● Get Actor Of Class

同一レベル内であればこれでいけます


他アクターの変数も取得できます


同じアクターが複数いる場合

同じアクターが複数いる場合はタグで判別



● ダイレクトブループリント通信

直接通信 とも言う
英語だと Direct Blueprint Communication / Direct Communication


概要

・同一レベル上にある場合は、受け取り側に該当アクター型の変数を作って
レベル上で指定する という方法


手順

トリガーとなる方を開きます
 例:スイッチを押したらドアが開く ならスイッチの方

① 変数作成
② 変数選択
③ リネーム
④ 任意(ドアの方)のアクター型の変数にする
⑤ インスタンス編集可能にしておく
⑥ 実行したい処理を作成
⑦ ⑥のターゲットに作成した変数を繋ぐ


① スイッチの方のアクタを選択
② Detailタブから任意のアクタをプルダウンから選択
  レベル上に配置されていれば選択可能な筈です



● Spawnノードから取得

どちらか、またはどちらもレベル上に無い場合
spawn actor from class(などのアクタ生成ノード) を使っている場合
Return Valueからアクタを変数に出来るので、そこから操作できる

① ピンから promote variables で変数作成
② 変数セット
③ こいつで操作できる



■ 別レベルの場合

別レベルではこうする



別アクターのイベント

更に、別アクターのイベントを発動させたい場合は下記を



この記事が気に入ったらサポートをしてみませんか?