AIが移動する到達地点を取得するContextが知りたい(プレイヤーを周回するAI)

初めて質問させていただきます。

最近、UE4を触り始めたNyuGameと申します。

よろしくお願いします。


早速ですが質問です。

現在プレイヤーを周回するようなEnemyAIを制作したいのですが

AIが移動する到達地点を取得するContextの制作で詰まっております。

つきまして、どなたかSampleや方向性などのヒントをいただくことは出来ませんでしょうか?

Overrideのタイプ、使用するNode、考え方など何でも構いません。

何卒、よろしくお願いします。

以下、補足となります。

ーーーーー

▼目指しているAI動作

〇スクウェア・エニックスにおける UNREAL ENGINE 4 を用いた人工知能技術の開発事例

 スクウェア・エニックスにおける UNREAL ENGINE 4 を用いた人工知能技術の開発事例 - YouTube

ーーーーー

▼簡単な制作経緯

①以下の資料を参考に制作中。

〇参考資料:初心者がEQSやってみた(goolee様)

  初心者がEQSやってみた

②84ページ目の「目標地点のコンテキスト」がわからず詰まる

③Enemyと移動地点を取得して、移動方向のスコアを上げることで指向性を持たせる必要があると認識

④AIの移動先地点の取得、AIが移動する方角のItemを検索して地点を返す

 Enemyの回転から上げたいスコア方面の地点を返す…などの考え方で試行錯誤しているが上手く行かない状態。

※UE4歴が非常に浅いので、簡単な実装やNodeで引っかかっている可能性も大

ーーーーー

▼その他、参考にさせていただいている資料

〇公式ドキュメント(EQS ノードのリファレンス:コンテキスト)

〇公式ドキュメント(ナビゲーション)

 Navigation | Unreal Engine Documentation

〇はじめてのAI~ 愛のあるAIを作ろう(中村 匡彦様)

 はじめてのAI~ 愛のあるAIを作ろう - YouTube

〇【UE4】EQSを使わずにプレイヤーを周回するような位置を求める(Dv7Pavilion様)

 【UE4】EQSを使わずにプレイヤーを周回するような位置を求める - Qiita

〇【UE4】AIのExample Projectを作ってみましたシリーズ(Dv7Pavilion様)

 【UE4】AIのExample Projectを作ってみました(プログラム紹介&解説編)第1章 - Qiita

〇【UE4】EQSを使ってInfluence Mapを作った(Dv7Pavilion様)

 【UE4】EQSを使ってInfluence Mapを作った - Qiita

〇【UE4】AIを良い感じに歩かせたい(Dv7Pavilion様)

 【UE4】AIを良い感じに歩かせたい - Qiita

〇14 - EQS, AIの仕上げ(Kai Yoshida様)

 14 - EQS, AIの仕上げ - YouTube

制作経緯の②で書かれている「目標地点のコンテキスト」は AIにとっての目標 なので恐らく プレイヤーを表すコンテキスト だと思います。

プレイヤーを表すコンテキストの作り方ですが

  1. EnvQueryContext_BlueprintBase クラスの新規のブループリントを作成。(BP_DestinationContextと命名)
  2. BP_DestinationContextを開き Override(オーバーライド) をクリックして Provide Single Actor を選択。
  3. Return NodeのResulting Actorに Get Player Characterノードの返り値 をセットする

の手順で作成できます。

上記の手順はNyu_Gameさんが参考資料として載せられていた 公式ドキュメント(EQS ノードのリファレンス:コンテキスト) にもあります。

PAVI_PAVIさん ご返信ありがとうございます! また、反応遅くなってしまい申し訳ありません。

ご提示いただいた内容に関しまして プレイヤーを表すコンテキストは対象EQS一つ上段の 「BP_PlayerContext」で同様の処理を行っております。

一度、私も「AIの目標地点ってプレイヤーじゃない?」と考え 実装してみたところ、周囲を移動はしてくれるのですが 周回する方向が定まらず、この「目標地点」は「AIが周回する指向性スコア」を 計算するものと考え、今回の質問へと至りました。

引き続き、何かお心当たりがある点などございましたら、ご教授いただけますと幸いです。