ついてくるmobについて
MobをAssetStoreからもってきてフィールドに置いたが、動かなくてどうすればいいのかわからない。という人に向けて書いていきます。(初心者向け)
順序としては
- 動いてほしいフィールドに対して、NavMeshというものをBakeする。
- 動かしたいいもの(Mob)に対してNav Mesh Agentというものをアタッチする。
- 行動(移動)に関するスクリプトを書く。
- Mobにscriptをくっつける。
おそらく、初心者にはわからない単語もあると思うので、一つ一つ書いていきたいと思います。
1.まず、左上のメニューからWindowをクリック、出てきた中のNavigationをクリック。
そうするとNavigationタブというのが右に表示されるので下にあるBakeというボタンをクリック。
するとエリアに青い面が現れるのでこれがMobの移動範囲になる。
上のBakeというところをクリックすると詳細設定画面にできるので、そこで行動範囲を制限したい場 合、調整できる。
2.MobをMob選択し、右に出てくる詳細のAddComponentを押して、Nav Mesh Agentというものを探し
てクリック。
3.行動に関するscriptを書く
このようなscriptを書いてください。
POINT1.using Unity.Engine.AI;を忘れずに
これはtargetについてくるAIのようなもの。と考えればOK。
POINT2.target(追われるもの)の宣言
これを書かないと、Update以下に書いてあるtargetがエラーを起こしてしまいます。
POINT3.void Update以下
一文目でNavMeshAgent(2番でAddComponentAddComponentしたもの)をagentとして考えて
二文目でagent(Mob)のスピードを設定
三文目でtargetを座標に向かって行く設定(*startに入れると最初の一回だけ試行するので、 そういう設定をしたい人はvoid start以降に入れてみると良い)
4.Mobniscriptをくっつける
Mobに、書いたscriptをドラック&ドロップ
これで完成!
ちなみにこのやり方だと、地面がないとだめなので、ミサイルなどに追尾機能を入れたいのならば、ほかに色々考える必要がある。