本文へスキップ

Navigation Mesh(ナビゲーション・メッシュ)

ライトシップ・ナビゲーション・メッシュは、シーン内の平面の上にタイルのグリッドを作成することで、仮想オブジェクトの動きを制御するためのわかりやすいインターフェイスを提供します。 これにより、ARクリーチャーはグリッドを使って空間を自然に移動できるようになり、障害物(テーブルや椅子など)の周りを歩いたり、障害物の上にジャンプしたりできるようになる。

Dotyを使ったライトシップ・ナビメッシュドティジャンピング付きライトシップ・ナブメッシュ

基本的な使い方

前提条件

最高のエクスペリエンスを得るには、UnityシーンでLightship Meshingを有効にして設定してください。 コライダを持つ平面や仮想オブジェクトもナビゲーション・メッシュの作成に使用できますが、最良の結果を得るにはライトシップ・メッシングをお勧めします。

LightshipNavMeshの設定

LightshipNavMeshManager

LightshipNavMeshManagerをシーンに配置すると、利用可能なメッシュに基づいてナビゲーションメッシュが生成されます。 LightshipNavMeshManagerには、開発者がナビゲーションメッシュを微調整できる設定とスクリプトが付属しています。 パフォーマンスとクオリティのバランスを変更する設定や、歩行可能なスペースを検出する間隔と方法を含んでいる。

Lightship NavMesh Managerの設定

例えば、LightshipNavMeshManagerでタイルサイズを変更すると、グリッドのレイアウトが変わります。 小さなタイルは、パフォーマンスを犠牲にして、より詳細なナビゲーション・メッシュを作成する。 より大きなタイルは、パフォーマンスを向上させるために "歩きやすい "エリアを少なくすることができる。 最適なタイルのサイズは、アプリケーションの特定の要件によって異なります。

ライトシップ・ナビゲーション・メッシュとデフォルト・タイルサイズ大きなタイルサイズのライトシップ・ナビメッシュ

便利なスクリプト

LightshipNavMesh には、さまざまなテストや基本的な実装を可能にするデフォルトのスクリプトが 3 つ用意されています: LightshipNavMeshRendererLightshipNavMeshAgent、 そしてLightshipNavMeshAgentPathRendererの3つです。


LightshipNavMeshRendererを使用すると、開発者はナビゲーションメッシュをレンダリングして、カスタムビジュアライゼーションを作成できます。 上の例では、このようにタイルが表示されていた。

Lightship NavMesh Renderer

LightshipNavMeshAgentは、エージェントを現在地から設定された目的地まで直線で補間するデフォルトのエージェント実装です。 複雑なエージェントの動きを実装するための出発点として役立つ。 ゲームの種類や経験によっては、異なるエージェントの実装が必要になるかもしれません。

Lightship NavMesh Agent

LightshipNavMeshAgentPathRendererは、エージェントの現在の経路を表示するサンプル経路レンダラーを提供します。

Lightship NavMesh Agent Path Renderer

NavMeshサンプルでは、これらのスクリプトを使用して、レンダリングビジュアルをオンにしたメッシュをドティ大尉がナビゲートします。 詳しくは、 サンプルプロジェクトをご覧ください。

ライトシップ・ナブメッシュとドティ、デバッグ用レンダラー

ライトシップ・ナビゲーション・メッシュの使用方法については、ナビゲーション・メッシュの追加方法をご覧ください。