ナビメッシュ (NavMesh)

敵キャラクターや NPC が移動可能な領域を内部的にメッシュとして保持するデータオブジェクト。シーン内のジオメトリを歩行可能サーフェスや障害物として指定してベイクすることで作成する。

  1. ベイク対象のオブジェクトを Navigation Static に設定する。
  2. メニューから「Window > AI > Navigation」を選択して、Navigation ウィンドウを開く。
  3. 「Bake」タブで「Bake」ボタンをクリックしてベイクを実行する。
  4. シーンファイル (.unity ファイル) のあるディレクトリにシーンの名前でディレクトリが作成され、NavMesh ファイル (NavMesh.asset) が配置される。

参考:

ナビメッシュの作成 | Unity マニュアル [公式]

 概要

参考:

Unity の ナビゲーションシステム | Unity マニュアル [公式]

ナビゲーションシステムの内部的なしくみ | Unity マニュアル [公式]

使い方

参考:

NavMesh を改めておさらい。- Qiita

敵キャラを Unity のナビゲーション機能を使って移動させる | かめくめ

導入

参考:

サクッと Navmesh を実装する手順 | TECH Projin

NavMeshを使った移動 | yttm-work

NavMesh Agent でよい感じにキャラクターを歩かせる | tanaka’s Programming Memo

NavMesh を学ぶ 焼けた編 | 陰干し中のゲーム開発メモ

NavMesh を学ぶ 障害物編 | 陰干し中のゲーム開発メモ

NavMesh Agent

参考:

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

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

オフメッシュリンク (Off Mesh Link)

参考:

AI が賢く移動できるための機能、NavMesh とオフメッシュリンクを設定する – Qiita

Unity のナビゲーション機能で Off Mesh Link を使って移動 | かめくめ

Off-mesh Link の作成 | Unity マニュアル [公式]

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

参考:

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

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

NavMesh Surface

参考:

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

NavMesh Modifier

参考:

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

NavMesh を描画する

参考:

NavMesh を描画 – Qiita

NavMeshTriangulation | Unity Scripting API [Official]

NavMesh コンポーネント

参考:

NavMesh | Unity Scripting API [Official]

AllAreas

参考:

AI.NavMesh.AllAreas | Unity Scripting API [Official]

NavMeshData

参考:

NavMeshData | Unity Scripting API [Official]

FindClosestEdge

参考:

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

アニメーションと同期させる

参考:

ナビメッシュエージェントで足滑りのない移動を実装する | Yucchiy’s Note

NavMeshAgent の挙動を手動でアップデートする | e.blog

アニメーションとナビゲーションの利用 | Unity マニュアル [公式]

NavMesh Agent を他のコンポーネントと共に使う | Unity マニュアル [公式]

物理演算

参考:

NavMesh Agent を他のコンポーネントと共に使う | Unity マニュアル [公式]

プレイヤーの操作に NavMesh を使う

参考:

NavMesh Third Person?? – Unity Forum

壁が検出できない

参考:

Why does my navmesh not stop at this wall? | Unity Answers

Enemy AI keeps walking through walls |Unity Answers

Enemy AI walking through walls – Stack Overflow

NavMesh ビルドコンポーネント

次の4つのコンポーネントを使用するためには、別途パッケージのインストールが必要。

  • NavMeshSurface
  • NavMeshModifier
  • NavMeshModifierVolume
  • NavMeshLink

参考:

Unity-Technologies/NavMeshComponents: High Level API Components for Runtime NavMesh Building – GitHub

NavMesh ビルドコンポーネント | Unity マニュアル [公式]

タグ:

コメントを残す

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