エージェント (NavMesh Agent)

公式サイト:

NavMesh Agent | Unity マニュアル [公式]

使い方

参考:

NavMeshAgent – ナビメッシュエージェントの使い方 | Uinty 使い方ガイド

ナビメッシュエージェントの使い方 #1 | 初心者からわかりやすく

NavMesh を使った移動 | yttm-work

NavMesh Agent の作成 | Unity マニュアル [公式]

導入

参考:

ナビメッシュエージェントを使った追尾機能 | フタバゼミ

NavMeshAgent – エリアに入れば追いかけられる | フタバゼミ

設定

  • エージェントタイプ (Agent Type)エージェントの種類 (デフォルトHumanoid)
  • ベースオフセット (Base Offset)床から浮かせる高さを指定する (単位m/デフォルト0)
操縦 (Steering)
  • 速度 (Speed/単位m/s/デフォルト3.5)
  • 角速度 (Angular Speed/単位deg/s/デフォルト120)
  • 加速度 (Acceleration/単位m/s^2デフォルト8)
  • 停止距離 (Stopping Distance)目標の直前で止まる距離 (単位m/デフォルト0)
  • 自動ブレーキ (Auto Braking)目標地点手前で減速する (デフォルト有効)
障害物の回避 (Obstacle Avoidance)
  • 半径 (Radius/単位m/デフォルト0.5)
  • 高さ (Height/単位m/デフォルト2)
  • 品質 (Quality)
    • なし (None)
    • 低品質 (Low Quality)
    • 中品質 (Medium Quality)
    • 良品質 (Good Quality)
    • 高品質 (High Quality/デフォルト)
  • 優先度 (Priority)より小さい値を指定したエージェントを無視する/値が小さい方が優先度が高い (範囲099/デフォルト50)
パス探索 (Path Finding)
  • オフメッシュリンクの移動を自動化 (Auto Traverse Off Mesh Link)オフメッシュリンクを自動的に辿る (デフォルト有効)
  • パスの再取得を自動化 (Auto Repath)部分的な経路の終端で経路を再度探索する (デフォルト有効)
  • エリアマスク (Area Mask)通過可能なエリアマスクを指定する (デフォルトEverything)

参考:

NavMesh Agent | Unity マニュアル [公式]

エージェントをスクリプトで操作する

参考:

NavMesh を使った巡回する NPC のつくりかた – Qiita

複数地点を巡回する GameObject を作成する方法 | とんプログラミング

敵キャラを NavMesh でかしこくかっこよく動かしてみよう | k1t

目標を設定する (SetDestination)

参考:

AI.NavMeshAgent.SetDestination | Unity スクリプトリファレンス [公式]

AI.NavMeshAgent.pathPending | Unity スクリプトリファレンス [公式]

SetDestination() working only one agent at a time? – Unity Forum

NavMesh Agent not working on Terrain – Stack Overflow

状態を判定する

参考:

AI.NavMeshAgent.isOnNavMesh | Unity スクリプトリファレンス [公式]

How to check if player is standing on a walkable part of a NavMesh? – Unity Forum

状態

参考:

NavMesh Agent | Unity マニュアル [公式]

回避 (Avoidance)

参考:

AI.NavMesh.avoidancePredictionTime | Unity スクリプトリファレンス [公式]

NavMesh agents to avoid other agents – Unity Forum

NavMesh Agents are pushing each other – Unity Forum

Agent getting stuck in another Agent when walking in corners – What is the RIGHT solution? – Unity Forum

Official way to make agents avoid each other – Unity Forum

How to approach this problem with NavMesh Agents local avoidance, asset suggestion maybe. – Unity Forum

Is NavMesh system missing an Agent avoidance element? – Unity Forum

Way to stop the Nav Mesh Obstacle avoidance pushing other agents around when they bump into each other – Stack Overflow

How to avoid two NavMesh Agent push away each other? – Stack Overflow

リファレンス

ドキュメント:

AI.NavMeshAgent | Unity スクリプトリファレンス [公式]

Nav Mesh Agent Avoidance in Depth

動画:

NavMeshAgent Avoidance in Depth – 5 Key Takeaways for Optimal Avoidance

リポジトリ:

llamacademy/ai-series-part-32: Learn How Nav Mesh Agent Obstacle Avoidance Works in Depth! – GitHub

Raycast Obstacle Avoidance

フォーラム:

NavMesh and Raycast Obstacle Avoidance – Unity Forum

参考:

How to avoid two NavMesh Agent push away each other? – Stack Overflow

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA