本日は技術調査枠です。
実を言うと、おいかけっこアプリについて今月中には一旦コミットとしてしまいたいと考えています。
そして、一つだけ本アプリで試しておきたい技術があります、NavMesh です。
今回はその NavMesh の技術について学習します。
以下の記事を参考にします。
tarukosu.hatenablog.com
以下の NavMeshComponents リポジトリをサンプルとして利用します。
github.com
最終的な目標は、おいかけっこアプリへの反映を行うことです。
しかし、まずは技術の理解のため、新プロジェクトを作成して記事に沿う形で進めます。
まずは新規プロジェクトを作成します。
次に、HoloToolkitをインポートします。
Main Camera を削除し、以下のプレハブを追加します。
・HoloLensCamera
・InputManager
・CursorWithFeedback
・SpatialMapping
NavMeshComponents に入っている以下のスクリプトをインポートします。
・LocalNavMeshBuilder.cs
・NavMeshSourceTag.cs
NavigationManager オブジェクトを作成し、先ほどの LocalNavMeshBuilder.cs をアタッチします。
新たに SpatialMappingNavMesh.cs というスクリプトファイルを作成します。
コード内容は参考記事の SpatialMappingNavMesh.cs を参照ください。
SpatialMapping のSurfaceオブジェクトにNavMeshSourceTagをアタッチする処理を行います。
作成した SpatialMappingNavMesh.cs を NavigationManager オブジェクトにアタッチします。
Inspector タブの SpatialMapping に SpatialMapping オブジェクトを設定します
メニューから Windows -> Navigation で Navigation タブを開きます。
その中の Agents 設定を開き、移動物の大きさや乗り越えられる高さの設定を行います。
設定を行い、シーンを再生してみると……。
移動可能な範囲が水色でマッピングされました。成功です。
次回は NavMesh を用いたキャラクタの移動を試してみます。
bluebirdofoz.hatenablog.com