EQS~PointsCircleの紹介と解説~

EQS・・・EnviromentQuerySystem(環境クエリシステム)の略。

EQSとは??に関しては、以下のサイトをご覧ください。

【UE4 EQS】EQSってどういうもの?|manuo|note

 

EQSにはジェネレーターというものが存在します。

ジェネレーターは、アイテムの置き方を決めるもの。

円状に置いたり格子状に置いたりと・・・

いろいろな配置方法が用意されてます。

 

今回は、Points:Circleというジェネレーターの紹介をします。

~目次~

EQSTestingPawnの作成

EQSがどのように機能するかテストするためのポーンです。

f:id:Free_Gamer:20220125225150j:plain

「BP_EQSTesingPawn」と命名しました。

f:id:Free_Gamer:20220125225347j:plain

レベル上に配置して完了です。

f:id:Free_Gamer:20220125225832p:plain

EQSの作成

f:id:Free_Gamer:20220125230328j:plain

「EQS_PointsCircle」と命名

f:id:Free_Gamer:20220125230411j:plain

Points:Circleの作成

「EQS_PointCircle」を開きます。

ルートからピンを引っ張り

Points:Circleを選択。

f:id:Free_Gamer:20220125215524j:plain

Points:Circleは、周囲にサークル状(円状)にアイテムを生成するジェネレーターです。

f:id:Free_Gamer:20220125215329j:plain

レベル上に配置した「BP_EQSTesingPawn」を選択し

詳細パネルのQueryTemplateに、「EQS_PointCircle」を割り当てます。

f:id:Free_Gamer:20220125230710j:plain

「BP_EQSTesingPawn」の周囲に、サークル状(円状)にアイテムが生成されていますね。

f:id:Free_Gamer:20220125215248p:plain

Points:Circleの機能

ここからは、Points:Circleの機能について説明します。

(ちょくちょくわからず省いてるところもありますが、ご容赦を・・・)

f:id:Free_Gamer:20220125215645j:plain

CircleRadius

サークルの半径。

値が大きいほどサークルが大きく

値が小さいほど、サークルが小さくなる。

f:id:Free_Gamer:20220125222243j:plain

f:id:Free_Gamer:20220125222126j:plain

 

SpaceBetween

アイテムとアイテムの間隔。

値が大きいほど、間隔が大きく

値が小さいほど、間隔が小さくなる。

f:id:Free_Gamer:20220125222656j:plain

f:id:Free_Gamer:20220125222707j:plain

 

NumberOfPoints

アイテムの生成数。

値が大きいほど、アイテムの生成数が増え

値が小さいほど、アイテムの生成数が減る。

f:id:Free_Gamer:20220125222951j:plain

f:id:Free_Gamer:20220125223000j:plain




PointOnCircleSpcingMethod

アイテムの配置方法の選択

BySpaceBetween・・・SpaceBetweenの値を使用する。

ByNumberOfPoints・・・NumberOfPointsの値を使用する。

f:id:Free_Gamer:20220125223130j:plain

 

ArcAngle

アイテムの生成角度

0~360の値で設定可能。

f:id:Free_Gamer:20220125223617j:plain

f:id:Free_Gamer:20220125223624j:plain

 

CircleCenter

円の中心となるアクターを選択可能。

例)プレイヤーを中心にしたい場合

EnvQueryContext_BlueprintBase」を作成。

f:id:Free_Gamer:20220125223858j:plain

「BP_PlayerContext」と命名

f:id:Free_Gamer:20220125223952j:plain

関数のオーバーライドから

ProvideSingleActor」を選択。

f:id:Free_Gamer:20220125224220j:plain

「ProvideSingleActor」の中身は以下のように。

GetActorOfCalssでプレイヤー(ThirdPersonCharacter)を取得しています。

f:id:Free_Gamer:20220125224418j:plain

CircleCenterを「BP_PlayerContext」にします。

f:id:Free_Gamer:20220125224810j:plain

プレイヤー(ThirdPersonCharacter)を中心にアイテムがサークル状に配置されます。

f:id:Free_Gamer:20220125224857p:plain

CircleCenterZOffset

アイテムの高さ。

値が大きいほど、アイテムの位置が高く

値が小さいほど、アイテムの位置が低くなります。

f:id:Free_Gamer:20220125231938j:plain

f:id:Free_Gamer:20220125231946j:plain

 

とりあえずわかるのはここまでです。

それではまた^^ノシ