UMGでプレイヤーではないPawnの変数を取得する

3Dアクションゲームを作成しています。

UMGでHUDを作成し、ボスステージで敵のライフをプログレスバーで表示したいのですが、
プレイヤーの場合は「GetPlayerPawn」で変数等に簡単にアクセスできるものの、
敵の場合はウィジェットブループリントからアクセスすればよいのかわかりませんでした。

プレイヤー以外のPawnの変数をウィジェットブループリントで取得するにはどうしたらよいでしょうか?

一旦敵の体力を第三者に預け、それをウィジェットから読み取ります。

  1. 敵BPの方でget game modeでゲームモードBPをキャスト。
  2. ゲームモードBPには(ボス)敵体力用の変数を作っておく。
  3. 敵BPの方からゲームモードBPに対して、体力の数値を2で作った変数に入れる。
  4. ゲームモードからであれば、UMGによる変数の読み取りも可能。

※例としてゲームモードにしましたが、都合が悪ければ他にもget~でどこからでも
キャスト出来そうなBPがあれば代用できるはずです。

似たような質問がありました。

link text

やり方は色々あるので一概にコレと言えませんが、GetAllActorOfClassで引っ張る形が良いかなと思います。

katutojiWazen さん
そうかもしれないな…と思っていましたがやはりそうなのですね。
なんとなく力技っぽいので避けていたのですが。
試してみたらあっさりできました。ありがとうございました!

motayoshi.san さん
ウィジェットブループリント上でGetAllActorOfClassするとエラーが出るようです。
私のやり方が悪い可能性は高いですが…。
ひとまず目的は叶ったので、後ほど検証してみようと思います。
ありがとうございました!