しっぽを追いかけて

ぐるぐるしながら考えています

Unity と猫の話題が中心   掲載内容は個人の私見であり、所属組織の見解ではありません

Unity 2021.2 の NavMesh Building を 2D Tilemap で強引に使いたい

※ これは 2021/11/05 時点の Unity 2021.2.0f1 の情報です

最新版では動作が異なる可能性がありますのでご注意ください

前回は新しい NavMesh Building で 2D の NavMesh を作ろうとして見事に失敗

matatabi-ux.hateblo.jp

それでも何か方法はないかということで、無理やり以前に利用した NavMesh Compentnt 2D のソースを強引に使ってみたい

matatabi-ux.hateblo.jp

以前のように下記 NavMeshComponents の 2D 対応ブランチをダウンロード

Unity-Technologies / NavMeshComponents

圧縮ファイルを解凍したら、中の Assets/NavMeshComponents/Scripts にある NavMeshBuilder2D.csNavMeshSourceTag2D.cs の2つを Unity のプロジェクト内にコピーする

2つの Script だけコピー

とりあえず NavMeshComponents ディレクトリを作ってそこに置いた

NavMeshComponents ディレクトリにコピー

まずは Tilemap に NavMesh Source Tag 2D コンポーネントをアタッチ

NavMesh Source Tag 2D

次に NavMeshBuilderNavMesh Builder 2D コンポーネントをアタッチ

NavMesh Builder 2D

Bake ボタンが出ない・・・しょうがないので Bake On Enable にチェックを入れて実行時に NavMesh を生成するようにする

最後に Navigation ウィンドウの Agent タグで Radius の値を調整・・・以前よりも大きめの 0.15

NavMesh Agent の Radius 調整

これで動かしてみると・・・

強引に

ウゴイタァァァァ!!

ちゃんと NavMesh も生成されていた

生成された NavMesh

これで一応新しい NavMesh Builder でも 2D の NavMesh が使えそう・・・正式対応はいつですか?