Slide 1

Slide 1 text

ユニティちゃんと鬼ごっこができる MRゲームと戦術位置解析システム 2018/07/27 Soichiro Sugimoto sotan(@sotanmochi)

Slide 2

Slide 2 text

自己紹介 • sotan (@sotanmochi) • TIS株式会社・戦略技術センター • 趣味で作ったHoloLensアプリをリリースしました(2018/05) 2018/7/27 2 https://www.microsoft.com/store/apps/9P4XXMW3F1GC

Slide 3

Slide 3 text

Holo OnigokkoというMRゲームについて • HoloLensを使って現実空間でユニティちゃんと鬼ごっこ • 空間マッピングできればどこでも遊べる(10m x 10m以上の広さ) 2018/7/27 3

Slide 4

Slide 4 text

デモ動画 2018/7/27 4 https://www.youtube.com/watch?v=Kth2Qd6z8FE

Slide 5

Slide 5 text

ゲームフィールド生成 • Spatial Mappingでメッシュ生成 • NavMeshBuilderで動的にNavMesh生成 2018/7/27 5

Slide 6

Slide 6 text

ユニティちゃんの戦術 • プレイヤーから遠くに離れる • プレイヤーの正面を避ける • 障害物の後ろに隠れる 2018/7/27 6

Slide 7

Slide 7 text

戦術位置解析(戦術位置検索)システム • キャラクターが自分の移動先のポイントを探し出すシステム • 目的に応じたポイントをその場で探し出す • ゲーム内の地形を、ゲーム内でリアルタイムに把握して、 自分の能力に合わせて、最も適した位置を発見する • CryEngineで発想され、2011年ぐらいから実装されている。 • Unreal Engine 4では、EQS(Environment Query System)で同じ 機能がある。 2018/7/27 7 引用元: ・キャラクターの人工知能のための戦術位置解析システム(CEDEC 2016) ・ゲームキャラクターのための人工知能と社会への応用 ~ FINAL FANTASY XV を事例として ~(de:code 2017)

Slide 8

Slide 8 text

戦術位置解析システム for Unity Unreal Engine 4の実装を参考に自作してみた https://github.com/sotanmochi/EnvironmentQueryForUnity 2018/7/27 8

Slide 9

Slide 9 text

戦術位置解析システム for Unity • キャラクターを中心にポイントを生成 • 各ポイントのスコアを計算 • スコアが最も高いポイントの位置を目的地にする 2018/7/27 9 プレイヤーからの距離 + + プレイヤーの向きとの角度 プレイヤーの死角

Slide 10

Slide 10 text

戦術位置解析システム for Unity デモ(PC版) https://github.com/sotanmochi/SimpleOnigokkoGameUsingEnvQuery 2018/7/27 10

Slide 11

Slide 11 text

まとめ • Spatial Mapping + NavMesh + 戦術位置解析を使って 現実空間をフィールドとするMixed Realityゲームを作った • 戦術位置解析ができるUnityのアセットを見つけられなかったので Unreal Engine 4の実装を参考に自作した • ゲームAI系のオススメのアセットを教えてください 2018/7/27 11

Slide 12

Slide 12 text

ありがとうございました

Slide 13

Slide 13 text

Appendix

Slide 14

Slide 14 text

戦術位置解析システム for Unity 基準位置を中心にポイント(アイテム)を生成 2018/7/27 14

Slide 15

Slide 15 text

戦術位置解析システム for Unity 各ポイント(アイテム)のスコアを計算 2018/7/27 15 プレイヤーの死角 プレイヤーからの距離 プレイヤーの向きとの角度 + +

Slide 16

Slide 16 text

戦術位置解析システム for Unity スコアが最も高いポイントの位置をNavMeshAgentの目的地にする 2018/7/27 16

Slide 17

Slide 17 text

戦術位置解析を有効にする範囲 プレイヤーが接近してきた時にEnvQueryを有効にする (下図のオレンジ色の範囲に入ってきた時) 2018/7/27 17 EscapeDistance forward direction Target (Player)

Slide 18

Slide 18 text

End