どうも、チャーさんです。
あなたは、Unityで敵に徘徊させたいですか?
であればこの記事を読んでください。
読めば、Unityで敵に徘徊させることができるようになります。
ですがこの記事を読まないと、敵に徘徊させられずに
イライラしてしまうでしょう。
ということで、Unityで敵を徘徊させたければ、
このまま記事を読んでください。
動画はこちら
Unityで敵を徘徊させる方法
ということで本題です。
Unityで敵を徘徊させる方法ですが、
それには、
new Vector3でランダムな座標を作り、
navMeshAgentでそこに移動させる。
そしてそれを繰り返す。
それをすれば可能です。
ということで説明していきます。
ランダムな座標を生成する
まずnew Vector3でランダムな座標を作るですが、
敵を徘徊させるには、
ランダムな座標地点を生成し、
敵オブジェクトがそこのランダムな座標に到達したら、
次のランダムな座標に移動させる。
ということを繰り返せば可能なわけです。
なので、まずはnew Vector3でランダムな座標を作りましょう。
それをするためのコードとしては、
var randomPos = new Vector3(Random.Range(0,60),0,Random.Range(0,60));
と1行書けばokです。
このコードを書くことで、
ランダムな座標を生成することができます。
一応補足しておくと、
Random.Range()というメソッドで、
ランダムな数値を生成することができます。
例えば、Random.Range(0,60)ならば、
0~59までの数値がランダムに生成され、
それぞれ、x軸、z軸にランダムな数値が入るわけです。
例
1回目
var randomPos = new Vector3(1,0,12);
2回目
var randomPos = new Vector3(9,0,16);
みたいな感じです。
で、こうやってランダムな座標を生成したら、
あとは、NavMeshAgentを使って、
そこの座標に敵オブジェクトを移動させればOKです。
で、次にNavMeshAgentに関しての説明ですが、
それはこちらの記事でどうぞ。
また、NavMeshとnavMeshAgentを設定できたら、
あとは以下のコードを書き、そのスクリプトを
敵オブジェクトに引っ付ければ、完成です。
Unityで敵を徘徊させるコード
コードは以下です。
コードに関する詳しい補足説明は、
以下の記事
で詳しく説明しています。
このコードは、new vector3でランダムに座標を
生成する部分あたり以外は、上記の記事で紹介した
コードとほとんど一緒です。
なのでコードの1つ1つの仕組みを理解したければ、
そちらの記事をご参照ください。
まとめ
ということでまとめに入ります。
Unityで敵を巡回させたければ、
new Vector3()でランダムな座標を生成しましょう。
そしてNavMeshAgentを使用し、
そこに向かって敵オブジェクトを移動させましょう。
そしてあとはそれを何度も繰り返しましょう。
そうすることで、Unityで敵を徘徊させることが可能です。
ということで、是非やってみてください。
でわ、これで本記事は以上です。
読んでいただきありがとうございました。
それでわ。
チャーさん