LoginSignup
3
0

More than 5 years have passed since last update.

EQS Generatorを使用する際の注意

Posted at

今回は、私がEQSで自作のGeneratorを使用する際に少し戸惑った点についてお話していければと思います。

はじめに

Generatorはほとんどの場合、Env Query Contextが必要なので作りましょう。
とりあえず、実験段階なので BP_testContextという名前のEnv Query Contextクラスを作成しました。
今回、Env Query Contextの詳しい話はしませんので、よく知りたい方は公式ドキュメントをどうぞ。

BP_testContext

BP_testContextでOverrideした関数は、ProvideLocationsSetだけです。
ProvideLocationsSet.png
こちらはVector型の配列を返すだけの基本的な関数です。

Generatorを自作

今回はこんな感じのGeneratorを自作しました。Generatorの作り方ですが、こちらをどうぞ。
DoItemGeneration.png
こちらの Do Item Generationですが、Overrideしただけです。

感のいい方ならお気づきでしょうが、引数のContext Locationsには先ほどの、BP_testContextのVector型の配列が入ってきます。

準備完了!

さっそくEQSのクラスを作成して実装していきましょう。
今回はこんなEQSクラスを作成しました。
EQSFindCoverLocation.png

Behavior Treeで動かすぞ!

RunEQSQuery.png

いざプレイ!

あれ....動かない....。

本題

ずばり、原因はコレ
EQSGen.png
GeneratorタブContextと、Generated Item TypeNoneになってるのが問題です。
これだと、何をしようがBehavior Treeで動きません。(正確には失敗が返される)

直せばイイじゃん

EQSGenFix.png
直しました。よし、これで動くはずだな......。

動かない......。

神に祈ろうが、お風呂に入ってサッパリしようが動きません。
すべての元凶は、自作したGeneratorにありました。
EQGFix.png
GeneratorEQSと同様に、ContextGenerated Item Typeを変更しないと上手く動作しないらしいのです。

動いた!一件落着!!

お疲れさまでした。もし同じことで悩んでいる方が私の記事を見て、少しでも助けになったのであれば幸いです。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0