テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

NavMeshの使い方 その1

Unity3.5の新機能、「NavMesh」に挑戦するヨ!
なにやらTwitterをUnityで検索したところ、この機能がすごいらしいので色々といじってみた。


■NavMeshとは何ぞや?

NavMeshとは、キャラクターをゴールに向けて移動させる仕組みみたいなものらしい。
障害物を避けて移動したり、ゴールへの最適な移動ルートを判断させる処理。

上手く言葉で説明できない。
現物見たほうが早いので、こちらの動画を見るヨロシ。

http://www.youtube.com/watch?v=8fMPjl7QJDw

■どうやって使う?

NavMeshを使うには、大きく分けて2つの手順が必要。

1.マップを作り、NavmeshをBakeする。(通れるルートを設定する)
2.キャラクターを設定し、Navmesh Agentを付与する(移動の設定)

ただ今回は面倒だったので、マップ作成→キャラクター設定→Navemesh関連の順で作ってみた。
では、さっそく作っていきませう。

■マップを作り、キャラクターとゴールを配置

何はともあれ、マップが無いと話にならないのでマップ作成。
当たり判定持ちのブロックを適当につなぎあわせればOK。

ただNavmeshのルートに使いたいObjectはStatic設定が必要っぽい。
Staticの設定はInspectorにあるので、そこでStaticにチェックを入れる

マップ作


次にキャラクターとゴールを配置。
キャラクターはNavmeshの機能で動くオブジェクト、ゴールは移動先。

ちなみにこのキャラクター、空Objectを作成して中にメッシュを配置しとります。
というのも、NavMeshをオブジェクトに直接適応すると、地面に半分めりこむっぽいとです。
なのでメッシュを半径分浮かす必要があるので、一旦空のオブジェクトに差し込んどります。
うまい方法があれば、また別途。

キャラクター

思ったより長くなったので分割しま

調査対象を募集中 フォローボタン