Navigation Mesh(ナビゲーション・メッシュ)
ライトシップ・ナビゲーション・メッシュは、シーン内の平面の上にタイルのグリッドを作成することで、仮想オブジェクトの動きを制御するためのわかりやすいインターフェイスを提供します。 これにより、ARクリーチャーはグリッドを使って空間を自然に移動できるようになり、障害物(テーブルや椅子など)の周りを歩いたり、障害物の上にジャンプしたりできるようになる。
基本的な使い方
前提条件
最高のエクスペリエンスを得るには、UnityシーンでLightship Meshingを有効にして設定してください。 コライダを持つ平面や仮想オブジェクトもナビゲーション・メッシュの作成に使用できますが、最良の結果を得るにはライトシップ・メッシングをお勧めします。
LightshipNavMeshの設定
LightshipNavMeshManager
LightshipNavMeshManager
をシーンに配置すると、利用可能なメッシュに基づいてナビゲーションメッシュが生成されます。 LightshipNavMeshManagerには
、開発者がナビゲーションメッシュを微調整できる設定とスクリプトが付属しています。 パフォーマンスとクオリティのバランスを変更する設定や、歩行可能なスペースを検出する間隔と方法を含んでいる。
例えば、LightshipNavMeshManagerで
タイルサイズを変更すると、グリッドのレイアウトが変わります。 小さなタイルは、パフォーマンスを犠牲にして、より詳細なナビゲーション・メッシュを作成する。 より大きなタイルは、パフォーマンスを向上させるために "歩きやすい "エリアを少なくすることができる。 最適なタイルのサイズは、アプリケーションの特定の要件によって異なります。
便利なスクリプト
LightshipNavMesh には、さまざまなテストや基本的な実装を可能にするデフォルトのスクリプトが 3 つ用意されています: LightshipNavMeshRenderer
、 LightshipNavMeshAgent
、 そしてLightshipNavMeshAgentPathRenderer
の3つです。
LightshipNavMeshRendererを
使用すると、開発者はナビゲーションメッシュをレンダリングして、カスタムビジュアライゼーションを作成できます。 上の例では、このようにタイルが表示されていた。
LightshipNavMeshAgent
は、エージェントを現在地から設定された目的地まで直線で補間するデフォルトのエージェント実装です。 複雑なエージェントの動きを実装するための出発点として役立つ。 ゲームの種類や経験によっては、異なるエージェントの実装が必要になるかもしれません。
LightshipNavMeshAgentPathRenderer
は、エージェントの現在の経路を表示するサンプル経路レンダラーを提供します。
NavMeshサンプルでは、これらのスクリプトを使用して、レンダリングビジュアルをオンにしたメッシュをドティ大尉がナビゲートします。 詳しくは、 サンプルプロジェクトをご覧ください。
ライトシップ・ナビゲーション・メッシュの使用方法については、ナビゲーション・メッシュの追加方法をご覧ください。