Submit Search
Upload
初心者がEQSやってみた
•
Download as PPTX, PDF
•
5 likes
•
4,436 views
goolee
Follow
https://ue4study-osaka.connpass.com/event/93325/ での講演資料です。
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 101
Download now
Recommended
なぜなにFProperty - 対応方法と改善点 -
なぜなにFProperty - 対応方法と改善点 -
エピック・ゲームズ・ジャパン Epic Games Japan
猫でも分かる UE4の新しいサンプル「Action RPG」について
猫でも分かる UE4の新しいサンプル「Action RPG」について
エピック・ゲームズ・ジャパン Epic Games Japan
UE4とUnrealC++について
UE4とUnrealC++について
Masahiko Nakamura
わからないまま使っている?UE4 の AI の基本的なこと
わからないまま使っている?UE4 の AI の基本的なこと
rarihoma
猫でも分かるUE4.22から入ったSubsystem
猫でも分かるUE4.22から入ったSubsystem
エピック・ゲームズ・ジャパン Epic Games Japan
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
historia_Inc
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
com044
UE4におけるキャラクタークラス設計
UE4におけるキャラクタークラス設計
Masahiko Nakamura
Recommended
なぜなにFProperty - 対応方法と改善点 -
なぜなにFProperty - 対応方法と改善点 -
エピック・ゲームズ・ジャパン Epic Games Japan
猫でも分かる UE4の新しいサンプル「Action RPG」について
猫でも分かる UE4の新しいサンプル「Action RPG」について
エピック・ゲームズ・ジャパン Epic Games Japan
UE4とUnrealC++について
UE4とUnrealC++について
Masahiko Nakamura
わからないまま使っている?UE4 の AI の基本的なこと
わからないまま使っている?UE4 の AI の基本的なこと
rarihoma
猫でも分かるUE4.22から入ったSubsystem
猫でも分かるUE4.22から入ったSubsystem
エピック・ゲームズ・ジャパン Epic Games Japan
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
historia_Inc
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
com044
UE4におけるキャラクタークラス設計
UE4におけるキャラクタークラス設計
Masahiko Nakamura
猫でも分かる UE4のAnimation Blueprintの運用について
猫でも分かる UE4のAnimation Blueprintの運用について
エピック・ゲームズ・ジャパン Epic Games Japan
UE4におけるレベル制作事例
UE4におけるレベル制作事例
エピック・ゲームズ・ジャパン Epic Games Japan
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 1
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 1
エピック・ゲームズ・ジャパン Epic Games Japan
猫でも分かるUMG
猫でも分かるUMG
エピック・ゲームズ・ジャパン Epic Games Japan
Unreal Engine 4.27 ノンゲーム向け新機能まとめ
Unreal Engine 4.27 ノンゲーム向け新機能まとめ
エピック・ゲームズ・ジャパン Epic Games Japan
UE4で作成するUIと最適化手法
UE4で作成するUIと最適化手法
エピック・ゲームズ・ジャパン Epic Games Japan
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
Tatsuya Iwama
UE4における大規模背景制作事例 最適化ワークフロー編
UE4における大規模背景制作事例 最適化ワークフロー編
エピック・ゲームズ・ジャパン Epic Games Japan
はじめてのAI~ 愛のあるAIを作ろう
はじめてのAI~ 愛のあるAIを作ろう
Masahiko Nakamura
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
エピック・ゲームズ・ジャパン Epic Games Japan
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
エピック・ゲームズ・ジャパン Epic Games Japan
60fpsアクションを実現する秘訣を伝授 基礎編
60fpsアクションを実現する秘訣を伝授 基礎編
エピック・ゲームズ・ジャパン Epic Games Japan
[CEDEC2017] 最新モバイルゲームの実例からみるUE4のモバイル向け機能・Tipsを全部まるっとご紹介!
[CEDEC2017] 最新モバイルゲームの実例からみるUE4のモバイル向け機能・Tipsを全部まるっとご紹介!
エピック・ゲームズ・ジャパン Epic Games Japan
UE4 アセットロード周り-アセット参照調査-
UE4 アセットロード周り-アセット参照調査-
com044
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
com044
UE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろう
エピック・ゲームズ・ジャパン Epic Games Japan
Nintendo Switch『OCTOPATH TRAVELER』はこうして作られた
Nintendo Switch『OCTOPATH TRAVELER』はこうして作られた
エピック・ゲームズ・ジャパン Epic Games Japan
UE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演) #UE4DD
UE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演) #UE4DD
エピック・ゲームズ・ジャパン Epic Games Japan
Robo Recallで使われている最新のVR開発テクニックをご紹介!
Robo Recallで使われている最新のVR開発テクニックをご紹介!
エピック・ゲームズ・ジャパン Epic Games Japan
[CEDEC2017] UE4プロファイリングツール総おさらい(グラフィクス編)
[CEDEC2017] UE4プロファイリングツール総おさらい(グラフィクス編)
エピック・ゲームズ・ジャパン Epic Games Japan
20181031 springfest spring data geode
20181031 springfest spring data geode
Masaki Yamakawa
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Takahiko Ito
More Related Content
What's hot
猫でも分かる UE4のAnimation Blueprintの運用について
猫でも分かる UE4のAnimation Blueprintの運用について
エピック・ゲームズ・ジャパン Epic Games Japan
UE4におけるレベル制作事例
UE4におけるレベル制作事例
エピック・ゲームズ・ジャパン Epic Games Japan
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 1
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 1
エピック・ゲームズ・ジャパン Epic Games Japan
猫でも分かるUMG
猫でも分かるUMG
エピック・ゲームズ・ジャパン Epic Games Japan
Unreal Engine 4.27 ノンゲーム向け新機能まとめ
Unreal Engine 4.27 ノンゲーム向け新機能まとめ
エピック・ゲームズ・ジャパン Epic Games Japan
UE4で作成するUIと最適化手法
UE4で作成するUIと最適化手法
エピック・ゲームズ・ジャパン Epic Games Japan
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
Tatsuya Iwama
UE4における大規模背景制作事例 最適化ワークフロー編
UE4における大規模背景制作事例 最適化ワークフロー編
エピック・ゲームズ・ジャパン Epic Games Japan
はじめてのAI~ 愛のあるAIを作ろう
はじめてのAI~ 愛のあるAIを作ろう
Masahiko Nakamura
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
エピック・ゲームズ・ジャパン Epic Games Japan
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
エピック・ゲームズ・ジャパン Epic Games Japan
60fpsアクションを実現する秘訣を伝授 基礎編
60fpsアクションを実現する秘訣を伝授 基礎編
エピック・ゲームズ・ジャパン Epic Games Japan
[CEDEC2017] 最新モバイルゲームの実例からみるUE4のモバイル向け機能・Tipsを全部まるっとご紹介!
[CEDEC2017] 最新モバイルゲームの実例からみるUE4のモバイル向け機能・Tipsを全部まるっとご紹介!
エピック・ゲームズ・ジャパン Epic Games Japan
UE4 アセットロード周り-アセット参照調査-
UE4 アセットロード周り-アセット参照調査-
com044
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
com044
UE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろう
エピック・ゲームズ・ジャパン Epic Games Japan
Nintendo Switch『OCTOPATH TRAVELER』はこうして作られた
Nintendo Switch『OCTOPATH TRAVELER』はこうして作られた
エピック・ゲームズ・ジャパン Epic Games Japan
UE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演) #UE4DD
UE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演) #UE4DD
エピック・ゲームズ・ジャパン Epic Games Japan
Robo Recallで使われている最新のVR開発テクニックをご紹介!
Robo Recallで使われている最新のVR開発テクニックをご紹介!
エピック・ゲームズ・ジャパン Epic Games Japan
[CEDEC2017] UE4プロファイリングツール総おさらい(グラフィクス編)
[CEDEC2017] UE4プロファイリングツール総おさらい(グラフィクス編)
エピック・ゲームズ・ジャパン Epic Games Japan
What's hot
(20)
猫でも分かる UE4のAnimation Blueprintの運用について
猫でも分かる UE4のAnimation Blueprintの運用について
UE4におけるレベル制作事例
UE4におけるレベル制作事例
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 1
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 1
猫でも分かるUMG
猫でも分かるUMG
Unreal Engine 4.27 ノンゲーム向け新機能まとめ
Unreal Engine 4.27 ノンゲーム向け新機能まとめ
UE4で作成するUIと最適化手法
UE4で作成するUIと最適化手法
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
UE4における大規模背景制作事例 最適化ワークフロー編
UE4における大規模背景制作事例 最適化ワークフロー編
はじめてのAI~ 愛のあるAIを作ろう
はじめてのAI~ 愛のあるAIを作ろう
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
60fpsアクションを実現する秘訣を伝授 基礎編
60fpsアクションを実現する秘訣を伝授 基礎編
[CEDEC2017] 最新モバイルゲームの実例からみるUE4のモバイル向け機能・Tipsを全部まるっとご紹介!
[CEDEC2017] 最新モバイルゲームの実例からみるUE4のモバイル向け機能・Tipsを全部まるっとご紹介!
UE4 アセットロード周り-アセット参照調査-
UE4 アセットロード周り-アセット参照調査-
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
UE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろう
Nintendo Switch『OCTOPATH TRAVELER』はこうして作られた
Nintendo Switch『OCTOPATH TRAVELER』はこうして作られた
UE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演) #UE4DD
UE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演) #UE4DD
Robo Recallで使われている最新のVR開発テクニックをご紹介!
Robo Recallで使われている最新のVR開発テクニックをご紹介!
[CEDEC2017] UE4プロファイリングツール総おさらい(グラフィクス編)
[CEDEC2017] UE4プロファイリングツール総おさらい(グラフィクス編)
Similar to 初心者がEQSやってみた
20181031 springfest spring data geode
20181031 springfest spring data geode
Masaki Yamakawa
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Takahiko Ito
[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2
Atsuo Yamasaki
軽量EvernoteクライアントSmartEverにおけるアプリ高速化の工夫と課題
軽量EvernoteクライアントSmartEverにおけるアプリ高速化の工夫と課題
Makoto Setoh
WebRTC getStats - WebRTC Meetup Tokyo 5 LT
WebRTC getStats - WebRTC Meetup Tokyo 5 LT
mganeko
Selenium webdriver使ってみようず
Selenium webdriver使ってみようず
Oda Shinsuke
T sql の parse と generator
T sql の parse と generator
Oda Shinsuke
JavaScriptCore.framework の普通な使い方 #cocoa_kansai
JavaScriptCore.framework の普通な使い方 #cocoa_kansai
Tomohiro Kumagai
Similar to 初心者がEQSやってみた
(8)
20181031 springfest spring data geode
20181031 springfest spring data geode
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2
軽量EvernoteクライアントSmartEverにおけるアプリ高速化の工夫と課題
軽量EvernoteクライアントSmartEverにおけるアプリ高速化の工夫と課題
WebRTC getStats - WebRTC Meetup Tokyo 5 LT
WebRTC getStats - WebRTC Meetup Tokyo 5 LT
Selenium webdriver使ってみようず
Selenium webdriver使ってみようず
T sql の parse と generator
T sql の parse と generator
JavaScriptCore.framework の普通な使い方 #cocoa_kansai
JavaScriptCore.framework の普通な使い方 #cocoa_kansai
初心者がEQSやってみた
1.
初心者がEQSやってみた
2.
目次 ●自己紹介 ●EQSって? ●Item ●Context ●Generator 〇ActorOfClass 〇Circle 〇Donut 〇Grid ●Test 〇Distance 〇Dot 〇Pathfinding 〇Trace ●EQSの実行方法 〇ビヘイビアツリーで 〇ブループリントで ●EQSにパラメータを渡す ●実演 〇敵探索 〇標的周りを円運動 〇標的に攻撃可能な位置に移動 ●参考資料 ●まとめ
3.
自己紹介 ●HN:goolee ●Twitter:goolee07 ●社会人1年目ゲームプログラマー ●UE4歴 3年くらい
4.
EQSって? レベル上から情報を収集し、Item(位置情報やアクタの情報)を生成、 それらにTest(複数の条件式を与えスコアを計算する)を行い、 一番欲しい情報を取得するシステム
5.
EQSって? 日常生活でよくやっていることじゃん!
6.
EQSって? 徒歩 5分 品揃えが好み じゃない 徒歩 7分 品揃え好み コンビニ行きたいなぁ アイテム テスト
テスト
7.
Item レベル上の位置情報やアクタの情報 テストの結果のスコアを保持する EQSTestingPawnクラスを継承したブループリントでデバッグ表示可能
8.
Generator レベルから情報を読み取り、Itemを生成するもの 今日話す 〇ActorOfClass 〇Circle 〇Donut 〇Grid 今日話さない 〇Composite 〇CurrentLocation 〇Cone 〇PathingGrid
9.
Context ●Generator アイテム生成の基準となるなにか ●Test スコア計算の基準となるなにか Context はアクターとして扱える デフォルトで用意されているもの 〇EnvQueryContext_Item Generatorで生成されたアイテム 〇EnvQueryContext_Querier EQSを実行しているPawn EnvQueryContext_BlueprintBaseクラスを継承して作成が可能
10.
Generator - ActorOfClass
- 指定範囲内のアクタ情報のアイテムを生成する
11.
Generator - ActorOfClass
- ●SearchedActor Class 検索するアクタのクラスを指定 デフォルトではActor
12.
Generator - ActorOfClass
- ●Generate Only Actors in Radius 有効になっていないと、レベル上の指定した アクタすべてを検索する
13.
Generator - ActorOfClass
- ●Search Radius 対象アクタを検索する範囲
14.
Generator - ActorOfClass
- ●Search Center 検索の中心となるコンテキスト デフォルトではQuerier
15.
Generator - Circle
- 指定半径の円上に位置情報のアイテムを生成する
16.
Generator - Circle
- ●Circle Radius 中心からの円の半径
17.
Generator - Circle
- ●Circle Center 円の中心となるコンテキスト
18.
Generator - Circle
- 〇Point On Circle Spacing Method ●Space Between 指定間隔でアイテムを生成 ●Number Of Points 円上の指定個数のアイテムを生成
19.
Generator - Circle
- 〇ArcDirection チェックを入れるかArcAngleを360から変更すると 自動で有効になる 円ではなく扇形になり、弧上にアイテムを生成する
20.
Generator - Circle
- ●ArcDirection ○Rotation 指定したコンテキストの向きに扇形を生成 〇Two Points 指定したベクトル方向に扇形を生成
21.
Generator - Donut
- 複数円上に位置情報のアイテムを生成する
22.
Generator - Donut
- ●Inner Radius 内側の円の半径
23.
Generator - Donut
- ●Outer Radius 外側の円の半径
24.
Generator - Donut
- ●Number Of Rings 生成する円の数
25.
Generator - Donut
- ●Points Per Ring 各円上に生成するアイテムの数
26.
Generator - Donut
- ●Use Spiral Pattern 有効にすると生成されたアイテムが らせん状に配置される
27.
Generator - Donut
- ●Center 円の中心となるコンテキスト
28.
Generator - Grid
- 格子状に位置情報のアイテムを生成する
29.
Generator - Grid
- ● GridHalfSize 生成する格子の半分の高さと幅
30.
Generator - Grid
- ● Space Between アイテム間の距離
31.
Generator - Grid
- ● GenerateAround 格子の中心となるコンテキスト
32.
Generator - Circle
- ○TraceData CircleCenterの高さのXY方向にトレースを行い、アイテムの 生成位置を変更する。 ●None 障害物を検出しない 障害物内部にアイテムがめり込む
33.
Generator - Circle
- ○TraceData XY方向にトレースを行い、アイテムの生成位置を変更する。 ●Navigation NavMeshをもとに障害物を検出する NavMeshのエッジ上に生成される
34.
Generator - Circle
- ○TraceData XY方向にトレースを行い、アイテムの生成位置を変更する。 ●Geometry 地形をもとに障害物を検出 地形にヒットした位置にアイテムを生成
35.
Generator - Circle
- ●ProjectionData Z方向にトレースした際にヒットした地形にアイテムを生成 〇None:トレースをしない
36.
Generator - Circle
- ●ProjectionData Z方向にトレースした際にヒットした地点にアイテムを生成 〇Navigation ヒットした地点にNavMeshがあれば NavMeshにそって生成
37.
Generator - Circle
- ●ProjectionData Z方向にトレースした際にヒットした地点にアイテムを生成 〇Geometry ヒットした地点に生成 地形に沿った位置にアイテムが生成される
38.
Test スコアを計算するための条件 今日話す 〇Distance 〇Dot 〇Pathfinding 〇Trace 今日話さない 〇GameplayTags 〇Oveerlap 〇Pathfinding Batch 〇Project
39.
Test ●TestPurpose 〇Filter 条件に当てはまらないアイテムはスコアの計算対象から除外 別のテストでも計算されなくなる 〇Score 全アイテムのスコアを計算 〇FilterAndScore 条件に当てはまるアイテムのみスコアを計算 あてはまらないものは計算対象から除外
40.
Test - distance
- アイテムから対象までの距離でスコアを計算する
41.
Test - distance
- 〇TestMode ●Distance3D 3次元座標上での距離をチェック ●Distance2D XY平面上での距離をチェック ●Distance Z 高さでの距離をチェック ●Distance Z (Absolute) 単純な高さで距離をチェック
42.
Test - distance
- ●DistanceTo 距離の測定に使用するコンテキスト
43.
Test – dot
- 2つのベクトルの内積でスコアを計算
44.
Test – dot
- ベクトルは2通りの設定方法がある 〇Mode:Rotation Rotationで指定したコンテキストが 向いている方向 ●Rotation: ベクトルの起点となる コンテキスト
45.
Test – dot
- ベクトルは2通りの設定方法がある 〇Mode:TwoPoints 起点から終点へのベクトル ●LineFrom: ベクトルの起点となる コンテキスト ●LineTo: ベクトルの終点となる コンテキスト
46.
Test – dot
- 〇TestMode ●Dot(3D) 三次元座標での内積 ●Dot2D XY平面上での内積
47.
Test – dot
- 〇AbsoluteValue 有効にすると 左右、上下それぞれのスコアが同じ値になります。
48.
Test – pathfinding
- アイテムまで到達可能か判定
49.
Test – pathfinding
- ●Context ここで指定したコンテキストまでのパスがあるかを判断する ●Path from Context アイテムからコンテキストではなく コンテキストからアイテムへのパス探索に切り替わる
50.
Test - Trace
- アイテムとの間に障害物があるか判定
51.
Test – trace
- ●Trace from Context チェックを入れると、 指定したコンテキストから Itemへとトレース方向が逆になる
52.
Test – Trace
- ●Boolの一致 〇True アイテムとの間に障害物あり、スコア計算対象から除外 〇False 障害物なし
53.
EQSの作成 [エディタの環境設定] ⇒ [実験段階] Environment
Quering System のチェックを有効に
54.
EQSの作成 [右クリック] ⇒ [AI]
⇒ [環境クエリ]で作成できる
55.
EQSの実行 2通りの方法 〇ビヘイビアツリーで実行 〇Blueprintで実行
56.
EQSの実行 – ビヘイビアツリー
- ●BlackBoardKey EQSの結果の保存先 ●QueryTemplate 実行するEQS ●RunMode アイテムを選択する方法
57.
EQSの実行 – ブループリント- ●QueryTemplate 実行するEQS ●Querier EQSを実行するコンテキスト ●RunMode アイテムを選択する方法
58.
EQSの実行 - Run
EQSQueryノード - ●アイテムを取得するには OnQueryFinishedを割り当てる
59.
EQSの実行 ●RunMode アイテムを取得する方法 〇SingleBestItem スコアが最大のもの 〇SingleRandomItemForBest5% スコアが大きい5%の中からランダムに一つ 〇SingleRandomItemForBest25% スコアが大きい25%の中からランダムに1つ 〇AllMatching スコアの計算されたものすべて
60.
EQSの実行 - Run
EQSQueryノード - ●QueryInhstanceピンから2つの関数が取得できる GetResultsAsActors と GetResultsAsLocations それぞれの配列のインデックス0がEQSの実行結果
61.
EQSの実行 - Run
EQSQueryノード - ●スコアを取得したい場合 QueryInstanceピンから GetItemScore関数で取得可能
62.
EQSにパラメータを渡す ●DataBinding QueryParams に設定 〇ParamName パラメータ名
63.
EQSにパラメータを渡す ●ビヘイビアツリーで渡す場合 RunEQSQueryのQueryConfigに 設定したパラメータが追加されている 〇BBKey 設定するとブラックボードの値が パラメータとして渡される
64.
EQSにパラメータを渡す ●ブループリントで渡す場合 RunEQSQueryノードのReturnValueからSetNamedParamノード 〇ParamName EQSに設定したパラメータ名 〇Value 渡す値
65.
実演
66.
実演 – 敵探索のEQS
- ●行うことは? 〇自分を中心とした探索 〇指定したアクタを探索 〇一定距離以内のアクタを探索対象 〇一番近い距離のアクタを選択
67.
実演 – 敵探索のEQS
- 〇自分を中心とした敵探索 Generator [ActorOfClass] を使用 Search Center は Querier
68.
実演 – 敵探索のEQS
- 〇指定したアクタを探索 Searched Actor Class に探索するアクタを指定
69.
実演 – 敵探索のEQS
- 〇一定距離以内のアクタを探索対象 Search Radius を探索する距離に変更
70.
実演 – 敵探索のEQS
- 〇一番近い距離のアクタを選択 Test [Distance] を追加 TestPurposeを Score Onlyに
71.
実演 – 敵探索のEQS
- 〇一番近い距離のアクタを選択 Scoring Equation を Inverse Linearに 近いアイテムのスコアを高くする
72.
実演 – 標的周りを円運動
- ●行うことは? 〇対象を中心とした複数円を生成 〇自身から一番近い円上の点 〇自身から対象へのベクトルに垂直方向の円上の点 〇自身の移動方向の円上の点 〇自身から一定距離離れた円上の点 〇自身の目標地点から一定距離離れた円上の点 〇各条件の重みを調整
73.
実演 – 標的周りを円運動
- 〇対象を中心とした複数円を生成 Generator [ActorOfClass] を使用 Search Center は対象のコンテキスト
74.
実演 – 標的周りを円運動
- 〇対象を中心とした複数円を生成 Inner Radius は対象に一番近づく距離 Outer Radius は対象から一番離れる距離を設定
75.
実演 – 標的周りを円運動
- 〇対象を中心とした複数円を生成 最小円、最大円含めた円をいくつ生成するか設定 各円にいくつアイテムを生成するか設定
76.
実演 – 標的周りを円運動
- 〇対象を中心とした複数円を生成 生成したアイテムをらせん状に配置
77.
実演 – 標的周りを円運動
- 〇自身から一番近い円上の点 Test [Distance] を追加 TestPurposeを Score Onlyに
78.
実演 – 標的周りを円運動
- 〇自身から一番近い円上の点 Scoring Equation を Inverse Linearに 近いアイテムのスコアを高くする
79.
実演 – 標的周りを円運動
- 〇自身から対象へのベクトルに垂直方向の円上の点 Test [Dot] を追加 TestPurposeを Score Onlyに
80.
実演 – 標的周りを円運動
- 〇自身から対象へのベクトルに垂直方向の円上の点 LineAをTowPointsに設定 LineFromを自身のコンテキスト LineToを対象のコンテキストに設定
81.
実演 – 標的周りを円運動
- 〇自身から対象へのベクトルに垂直方向の円上の点 LineBをTowPointsに設定 LineFromを自身に LineToを生成したItemに設定
82.
実演 – 標的周りを円運動
- 〇自身から対象へのベクトルに垂直方向の円上の点 Scoring Equation を Inverse Linearに 横、後ろ方向のアイテムのスコアを高くする
83.
実演 – 標的周りを円運動
- 〇自身の移動方向の円上の点 Test [Dot] を追加 TestPurposeを Score Onlyに
84.
実演 – 標的周りを円運動
- 〇自身の移動方向の円上の点 LineAをTowPointsに設定 LineFromを自身のコンテキスト LineToを目標地点のコンテキストに設定
85.
実演 – 標的周りを円運動
- 〇自身の移動方向の円上の点 LineBをTowPointsに設定 LineFromを自身に LineToを生成したItemに設定
86.
実演 – 標的周りを円運動
- 〇自身から一定距離離れた円上の点 Test [Distance] を追加 TestPurposeを Filter Onlyに
87.
実演 – 標的周りを円運動
- 〇自身から一定距離離れた円上の点 DistanceTo を自身のコンテキストに設定
88.
実演 – 標的周りを円運動
- 〇自身から一定距離離れた円上の点 FilterTypeをMinimum に FloatValue Minで距離を指定
89.
実演 – 標的周りを円運動
- 〇自身の目標地点から一定距離離れた円上の点 Test [Distance] を追加 TestPurposeを Filter Onlyに
90.
実演 – 標的周りを円運動
- 〇自身の目標地点から一定距離離れた円上の点 DistanceTo を目標地点の コンテキストに設定
91.
実演 – 標的周りを円運動
- 〇自身の目標地点から一定距離離れた円上の点 FilterTypeをMinimum に FloatValue Minで距離を指定
92.
実演 – 標的周りを円運動
- 〇各条件の重みを調整 Scoring Factor でスコアの重みを変更 自身に近い距離のアイテムを4 進行方向のアイテムを2 に設定
93.
実演 –対象に攻撃可能な位置に移動- ●行うことは? 〇対象を中心とした円を計算 〇円の半径は攻撃が届く距離 〇自身から一番近い円上の点を選択
94.
実演 –対象に攻撃可能な位置に移動- 〇対象を中心とした円を計算 Generator [Circle]
を使用 Circle Center に 攻撃対象の コンテキストを設定
95.
実演 –対象に攻撃可能な位置に移動- 〇対象を中心とした円を計算 Points on
Cicle Spacing Method を By Number Of Points に設定 NumberOfPoints を 12に
96.
実演 –対象に攻撃可能な位置に移動- 〇円の半径は攻撃が届く距離 Circle Radius
を 攻撃が届く距離に設定
97.
実演 –対象に攻撃可能な位置に移動- 〇自身から一番近い円上の点を選択 Test [Distance]
を追加 TestPurposeを Score Onlyに
98.
実演 –対象に攻撃可能な位置に移動- 〇自身から一番近い円上の点を選択 Scoring Equation
を Inverse Linearに 近いアイテムのスコアを高くする
99.
まとめ EQSについての説明、実演をしてきました しかし、まだまだ情報が少ないのが現状です ぜひEQSをつかって様々な処理を実装してみてください そして知見の共有をお願いします
100.
参考資料 ●はじめてのAI ~愛のあるAIを作ろう~ https://www.slideshare.net/masahikonakamura50/ai-ai-62023284 ●スクウェア・エニックスにおけるUnrealEngine4を用いた 人口技能技術の開発事例 https://www.youtube.com/watch?v=BV2GTGbSjq8&t=2426s
101.
ご清聴ありがとうございました。
Download now