yumayuma
(Yuma Hino)
1
お世話になります。
タスク外からブラックボードにある変数の値を設定しようと思い、画像1のような処理を実装したのですがうまく動きません。(敵Character上のブループリントに持たせている処理です)
あらかじめレベル内に配置した敵は問題無く値の取得/設定ができているようなのですが、SpawnAIFromClassを使用してスポーンさせた敵は画像2のようにでたらめな値が入った状態になってしまい、値を設定しようとしても値が更新されず困っています。
VectorではなくString等でも試してみましたが、結果は同じように何も値が入っていない状態になりました。
レベル上に配置した敵が問題無く動作している為、いけそうな感じなのですが・・・。
どなたかご教示願います。
alwei
(alwei)
2
タスク外というのはこのブループリント自体の親はAIControllerでいいのでしょうか?
そうでなければそもそもブラックボード内の変数は参照できないと思います。仰るようにレベル内に配置していなくても参照はできると思いますが、AIController上で以下のドキュメント通りにやってみても動作しないという事であれば別の問題かもしれません。
https://docs.unrealengine.com/latest/JPN/Engine/AI/BehaviorTrees/QuickStart/6/index.html
一度ご確認してみてください。
yumayuma
(Yuma Hino)
3
回答ありがとうございます。
このBPの親はCharacterです。
AIController上ではなかったため中途半端な結果となってしまったのでしょうか・・・。
いただいたリンクの通り、AIController上で試してみたところSpawnAIFromClassからスポーンさせた敵でも問題なく動作しました。
ありがとうございました。
nerimax
(nerimax)
4
AIControllerを保持するCharacterであれば、GetAIControllerで取得できるので、BlackBoardへのアクセスは可能です。
*とんちんかんな答えだったらすいません、、